Hi,

 

I am using the TI MPEG4 encoder in my codec engine server, as well as a
home-brew codec. My codec uses quite a bit of DMA to shift things around
and this works fine if the MPEG4 codec is not running.

 

As soon as VIDENC_process for the MPEG4 codec is called, all subsequent
DMA operations in my codec freeze up, hanging in ACPY3_wait(). I have
dumped out the values of all variables in the IDMA3_Obj at startup
(during dmaInit) and then before I call ACPY3_wait - they are all
identical.

 

Anybody got any clues as to what might be happening... I would expect
that the MPEG4 codec is well tested enough such that it doesn't mess up
the DMA so it must be something wrong with my codec's DMA handling, or
the configuration of my codec server.

 

FYI the DMA config is as follows:

 

var DMAN3 = xdc.useModule('ti.sdo.fc.dman3.DMAN3');

DMAN3.heapInternal = "L1DHEAP";

DMAN3.heapExternal = "DDR";

DMAN3.paRamBaseIndex = 78;

DMAN3.numQdmaChannels = 8;

DMAN3.qdmaChannels = [0,1,2,3,4,5,6,7];

DMAN3.numPaRamEntries = 48;

DMAN3.numPaRamGroup[0] = 48;

DMAN3.tccAllocationMaskL = 0;

DMAN3.tccAllocationMaskH = 0xff;

DMAN3.numTccGroup[0] = 8;

 

My codec uses 8 DMA channels, all of which are declared as scratch. By
dumping out the contents of dmaInit, my handles are all good and
everything works just great until VIDENC_process is called for the MPEG4
codec.

 

Thanks in advance as usual!

Ben

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to