大家好:
最近在做关于DM8168的项目,使用的demo是vdec_vdis,也就是A8核从.ini文件获取了比特流,然后传给M3 Video核进行解码,最后再传到M3 vpss进行HDMI显示。现在有以下问题想请教下:
1.A8核的IPC_BITS_OUT link获取了比特流数据,数据流信息保存在*pListElem指针中,然后将其压入到listMP队列的尾部,相关代码为status = ListMP_putTail(pObj->listMPOutHndl, (ListMP_Elem *) pListElem);IPC_BITS_OUT link的next link是M3 Video核上的IPC_BITS_IN link,该link需要获取原来存放有比特流信息的指针,而它为什么是从listMP队列的首部获得的?listMP队列和link的输入队列,输出队列有什么区别呢?
相关代码为pListElem = ListMP_getHead(pObj->listMPOutHndl);IpcBitsInLink_getBitBuf(pObj, pListElem, &pBitBuf);
2.解码后数据存放在*addr【0】【0】指向的区域,在原来的模式下实现的是将该指针传给A8核,并由A8核调用PCIe传输数据至C6678进行一些处理再将处理后的数据传回来。而现在我想做成ping-pong buffer的模式,也就是想新传一个指针(不是原来的*addr【0】【0】)至A8核用于接收C6678处理完成的数据,想请问下这该怎么实现?
希望能得到各位的指教,谢谢。