TI中文支持网
TI专业的中文技术问题搜集分享网站

8168 中能否从 link中获取帧数据并发送到ARM中。

开发环境 DVRRDK3.5, DM8168。

我在LInux下实现了捕捉GPIO中断的程序,并且实现了视频的采集、播放、ALG等link的创建、运行。现在程序可以成功运行,并将采集的图像送入到DSP中进行处理。

现在的需求是,我想在捕捉到GPIO中断时,获取一张当前时间某一个link的中的帧数据。我找了下demo,没有找到相应的代码实现。

请专家看一下,给出点建议。

peng cheng2:

回复 Eason Wang:

Eason Wang, 我成功的获取到了帧数据。但是将帧数据写成文件后,通过YUV工具查看 存的图像完全不对。图像本来该是彩色的,我仿照demo写入得出下面的结果。

从vpss出来的帧格式应该为YUV420SP。

我的存储代码如下:

for(frameId = 0; frameId < frameBufList.numFrames; frameId++){pFrame = &frameBufList.frames[frameId];framesizeY = pFrame->frameWidth * pFrame->frameHeight ;//Y planarframesizeU = pFrame->frameWidth * pFrame->frameHeight / 2;//UV planarpMemVirtAddrY = NULL;OSA_mapMem((UInt32)pFrame->phyAddr[0][0], framesizeY, &pMemVirtAddrY);if(pMemVirtAddrY)fwrite((Ptr)pMemVirtAddrY, framesizeY, 1, fp);OSA_unmapMem(pMemVirtAddrY, framesizeY);pMemVirtAddrU = NULL;OSA_mapMem((UInt32)pFrame->phyAddr[0][1], framesizeU, &pMemVirtAddrU);if(pMemVirtAddrU)fwrite((Ptr)pMemVirtAddrU, framesizeU, 1, fp);OSA_unmapMem(pMemVirtAddrU, framesizeU);}
存储后用yuvtools播放的图像是:
 
Chris Meng:

回复 peng cheng2:

你好,

一般工具显示的YUV420是planar的,你把UV数据再分开存储一下,然后看看显示是否正常?

peng cheng2:

回复 Chris Meng:

感谢你的回复,这个问题已经解决了。

原因是我使用的yuvtool的解析帧图像时不是semiplanar。

赞(0)
未经允许不得转载:TI中文支持网 » 8168 中能否从 link中获取帧数据并发送到ARM中。
分享到: 更多 (0)