This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

你好!

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

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

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

还请明示指教,谢谢!

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

望不吝赐教,谢谢!!

  • 你好,

    你看看下面的文章是否有帮助?

    http://blog.csdn.net/guo8113/article/details/20149191

  • 从网站上下载了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数据吧
  • 好吧,自己搞错了,hello例子是码流数据处理,va是帧数据处理,两个不能直接链,还要改些代码才行