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

8168获取解码后的YUV数据

   

    各位专家好! 有个问题请教一下。目前我们想在解码端输出1920×2160的分辨率,我们解码1920×2160的数据后,通过link  SYSTEM_VIDEO_LINK_ID_IPC_FRAMES_OUT_0和SYSTEM_HOST_LINK_ID_IPC_FRAMES_IN_0回传

到A8的host上,然后我将数据保存了,发现图像是乱的,看起来好像不是SYSTEM_DF_YUV420SP_UV 格式的数据,见附件,我保存了一帧YUV 数据,这个

是1920×1080的,按我的想法H,264解码完应该出来就是SYSTEM_DF_YUV420SP_UV的数据,不知道是不是这样?期待您的回复,谢谢!

nanaw:

请问下你这一帧的YUV数据在什么地方读取?比如具体的结构体,函数,内存的首地址等等

sheng xie:

回复 nanaw:

   我是通过这样的方式,解码后数据通过  SYSTEM_VIDEO_LINK_ID_IPC_FRAMES_OUT_0从video 出来,结构体为IpcFramesOutLinkRTOS_CreateParams,再通过SYSTEM_HOST_LINK_ID_IPC_FRAMES_IN_0进入A8,使用的结构体为IpcFramesInLinkHLOS_CreateParams,然后在回调函数中使用IpcFramesInLink_getFullVideoFrames来获取YUV数据, 填充数据的结构体为VIDFrame_BufList  vidBufList;基本上是这些,您看有问题没?

nanaw:

回复 sheng xie:

跟你类似,只不过我是在DSP端去一帧的数据,也是类似于结构体为VIDFrame_BufList  vidBufList的结构体FVID2_Frame *pFrame;    FVID2_FrameList frameList;数据肯定是在这个结构体里面,只是现在还不知道一帧的YUV数据的首地址以及大小,不晓得你是在结构体里面那个成员去数据的

sheng xie:

回复 nanaw:

   那仁兄,你那边现在是可以取到正确的YUV数据吗?

sheng xie:

回复 nanaw:

    因为是解码,解码出来应该是YUV420SP格式的数据, 所以是这样取得数据 从 pBuf->phyAddr[0][0] 取Y数据,从  pBuf->phyAddr[0][1]取UV 数据,但就是这样取的数据显示出来就不对,按我的想法,应该就是这样的. 仁兄你的现在可以取到正确的数据没?

nanaw:

回复 sheng xie:

我现在数据是知道在什么地方,而且把pFrame->addr【0】【0】更改之后也有相应的改变,但是把pFrame->addr【0】【1】或者pFrame->addr【1】【0】更改之后没有反应,所以现在还不是很清楚哪个是Y,哪个是UV。出现这种现象可能跟你的一样,有可能UV数据没有正确的取出来。

sheng xie:

回复 nanaw:

    是的,但是根据结构体的描述,yuv420SP 的UV 数据应该就是从pFrame->addr【0】【1】来获取的, TI 的专家都不在吗,难道就不能回复一下?

nanaw:

回复 sheng xie:

你看一下你memcpy的长度,如果是全帧的长度,是否说明你的数据保存格式不是YUV420SP格式?

zhul huang:

你好,我现在遇到,读取不到解码后的数据问题。我小哈了我的RDK源码,发现里面没有SYSTEM_VIDEO_LINK_ID_IPC_FRAMES_OUT_0和SYSTEM_HOST_LINK_ID_IPC_FRAMES_IN_0宏,想了解一下这个宏是你自己加的还是你的RDK里面本来就有?你RDK版本号是多少?

lucky2:

回复 nanaw:

您好

请问你保存yuv420的图像对了没?

是如何保存的?

8168 DVR下显示的时候是不是都转为yuv422i才能显示吗?我看link图解里 最后的马赛克link里写的都是yuv422i的啊

赞(0)
未经允许不得转载:TI中文支持网 » 8168获取解码后的YUV数据
分享到: 更多 (0)