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?希望您指点我一下,谢谢!!