Hello TI teams,
I have a problem with dvr_rdk for DM8168 when my algorithm runs on slave (DSP) processor.
DSP_ALG link connected to chain by DSP_IPC_FRAMES_IN link and recieves captured video - read from input video queue buffers list and start
process these buffers. I tried to print pointers to the frame buffers and received result which I can not explain:
[c6xdsp ] [CH00] pInFrame->addr[0][0] = 1200dc0
[c6xdsp ] [CH01] pInFrame->addr[0][0] = 903c80
[c6xdsp ] [CH05] pInFrame->addr[0][0] = 12018c0
[c6xdsp ] [CH11] pInFrame->addr[0][0] = 1203440
[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2d00b00
[c6xdsp ] [CH04] pInFrame->addr[0][0] = 9023c0
[c6xdsp ] [CH06] pInFrame->addr[0][0] = 902680
[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1e60
[c6xdsp ] [CH08] pInFrame->addr[0][0] = 2401b80
[c6xdsp ] [CH09] pInFrame->addr[0][0] = 1b01080
[c6xdsp ] [CH12] pInFrame->addr[0][0] = 24039c0
[c6xdsp ] [CH13] pInFrame->addr[0][0] = 2400dc0
[c6xdsp ] [CH15] pInFrame->addr[0][0] = 2403440
[c6xdsp ] [CH00] pInFrame->addr[0][0] = 900000
[c6xdsp ] [CH01] pInFrame->addr[0][0] = 903700
[c6xdsp ] [CH02] pInFrame->addr[0][0] = 31a0
[c6xdsp ] [CH03] pInFrame->addr[0][0] = 900dc0
[c6xdsp ] [CH10] pInFrame->addr[0][0] = 1b01600
[c6xdsp ] [CH05] pInFrame->addr[0][0] = 1201080
[c6xdsp ] [CH11] pInFrame->addr[0][0] = 2403180
[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2d002c0
[c6xdsp ] [CH02] pInFrame->addr[0][0] = 18e0
[c6xdsp ] [CH03] pInFrame->addr[0][0] = 26a0
[c6xdsp ] [CH04] pInFrame->addr[0][0] = 39e0
[c6xdsp ] [CH06] pInFrame->addr[0][0] = 1202100
[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1202940
[c6xdsp ] [CH08] pInFrame->addr[0][0] = 24023c0
[c6xdsp ] [CH09] pInFrame->addr[0][0] = 2401340
[c6xdsp ] [CH10] pInFrame->addr[0][0] = 1203700
[c6xdsp ] [CH12] pInFrame->addr[0][0] = 2d00dc0
[c6xdsp ] [CH13] pInFrame->addr[0][0] = 2d00580
[c6xdsp ] [CH15] pInFrame->addr[0][0] = 2400b00
[c6xdsp ] [CH00] pInFrame->addr[0][0] = 9039c0
[c6xdsp ] [CH01] pInFrame->addr[0][0] = 903180
[c6xdsp ] [CH05] pInFrame->addr[0][0] = 1200000
[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2401e40
[c6xdsp ] [CH04] pInFrame->addr[0][0] = 901080
[c6xdsp ] [CH06] pInFrame->addr[0][0] = 1202ec0
[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1202680
[c6xdsp ] [CH08] pInFrame->addr[0][0] = 2d00000
[c6xdsp ] [CH09] pInFrame->addr[0][0] = 1b00000
[c6xdsp ] [CH11] pInFrame->addr[0][0] = 1b00580
[c6xdsp ] [CH12] pInFrame->addr[0][0] = 24002c0
[c6xdsp ] [CH13] pInFrame->addr[0][0] = 1b002c0
[c6xdsp ] [CH15] pInFrame->addr[0][0] = 1b02940
[c6xdsp ] [CH00] pInFrame->addr[0][0] = 1200b00
[c6xdsp ] [CH01] pInFrame->addr[0][0] = 9018c0
[c6xdsp ] [CH02] pInFrame->addr[0][0] = 902100
[c6xdsp ] [CH03] pInFrame->addr[0][0] = 10a0
[c6xdsp ] [CH05] pInFrame->addr[0][0] = 9002c0
[c6xdsp ] [CH10] pInFrame->addr[0][0] = 12039c0
[c6xdsp ] [CH14] pInFrame->addr[0][0] = 1b00840
[c6xdsp ] [CH11] pInFrame->addr[0][0] = 2400000
[c6xdsp ] [CH02] pInFrame->addr[0][0] = 902c00
[c6xdsp ] [CH03] pInFrame->addr[0][0] = 12023c0
[c6xdsp ] [CH04] pInFrame->addr[0][0] = 903440
[c6xdsp ] [CH06] pInFrame->addr[0][0] = 3ca0
[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1ba0
[c6xdsp ] [CH08] pInFrame->addr[0][0] = 1203180
[c6xdsp ] [CH09] pInFrame->addr[0][0] = 2402680
[c6xdsp ] [CH10] pInFrame->addr[0][0] = 1b023c0
[c6xdsp ] [CH12] pInFrame->addr[0][0] = 2402940
[c6xdsp ] [CH13] pInFrame->addr[0][0] = 1b03700
[c6xdsp ] [CH15] pInFrame->addr[0][0] = 1b01340
[c6xdsp ] [CH00] pInFrame->addr[0][0] = 1201340
[c6xdsp ] [CH01] pInFrame->addr[0][0] = 900840
[c6xdsp ] [CH05] pInFrame->addr[0][0] = b20
[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2d02100
[c6xdsp ] [CH04] pInFrame->addr[0][0] = 901b80
[c6xdsp ] [CH06] pInFrame->addr[0][0] = 2120
[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1200580
[c6xdsp ] [CH08] pInFrame->addr[0][0] = 1b00b00
[c6xdsp ] [CH09] pInFrame->addr[0][0] = 2d01b80
[c6xdsp ] [CH11] pInFrame->addr[0][0] = 2402100
[c6xdsp ] [CH12] pInFrame->addr[0][0] = 1b039c0
[c6xdsp ] [CH13] pInFrame->addr[0][0] = 1b01b80
[c6xdsp ] [CH15] pInFrame->addr[0][0] = 24018c0
[c6xdsp ] [CH00] pInFrame->addr[0][0] = 2960
[c6xdsp ] [CH01] pInFrame->addr[0][0] = de0
[c6xdsp ] [CH02] pInFrame->addr[0][0] = 1201600
[c6xdsp ] [CH03] pInFrame->addr[0][0] = 1360
[c6xdsp ] [CH05] pInFrame->addr[0][0] = 20
[c6xdsp ] [CH10] pInFrame->addr[0][0] = 2d01080
[c6xdsp ] [CH14] pInFrame->addr[0][0] = 2400840
[c6xdsp ] [CH06] pInFrame->addr[0][0] = 900b00
[c6xdsp ] [CH07] pInFrame->addr[0][0] = 1200dc0
[c6xdsp ] [CH11] pInFrame->addr[0][0] = 2401b80
[c6xdsp ] [CH00] pInFrame->addr[0][0] = 903c80
[c6xdsp ] [CH01] pInFrame->addr[0][0] = 31a0
[c6xdsp ] [CH02] pInFrame->addr[0][0] = 2ee0
[c6xdsp ] [CH03] pInFrame->addr[0][0] = 9023c0
etc...
I think instead of valid pointer to the frame buffer I recieves from MCFW (IPC link) "garbadge". I can't explain, how these adresses "correllate" with device memory map.
I think that DSP IPC FRAME IN link isn't properly fill FrameInfo structure.
Please help me resolve this problem. How I can get valid (real!) pointer to the frame buffer.
Regards!