hi, all: i',m packaging an video decode algorithm using XDAIS on davinci, and i have successfully packaged it without DMA. i'm using codec enging 1.02 and xdais 5.00. i followd the example in codec_enging1.02/codecs/viddec_copy, and the videnc_copy example to add DMA functions, i wander if there are someone that have the same experience using ACPY3, i want to ask some questions. thanks , in advance, for any reply. xiongjie
problem using ACPY3
Started by ●January 8, 2008
Reply by ●January 9, 20082008-01-09
the question is this: i'm developing an video decode algorithm, after the decode of one frame, i need to move the decoded YUV422 data from one position to another. i wrote a test program to test the effect typedef struct VIDDECCOPY_TI_Obj { IALG_Obj alg; IDMA3_Handle avsdmaHandle1D1D8B; } VIDDECCOPY_TI_Obj; extern far Int EXTDDRHEAP; extern far Int L1DHEAP; extern far Int EXTMEMHEAP; ACPY3_Params avsp; IVIDDEC_Handle avsHandle; void main() { IDMA3_ChannelRec avsdmaTab; VIDDECCOPY_TI_Obj *avsh=(VIDDECCOPY_TI_Obj *)avsHandle; DMAN3_PARAMS.heapInternal = L1DHEAP; DMAN3_PARAMS.heapExternal = EXTDDRHEAP; DMAN3_init(); ACPY3_init(); avsdmaTab.numTransfers = 1; avsdmaTab.numWaits = 1; avsdmaTab.priority = IDMA3_PRIORITY_LOW; avsdmaTab.protocol = &ACPY3_PROTOCOL; avsdmaTab.persistent = FALSE; status = DMAN3_createChannels(0, &avsdmaTab, 1); if (status == DMAN3_SOK ) { avsh->avsdmaHandle1D1D8B = avsdmaTab.handle; } else { SYS_abort("Channel creeate failed. Status: %d\n", status); } i link the evm board, dowload the out file, and run step by step by F10 however, in the avsh->avsdmaHandle1D1D8B = avsdmaTab.handle i see the avsdmaTab.handle=0x11F04000 after this step, avsh->avsdmaHandle1D1D8B = random i know this is not a STANDARD call , but i just don't know how to debug and trace in linux. any advise for this problem? thanks xiongjie