Hi,
I am working on a gstreamer resizer pluging based on the EDMA hardware for a DM365-based board. I got it working but I am experimenting an issue. The details are as follows:
When using a preview pipeline from a camera sensor to a LCD scaling the video from 480P to 320x240 using this resizer it works correctly with a 30fps video output.
When I recorded a video file in H264 with a resolution of 480P and play it back to the LCD using the resizer to fit the video to the screen there is a random issue that causes the video to start shaking. That only happens when decoding the video and resizing it at the same time so my first guess is it could be due to a EDMA conflict. I am using chained transfers on the resizer. If I change this resizer for the dmairesizer I didn't get this issue but for me it is critical to get this edma resizer working properly.
I tried to find out where are defined the range of EDMA sets to be used by the dmai plugins on the dvsdk byt I didn't found it. I know some architectures such as DM6446 has a config file with a definition like this
DMAN3.paRamBaseIndex = 80; // 1st EDMA3 PaRAM set available for DMAN3
DMAN3.numQdmaChannels = 8; // number of device's QDMA channels to use
DMAN3.qdmaChannels = [0,1,2,3,4,5,6,7]; // QDMA channels to use
DMAN3.numPaRamEntries = 48; // # of PaRAM sets exclusively used by DMAN
DMAN3.numPaRamGroup[0] = 48; // # of PaRAM sets for scratch group 0
DMAN3.numTccGroup[0] = 32; // # of TCCs assigned to scratch group 0
DMAN3.tccAllocationMaskL = 0; // bitmask indicating which TCCs 0..31 to use
DMAN3.tccAllocationMaskH = 0xffffffff; // assign all TCCs 32..63 for DMAN
So in this case it could be possible to reserve the 48 entries in the dm6446.c file in order to prevent the kernel to use those entries.
I have found those links but I haven't got any solution yet:
http://e2e.ti.com/support/embedded/linux/f/354/t/96241.aspx#339195
http://e2e.ti.com/support/embedded/linux/f/354/t/140290.aspx?PageIndex=1
Anyway this is just an idea I want to try but as I said I am not completely sure if there is a conflict with the DMA channels. I will appreciate any help on this issue.
Best Regards,
Marco.