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.

Haijun Guo 老师请进,DM8148中关于dsp的问题向您请教



Haijun Guo

        您好!目前我在DM8148中做ipnc的开发,ipnc_rdk是3.5的版本,我想将camera link中的的图像传送到dsp中进行处理,其中数据的流是:camera link-->dup link-->ipcFramesOut link-->ipcFramesIn link-->VA link ,但是我发现数据帧到底dsp后发生了变化,后来跟踪代码发现,从camera link中过来的数据到ipcFramesOut link中都是正确的 ,但是到了ipcFramesIn link 后数据帧就会发生变化,开始我认为可能的原因是ipcFramesOut link中进行了跳帧,可是在不跳帧的情况下,数据帧也不同,而且,很怪异的是,前8帧数据是一样的,之后的数据就会发生变化,我想请问您一下,造成这种现象的可能原因有哪些?希望您能给我点建议!

  • ipcFramesOut link 和 ipcFramesIn link之间是怎么连接的? 应当是:ipcFramesOut link 的 processLink 是ipcFramesIn link(DSP)。

    前8帧数据一样,这个是正确的吗?我感觉是buffer队列满了之后出现了数据变化。有没有什么地方分配8个buffer的?

  •   感谢Haijun Guo的回复,ipcFramesOut link 与ipcFramesIn link的连接是参考的usescase,应该是没有问题的,代码如下:

                              /* IPC Frames Out VPSS for VA link params */
      ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkId = dupId[SCALER_DUP_IDX];
      ipcFramesOutVpssPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;
      ipcFramesOutVpssPrm.baseCreateParams.notifyPrevLink = TRUE;
      ipcFramesOutVpssPrm.baseCreateParams.inputFrameRate = 30;
      ipcFramesOutVpssPrm.baseCreateParams.outputFrameRate = 30;

      ipcFramesOutVpssPrm.baseCreateParams.numOutQue = 1;
      ipcFramesOutVpssPrm.baseCreateParams.outQueParams[0].nextLink = ipcFramesInDspId;
      ipcFramesOutVpssPrm.baseCreateParams.notifyNextLink = TRUE;

      ipcFramesOutVpssPrm.baseCreateParams.processLink = SYSTEM_LINK_ID_INVALID;
      ipcFramesOutVpssPrm.baseCreateParams.notifyProcessLink = FALSE;
      ipcFramesOutVpssPrm.baseCreateParams.noNotifyMode = FALSE;

      /* IPC Frames in DSP for VA link params */
      ipcFramesInDspPrm.baseCreateParams.inQueParams.prevLinkId = ipcFramesOutVpssId;
      ipcFramesInDspPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;
      ipcFramesInDspPrm.baseCreateParams.numOutQue   = 1;
      ipcFramesInDspPrm.baseCreateParams.outQueParams[0].nextLink = gVsysModuleContext.vaId;
      ipcFramesInDspPrm.baseCreateParams.notifyPrevLink = TRUE;
      ipcFramesInDspPrm.baseCreateParams.notifyNextLink = TRUE;
      ipcFramesInDspPrm.baseCreateParams.noNotifyMode   = FALSE;

  • 另外,我又将camera link 、ipcframesout link 和ipcframesIn link中的图像数据打印出来,发现了一些现象:所以的打印中camera link与ipcFramesOut link中的数据一致,

    但是在ipcFramesIn link中前9帧(0到8帧)数据与前两者一致,之后凡是8的倍数的帧与前两者一致,偶尔也有不是8的倍数的帧与前两者一致,但是不多(对100帧进行分析)。

    具体的打印结果我整理后如下:其中每3行为一组数据,分别对应,ipcFramesIn 、Camera与IpcFramesOut,count 后面的值表示是第几帧,紧随其后的[]里的值是打印的帧的首地址之后的第一个字节与第二个字节的值,用来对比在三个link中是否图像发生变化,最后的十六进制数是帧的首地址。

    其中我最疑惑的是,对于一帧图像,在camera link 、ipcframesout link以及ipcframesIn link中都是对应一个缓存,但是为什么到了ipcframesIn link后数据就发生了变化,请您帮我分析一下原因

    [c6xdsp ]  ---->>      10963: ipcFramesIn : count:0,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      11088: Camera : count:0,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      11088: ipcFramesOut : count:0,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba3d4480

     [m3vpss ]  ---->>      11168: Camera : count:1,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     [c6xdsp ]  ---->>      11043: ipcFramesIn : count:1,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      11168: ipcFramesOut : count:1,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     
     [c6xdsp ]  ---->>      11123: ipcFramesIn : count:2,[1: 17, 2: 17 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      11248: Camera : count:2,[1: 17, 2: 17 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      11248: ipcFramesOut : count:2,[1: 17, 2: 17 ],pFrame->addr[0][0]:ba9c8080

     [c6xdsp ]  ---->>      11203: ipcFramesIn : count:3,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      11328: Camera : count:3,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      11328: ipcFramesOut : count:3,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80

     [c6xdsp ]  ---->>      11283: ipcFramesIn : count:4,[1: 10, 2: 10 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      11408: Camera : count:4,[1: 10, 2: 10 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      11408: ipcFramesOut : count:4,[1: 10, 2: 10 ],pFrame->addr[0][0]:bafbbc80
     
     [c6xdsp ]  ---->>      11443: ipcFramesIn : count:5,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      11568: Camera : count:5,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      11568: ipcFramesOut : count:5,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80

     [c6xdsp ]  ---->>      11523: ipcFramesIn : count:6,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      11648: Camera : count:6,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      11648: ipcFramesOut : count:6,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880

     [c6xdsp ]  ---->>      11603: ipcFramesIn : count:7,[1: 22, 2: 22 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      11728: Camera : count:7,[1: 22, 2: 22 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      11728: ipcFramesOut : count:7,[1: 22, 2: 22 ],pFrame->addr[0][0]:bb8a9680

     [c6xdsp ]  ---->>      11683: ipcFramesIn : count:8,[1: 23, 2: 23 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      11808: Camera : count:8,[1: 23, 2: 23 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      11808: ipcFramesOut : count:8,[1: 23, 2: 23 ],pFrame->addr[0][0]:ba3d4480

     [c6xdsp ]  ---->>      11763: ipcFramesIn : count:9,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      11888: Camera : count:9,[1: 24, 2: 24 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      11888: ipcFramesOut : count:9,[1: 24, 2: 24 ],pFrame->addr[0][0]:ba6ce280

     [c6xdsp ]  ---->>      11923: ipcFramesIn : count:10,[1: 17, 2: 17 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      12048: Camera : count:10,[1: 13, 2: 13 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      12048: ipcFramesOut : count:10,[1: 13, 2: 13 ],pFrame->addr[0][0]:ba9c8080

     [c6xdsp ]  ---->>      12003: ipcFramesIn : count:11,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      12128: Camera : count:11,[1: 13, 2: 13 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      12128: ipcFramesOut : count:11,[1: 13, 2: 13 ],pFrame->addr[0][0]:bacc1e80


     [c6xdsp ]  ---->>      12083: ipcFramesIn : count:12,[1: 10, 2: 10 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      12208: Camera : count:12,[1: 14, 2: 14 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      12208: ipcFramesOut : count:12,[1: 14, 2: 14 ],pFrame->addr[0][0]:bafbbc80

     [c6xdsp ]  ---->>      12163: ipcFramesIn : count:13,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      12288: Camera : count:13,[1: 14, 2: 13 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      12288: ipcFramesOut : count:13,[1: 14, 2: 13 ],pFrame->addr[0][0]:bb2b5a80

     [c6xdsp ]  ---->>      12243: ipcFramesIn : count:14,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      12368: Camera : count:14,[1: 13, 2: 12 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      12368: ipcFramesOut : count:14,[1: 13, 2: 12 ],pFrame->addr[0][0]:bb5af880


     [c6xdsp ]  ---->>      12363: ipcFramesIn : count:15,[1: 22, 2: 22 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      12488: Camera : count:15,[1: 11, 2: 10 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      12488: ipcFramesOut : count:15,[1: 11, 2: 10 ],pFrame->addr[0][0]:bb8a9680

     [c6xdsp ]  ---->>      12403: ipcFramesIn : count:16,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      12528: Camera : count:16,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      12528: ipcFramesOut : count:16,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480

     [c6xdsp ]  ---->>      12443: ipcFramesIn : count:17,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      12568: Camera : count:17,[1: 82, 2: 82 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      12568: ipcFramesOut : count:17,[1: 82, 2: 82 ],pFrame->addr[0][0]:ba6ce280

     [c6xdsp ]  ---->>      12483: ipcFramesIn : count:18,[1: 17, 2: 17 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      12608: Camera : count:18,[1: 73, 2: 76 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      12608: ipcFramesOut : count:18,[1: 73, 2: 76 ],pFrame->addr[0][0]:ba9c8080

     [c6xdsp ]  ---->>      12523: ipcFramesIn : count:19,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      12648: Camera : count:19,[1: 77, 2: 76 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      12648: ipcFramesOut : count:19,[1: 77, 2: 76 ],pFrame->addr[0][0]:bacc1e80

     
     
     [c6xdsp ]  ---->>      12563: ipcFramesIn : count:20,[1: 10, 2: 10 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      12688: Camera : count:20,[1: 80, 2: 80 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      12688: ipcFramesOut : count:20,[1: 80, 2: 80 ],pFrame->addr[0][0]:bafbbc80

     [c6xdsp ]  ---->>      12603: ipcFramesIn : count:21,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      12728: Camera : count:21,[1: 77, 2: 76 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      12728: ipcFramesOut : count:21,[1: 77, 2: 76 ],pFrame->addr[0][0]:bb2b5a80

     [c6xdsp ]  ---->>      12643: ipcFramesIn : count:22,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      12768: Camera : count:22,[1: 79, 2: 79 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      12768: ipcFramesOut : count:22,[1: 79, 2: 79 ],pFrame->addr[0][0]:bb5af880

     [c6xdsp ]  ---->>      12683: ipcFramesIn : count:23,[1: 22, 2: 22 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      12808: Camera : count:23,[1: 80, 2: 81 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      12808: ipcFramesOut : count:23,[1: 80, 2: 81 ],pFrame->addr[0][0]:bb8a9680


     
     [c6xdsp ]  ---->>      12723: ipcFramesIn : count:24,[1: 81, 2: 82 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      12848: Camera : count:24,[1: 81, 2: 82 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      12848: ipcFramesOut : count:24,[1: 81, 2: 82 ],pFrame->addr[0][0]:ba3d4480

     [c6xdsp ]  ---->>      12763: ipcFramesIn : count:25,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      12888: ipcFramesOut : count:25,[1: 81, 2: 80 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      12888: Camera : count:25,[1: 81, 2: 80 ],pFrame->addr[0][0]:ba6ce280

     [c6xdsp ]  ---->>      12803: ipcFramesIn : count:26,[1: 17, 2: 17 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      12928: Camera : count:26,[1: 78, 2: 81 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      12928: ipcFramesOut : count:26,[1: 78, 2: 81 ],pFrame->addr[0][0]:ba9c8080

     [c6xdsp ]  ---->>      12843: ipcFramesIn : count:27,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      12968: Camera : count:27,[1: 77, 2: 77 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      12968: ipcFramesOut : count:27,[1: 77, 2: 77 ],pFrame->addr[0][0]:bacc1e80

     [c6xdsp ]  ---->>      12883: ipcFramesIn : count:28,[1: 10, 2: 10 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      13008: Camera : count:28,[1: 77, 2: 77 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      13008: ipcFramesOut : count:28,[1: 77, 2: 77 ],pFrame->addr[0][0]:bafbbc80

     [c6xdsp ]  ---->>      12923: ipcFramesIn : count:29,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      13048: Camera : count:29,[1: 79, 2: 79 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      13048: ipcFramesOut : count:29,[1: 79, 2: 79 ],pFrame->addr[0][0]:bb2b5a80

     [c6xdsp ]  ---->>      12963: ipcFramesIn : count:30,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      13088: Camera : count:30,[1: 77, 2: 76 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      13088: ipcFramesOut : count:30,[1: 77, 2: 76 ],pFrame->addr[0][0]:bb5af880

     [c6xdsp ]  ---->>      13003: ipcFramesIn : count:31,[1: 22, 2: 22 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      13128: Camera : count:31,[1: 77, 2: 76 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      13128: ipcFramesOut : count:31,[1: 77, 2: 76 ],pFrame->addr[0][0]:bb8a9680

     [c6xdsp ]  ---->>      13043: ipcFramesIn : count:32,[1: 77, 2: 77 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      13168: Camera : count:32,[1: 77, 2: 77 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      13168: ipcFramesOut : count:32,[1: 77, 2: 77 ],pFrame->addr[0][0]:ba3d4480


     
     [c6xdsp ]  ---->>      13083: ipcFramesIn : count:33,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      13208: Camera : count:33,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      13208: ipcFramesOut : count:33,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba6ce280

     [c6xdsp ]  ---->>      13123: ipcFramesIn : count:34,[1: 17, 2: 17 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      13248: Camera : count:34,[1: 77, 2: 76 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      13248: ipcFramesOut : count:34,[1: 77, 2: 76 ],pFrame->addr[0][0]:ba9c8080

     [c6xdsp ]  ---->>      13163: ipcFramesIn : count:35,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      13288: Camera : count:35,[1: 82, 2: 82 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      13288: ipcFramesOut : count:35,[1: 82, 2: 82 ],pFrame->addr[0][0]:bacc1e80

     [c6xdsp ]  ---->>      13203: ipcFramesIn : count:36,[1: 77, 2: 76 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      13328: Camera : count:36,[1: 77, 2: 76 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      13328: ipcFramesOut : count:36,[1: 77, 2: 76 ],pFrame->addr[0][0]:bafbbc80
     
     [c6xdsp ]  ---->>      13243: ipcFramesIn : count:37,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      13368: Camera : count:37,[1: 79, 2: 81 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      13368: ipcFramesOut : count:37,[1: 79, 2: 81 ],pFrame->addr[0][0]:bb2b5a80

     [c6xdsp ]  ---->>      13283: ipcFramesIn : count:38,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      13408: Camera : count:38,[1: 76, 2: 73 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      13408: ipcFramesOut : count:38,[1: 76, 2: 73 ],pFrame->addr[0][0]:bb5af880

     [c6xdsp ]  ---->>      13323: ipcFramesIn : count:39,[1: 22, 2: 22 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      13448: Camera : count:39,[1: 76, 2: 75 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      13448: ipcFramesOut : count:39,[1: 76, 2: 75 ],pFrame->addr[0][0]:bb8a9680

     [c6xdsp ]  ---->>      13363: ipcFramesIn : count:40,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      13488: Camera : count:40,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      13488: ipcFramesOut : count:40,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480

     [c6xdsp ]  ---->>      13403: ipcFramesIn : count:41,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      13528: Camera : count:41,[1: 80, 2: 81 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      13529: ipcFramesOut : count:41,[1: 80, 2: 81 ],pFrame->addr[0][0]:ba6ce280

     

     [c6xdsp ]  ---->>      13443: ipcFramesIn : count:42,[1: 17, 2: 17 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      13568: Camera : count:42,[1: 78, 2: 78 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      13568: ipcFramesOut : count:42,[1: 78, 2: 78 ],pFrame->addr[0][0]:ba9c8080


     [c6xdsp ]  ---->>      13483: ipcFramesIn : count:43,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      13608: Camera : count:43,[1: 82, 2: 82 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      13608: ipcFramesOut : count:43,[1: 82, 2: 82 ],pFrame->addr[0][0]:bacc1e80

     [c6xdsp ]  ---->>      13523: ipcFramesIn : count:44,[1: 77, 2: 76 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      13648: Camera : count:44,[1: 79, 2: 79 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      13648: ipcFramesOut : count:44,[1: 79, 2: 79 ],pFrame->addr[0][0]:bafbbc80

     [c6xdsp ]  ---->>      13563: ipcFramesIn : count:45,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      13688: Camera : count:45,[1: 74, 2: 78 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      13688: ipcFramesOut : count:45,[1: 74, 2: 78 ],pFrame->addr[0][0]:bb2b5a80

     [c6xdsp ]  ---->>      13603: ipcFramesIn : count:46,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      13728: Camera : count:46,[1: 81, 2: 80 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      13728: ipcFramesOut : count:46,[1: 81, 2: 80 ],pFrame->addr[0][0]:bb5af880

     [c6xdsp ]  ---->>      13643: ipcFramesIn : count:47,[1: 22, 2: 22 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      13768: Camera : count:47,[1: 80, 2: 79 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      13768: ipcFramesOut : count:47,[1: 80, 2: 79 ],pFrame->addr[0][0]:bb8a9680

     [c6xdsp ]  ---->>      13683: ipcFramesIn : count:48,[1: 78, 2: 77 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      13808: Camera : count:48,[1: 78, 2: 77 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      13808: ipcFramesOut : count:48,[1: 78, 2: 77 ],pFrame->addr[0][0]:ba3d4480
     
     [c6xdsp ]  ---->>      13723: ipcFramesIn : count:49,[1: 30, 2: 30 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      13848: Camera : count:49,[1: 78, 2: 79 ],pFrame->addr[0][0]:ba6ce280
     [m3vpss ]  ---->>      13848: ipcFramesOut : count:49,[1: 78, 2: 79 ],pFrame->addr[0][0]:ba6ce280

     [c6xdsp ]  ---->>      13763: ipcFramesIn : count:50,[1: 82, 2: 79 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      13888: Camera : count:50,[1: 82, 2: 79 ],pFrame->addr[0][0]:ba9c8080
     [m3vpss ]  ---->>      13888: ipcFramesOut : count:50,[1: 82, 2: 79 ],pFrame->addr[0][0]:ba9c8080

     [m3vpss ]  ---->>      13928: Camera : count:51,[1: 79, 2: 79 ],pFrame->addr[0][0]:bacc1e80
     [m3vpss ]  ---->>      13928: ipcFramesOut : count:51,[1: 79, 2: 79 ],pFrame->addr[0][0]:bacc1e80
     [c6xdsp ]  ---->>      13803: ipcFramesIn : count:51,[1: 10, 2: 10 ],pFrame->addr[0][0]:bacc1e80

     [m3vpss ]  ---->>      13968: Camera : count:52,[1: 80, 2: 80 ],pFrame->addr[0][0]:bafbbc80
     [c6xdsp ]  ---->>      13843: ipcFramesIn : count:52,[1: 77, 2: 76 ],pFrame->addr[0][0]:bafbbc80
     [m3vpss ]  ---->>      13968: ipcFramesOut : count:52,[1: 80, 2: 80 ],pFrame->addr[0][0]:bafbbc80

     [c6xdsp ]  ---->>      13883: ipcFramesIn : count:53,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      14008: Camera : count:53,[1: 76, 2: 74 ],pFrame->addr[0][0]:bb2b5a80
     [m3vpss ]  ---->>      14008: ipcFramesOut : count:53,[1: 76, 2: 74 ],pFrame->addr[0][0]:bb2b5a80

     [c6xdsp ]  ---->>      13923: ipcFramesIn : count:54,[1: 10, 2: 10 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      14048: Camera : count:54,[1: 81, 2: 80 ],pFrame->addr[0][0]:bb5af880
     [m3vpss ]  ---->>      14048: ipcFramesOut : count:54,[1: 81, 2: 80 ],pFrame->addr[0][0]:bb5af880

     
     [c6xdsp ]  ---->>      13963: ipcFramesIn : count:55,[1: 78, 2: 77 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      14088: Camera : count:55,[1: 78, 2: 77 ],pFrame->addr[0][0]:bb8a9680
     [m3vpss ]  ---->>      14088: ipcFramesOut : count:55,[1: 78, 2: 77 ],pFrame->addr[0][0]:bb8a9680

     [c6xdsp ]  ---->>      14003: ipcFramesIn : count:56,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      14128: Camera : count:56,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480
     [m3vpss ]  ---->>      14128: ipcFramesOut : count:56,[1: 80, 2: 80 ],pFrame->addr[0][0]:ba3d4480

  • 可以检查一下DUP link另外一支数据通路是否有修改buffer内容的操作,因为buffer的指针在DUP的各个出口分支都是一样的。

  • 感谢Haijun Guo的回复,在dup link后分了两路,其中一路是:dup link-->ipcFramesOut link-->ipcFramesIn link-->VA link;另外一路是:dup link-->scaler link-->FD link ;您说有可能是dup link 的另一路修改了buffer的内容,可是在ipcFramesOut link中数据都还是正确的,这个是否能说明另一路并没有对ipcframesIn link造成影响呢?

    在我想把到fd link的那条数据流去掉,但是去掉后程序起不来,但是我在usescase中去掉其他的模块却不会出现这种情况,也希望您帮我分析一下原因

  • 建议你在duplink后面直接接一个null link,先不要sclr 以及FD。

    或者干脆去掉dup,再测试,用来缩小问题范围

  • 我在改动数据流时,原来就打算去掉fd link那条链,但是去了之后,程序就不能起来,后来我逐步的缩小范围,发现去掉fd link后就会出现程序起不来的现象,我去掉fd link的过程是这样的:将fd link的前驱(scaler link)的outQueParams.nextLink设置为SYSTEM_LINK_ID_INVALID,并将numOutQue 设置为0,然后将于fd link的创建参数去掉,不知这样删除fd link 是不是错误的?如果是错误的我该怎么删掉fd link?希望您指点我一下,谢谢!!