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

请教:DM8127 IPNC DSP核如何移植自己的算法

你好!

我现在使用的是DM8127 IPNC RDK 3.8。

我想在DSP核上移植运行自己的图像视频处理算法,是不是要自己设计一个Link?请问该怎么做?

请问有什么教程、或者文档、或者demo、或者哪个现有的Link?哪个usecase可以参考学习的?

还请明示指教,谢谢!

另外,我看到网友有提到8168这个《DSP Algorithm Integration Guide in IPNC/DVR RDK.pdf》这个文档,我没找到该文档,请问8127可以用吗,该从哪里获取下载到?

望不吝赐教,谢谢!!

cajviewer:

回复 Chris Meng:

从网站上下载了helloworldalg例程,有几个问题想请教下:在三码流例子里面做的修改

1、把该算法加在va之前,如下#if 1/*新增helloworld*/        HelloWorldLink_CreateParams_Init(&helloWorldPrm);        helloWorldPrm.inQueParams.prevLinkId = ipcFramesInDspId;        helloWorldPrm.inQueParams.prevLinkQueId = 0;        helloWorldPrm.outQueParams.nextLink = gVsysModuleContext.vaId;        helloWorldPrm.createOutBuf1 = 1;        helloWorldPrm.numBufsPerCh = 1;#endif  /* VA link params */  VaLink_CreateParams_Init(&vaPrm);#if 0  vaPrm.inQueParams.prevLinkId = ipcFramesInDspId;#else/*va f放在helloWorldId之后*/  vaPrm.inQueParams.prevLinkId = helloWorldId;#endif

  vaPrm.inQueParams.prevLinkQueId = 0;  vaPrm.encLinkId                 = gVencModuleContext.encId;  vaPrm.swosdLinkId    = gVsysModuleContext.swOsdId;  vaPrm.cameraLinkId              = gVcamModuleContext.cameraId;  vaPrm.vaFrameRate               = 20;

/*在link创建环节,增加helloWorld*/    System_linkCreate(helloWorldId, &helloWorldPrm, sizeof(helloWorldPrm));  /* VA link */  System_linkCreate(gVsysModuleContext.vaId, &vaPrm, sizeof(vaPrm));    另外修改了内存大小  LINUX_SIZE 由80M变更为75M  var DSP_CODE_SIZE              = 2*MB;/*原来是1*MB;*/        var DSP_DATA_SIZE              = 14*MB;/*原来是10MB*/                最后出现的现象:        运行到VaLink_create函数中,在        status = Utils_memFrameAlloc(&pObj->bufferFrameFormat, // pFormat                                 pObj->outFrames,          // pFrame                                 VA_LINK_MAX_OUT_FRAMES);  // numFrames        处停止,紧跟着加的打印没有显示        其中bufferFrameFormat=FVID2_DF_YUV420SP_UV,应该是正确的                会是什么问题?

2、算法里面,在初始化HelloWorldLink_init函数里面

        linkObj.linkGetFullFrames   = NULL;        linkObj.linkPutEmptyFrames  = NULL;        linkObj.linkGetFullBitBufs  = HelloWorldLink_getFullBufs;        linkObj.linkPutEmptyBitBufs = HelloWorldLink_putEmptyBufs;        linkObj.getLinkInfo         = HelloWorldLink_getInfo;

     为什么会用linkGetFullBitBufs  和linkPutEmptyBitBufs 这两个?是不是应该用linkGetFullFrames   和linkPutEmptyFrames  ,这个应该是frames数据吧

cajviewer:

回复 cajviewer:

好吧,自己搞错了,hello例子是码流数据处理,va是帧数据处理,两个不能直接链,还要改些代码才行

赞(0)
未经允许不得转载:TI中文支持网 » 请教:DM8127 IPNC DSP核如何移植自己的算法
分享到: 更多 (0)