Hello,everyone:
I have a question about DM6467 QDMA.
Now I have a function: I want to paint a rectangular region of the YUV frame into black, so I set the value Y to 0 by using QDMA 1d -> 2d model, (the source address is a buffer of 0x0 , the destination address is part of the YUV frame), the configuration as follows:
edmaParams.channelNO = channel;
edmaParams.acnt = CoverZones.right - CoverZones.left;
edmaParams.bcnt = CoverZones.bottom - CoverZones.top;
edmaParams.ccnt = 1;
edmaParams.srcBidx = 1;
edmaParams.destBidx = cap_width - CoverZones.right + CoverZones.left;
edmaParams.srcCidx = 0;
edmaParams.destCidx = 0;
edmaParams.srcAddr = CMEM_getPhys(ptr);
edmaParams.destAddr = CMEM_getPhys(yuvstart + CoverZones.top * cap_width + CoverZones.left);
EDMA_setChannelParams(&edmaParams);
the ptr pointer is the source address, the yuvstart pointer is the YUV frame's address, CoverZones structure is the rectangle's coordinate in the YUV frame.
But every time I transfer, I find that only the first row of the rectangle's data changed to 0, the rest is unchanged. I don't know what's the problem ? Can anybody help me,Thanks in advance!