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

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帧数据是一样的,之后的数据就会发生变化,我想请问您一下,造成这种现象的可能原因有哪些?希望您能给我点建议!

Haijun Guo:

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

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

pan hu:

回复 Haijun Guo:

  感谢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;

pan hu:

回复 Haijun Guo:

另外,我又将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

Haijun Guo:

回复 pan hu:

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

pan hu:

回复 Haijun Guo:

感谢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中去掉其他的模块却不会出现这种情况,也希望您帮我分析一下原因

Haijun Guo:

回复 pan hu:

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

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

pan hu:

回复 Haijun Guo:

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

赞(0)
未经允许不得转载:TI中文支持网 » Haijun Guo 老师请进,DM8148中关于dsp的问题向您请教
分享到: 更多 (0)