Hi everyone, I am working in developing AV player in DM642 environment and Using the QDMA option for moving pixel data between onchip and external memory.The QDMA deals with now 8 bit element size.I had seen some where in the TI manuals that use of 32 bit element size will lead to optimization.But all is needed to transfer 8 bit pixel data for processing..Then how to optimize the data transfer? On finding the CPU usuage , the display shows 100%.IS there any way to list QDMA's or like chaining two or more QDMA instants and decrease the processing time? Kindly someone let me know the possibilities to effectively use QDMA .. I am not an expert in c64x stuff.It will be of a great help if someone shows off good start for me to tackle this.. Thanks in advance, Rama
How to use couple many QDMA's?
Started by ●June 29, 2007
Reply by ●July 9, 20072007-07-09
ramaa wrote:> Hi everyone, > > I am working in developing AV player in DM642 environment and Using the > QDMA option for moving pixel data between onchip and external memory.The > QDMA deals with now 8 bit element size.I had seen some where in the TI > manuals that use of 32 bit element size will lead to optimization.But all > is needed to transfer 8 bit pixel data for processing..Then how to > optimize the data transfer? > > On finding the CPU usuage , the display shows 100%.IS there any way to > list QDMA's or like chaining two or more QDMA instants and decrease the > processing time? > > Kindly someone let me know the possibilities to effectively use QDMA .. > > I am not an expert in c64x stuff.It will be of a great help if someone > shows off good start for me to tackle this.. > > Thanks in advance, > > RamaIf your pixel data is 8-bit then you should set the QDMA size to 32-bit and do num_pixels/4 transfers. That way the QDMA will better utilize the internal buses when transferring data. If you're calling DAT_copy to utilize the QDMA make sure that your code does other processing while the QDMA is doing the transfer. If your code sits there waiting for the QDMA to complete then you might as well be doing a memcpy. This generally takes a little planning. That is, you want to start the QDMA fetching data for your next loop iteration while you are doing the processing for the current loop iteration. This generally involves being double-buffered for your processing.