This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

h264encoder(eval) hangs on omap3530

Other Parts Discussed in Thread: OMAP3530

Hi!

I created a DSP Codec Server with the evaluation-h264encoder and decoder from the  dvsdk_3_00_00_13.

Are there any issues when using them both within one Codec Server?

When I run a test, with the encoder alone it works perfectly fine. When running the decoder as well, the system hangs after a certain amount of time.

Interestingly, if the same video-input-file is used, the encoder hangs after the same number of input frames.

I attached a trace from the codec-engine starting from the penultimate Encode-call until the system hangs. I guess, it's the ARM waiting for a message from DSP.

regards,

flo


---- ENCODE

@26,178,741us: [+0 T:0x4001dfa0 S:0xbe8140a4] ti.sdo.ce.video.VIDENC - VIDENC_process> Enter (handle=0x4e038, inBufs=0xbe814210, outBufs=0xbe814204, inArgs=0x
, outArgs=0xbe81415c)
@26,178,894us: [+5 T:0x4001dfa0 S:0xbe81403c] CV - VISA_allocMsg> Allocating message for messageId=0x000309ca
@26,178,955us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferPhysicalAddress> Enter(virtAddr=0x417bf000, size=202752)
@26,178,985us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> Enter(virtAddr=0x417bf000, size=202752)
@26,179,046us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> found in cb(Sc=0x417bf000, Ec=0x417f0800, Ss=0x417bf000, Es=0x417f0800, PSc=0x8
@26,179,107us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> returning physAddr=0x862ec000
@26,179,138us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferPhysicalAddress> return (0x862ec000)
@26,179,199us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferPhysicalAddress> Enter(virtAddr=0x418bf000, size=202752)
@26,179,229us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> Enter(virtAddr=0x418bf000, size=202752)
@26,179,290us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> found in cb(Sc=0x418bf000, Ec=0x418f0800, Ss=0x418bf000, Es=0x418f0800, PSc=0x8
@26,179,351us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> returning physAddr=0x8608f000
@26,179,382us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferPhysicalAddress> return (0x8608f000)
@26,179,443us: [+0 T:0x4001dfa0 S:0xbe814044] CV - VISA_call(visa=0x4e038, msg=0x412f4880): messageId=0x000309ca, command=0x0
@26,179,504us: [+0 T:0x4001dfa0 S:0xbe81400c] OC - Comm_put> Enter(queue=0x3, msg=0x412f4880)
@26,179,565us: [+0 T:0x4001dfa0 S:0xbe81400c] OC - Comm_put> return (0)
@26,179,626us: [+0 T:0x4001dfa0 S:0xbe814004] OC - Comm_get> Enter(queue=0x10004, msg=0xbe8140bc, timeout=-1)
@26,198,547us: [+0 T:0x4001dfa0 S:0xbe814004] OC - Comm_get> MSGQ_Get() status=0x8000, return (0)
@26,198,638us: [+0 T:0x4001dfa0 S:0xbe813f94] OC - Comm_put> Enter(queue=0x0, msg=0x412f3880)
@26,198,699us: [+0 T:0x4001dfa0 S:0xbe813f94] OC - Comm_put> return (0)
@26,198,760us: [+0 T:0x4001dfa0 S:0xbe813f8c] OC - Comm_get> Enter(queue=0x10003, msg=0xbe81402c, timeout=-1)
@26,199,035us: [+0 T:0x4001dfa0 S:0xbe813f8c] OC - Comm_get> MSGQ_Get() status=0x8000, return (0)
[DSP] @38,794,632tk: [+5 T:0x879a128c S:0x879a624c] CN - NODE> 0x879a0f98(h264enc#1) call(algHandle=0x879a1008, msg=0x87e07880); messageId=0x000309ca
[DSP] @38,794,736tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheInv> Enter(addr=0x862ec000, sizeInBytes=202752)
[DSP] @38,795,033tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheInv> return
[DSP] @38,795,088tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheInv> Enter(addr=0x8608f000, sizeInBytes=202752)
[DSP] @38,795,381tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheInv> return
[DSP] @38,795,435tk: [+0 T:0x879a128c S:0x879a61b4] ti.sdo.ce.video.VIDENC - VIDENC_process> Enter (handle=0x879a1008, inBufs=0x879a625c, outBufs=0x879a6268,
x87e079b8, outArgs=0x87e079bc)
[DSP] @38,795,560tk: [+5 T:0x879a128c S:0x879a6194] CV - VISA_enter(visa=0x879a1008): algHandle = 0x879a1038
[DSP] @38,795,640tk: [+0 T:0x879a128c S:0x879a6174] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Enter(handle=0x879a1038)
[DSP] @38,795,715tk: [+0 T:0x879a128c S:0x879a614c] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Enter (scratchId=0, alg=0x86bf1500)
[DSP] @38,795,793tk: [+2 T:0x879a128c S:0x879a614c] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Last active algorithm 0x86800780, current algorithm to be activated 0
0
[DSP] @38,795,893tk: [+4 T:0x879a128c S:0x879a614c] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Real deactivation of algorithm 0x86800780
[DSP] @38,796,018tk: [+4 T:0x879a128c S:0x879a614c] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Real activation of algorithm 0x86bf1500
[DSP] @38,796,144tk: [+0 T:0x879a128c S:0x879a614c] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Exit
[DSP] @38,796,205tk: [+0 T:0x879a128c S:0x879a6174] ti.sdo.ce.alg.Algorithm - Algorithm_activate> return
[DSP] @38,821,947tk: [+5 T:0x879a128c S:0x879a6194] CV - VISA_exit(visa=0x879a1008): algHandle = 0x879a1038
[DSP] @38,822,054tk: [+0 T:0x879a128c S:0x879a6174] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Enter(handle=0x879a1038)
[DSP] @38,822,135tk: [+0 T:0x879a128c S:0x879a6154] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Enter (scratchId=0, algHandle=0x86bf1500)
[DSP] @38,822,217tk: [+4 T:0x879a128c S:0x879a6154] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Lazy deactivate of algorithm 0x86bf1500
[DSP] @38,822,300tk: [+0 T:0x879a128c S:0x879a6154] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Exit
[DSP] @38,822,360tk: [+0 T:0x879a128c S:0x879a6174] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> return
[DSP] @38,822,428tk: [+0 T:0x879a128c S:0x879a61b4] ti.sdo.ce.video.VIDENC - VIDENC_process> Exit (handle=0x879a1008, retVal=0x0)
[DSP] @38,822,516tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheWb> Enter(addr=0x8608f000, sizeInBytes=202752)
[DSP] @38,822,816tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheWb> return
[DSP] @38,822,869tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheWbInv> Enter(addr=0x86c2ada0, sizeInBytes=119808)
[DSP] @38,823,089tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheWbInv> return
[DSP] @38,823,142tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheWbInv> Enter(addr=0x86c4c290, sizeInBytes=59904)
[DSP] @38,823,282tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheWbInv> return
[DSP] @38,823,335tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheWbInv> Enter(addr=0x86c55190, sizeInBytes=59904)
[DSP] @38,823,477tk: [+0 T:0x879a128c S:0x879a61ec] OM - Memory_cacheWbInv> return
[DSP] @38,823,534tk: [+5 T:0x879a128c S:0x879a624c] CN - NODE> returned from call(algHandle=0x879a1008, msg=0x87e07880); messageId=0x000309ca
[DSP] @38,824,258tk: [+0 T:0x8798f42c S:0x879973e4] CR - processRmsCmd(0x87e068a8, 4056): cmd = 5
[DSP] @38,824,327tk: [+0 T:0x8798f42c S:0x879973e4] CR - remote time = 0x0, trace buffer size = 4032
@26,202,819us: [+0 T:0x4001dfa0 S:0xbe813fc4] CE - Engine_fwriteTrace> returning count [3698]
@26,202,880us: [+0 T:0x4001dfa0 S:0xbe814044] CV - VISA_call Completed: messageId=0x000309ca, command=0x0, return(status=0)
@26,202,941us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferVirtualAddress> Enter(physAddr=0x8608f000, size=202752)
@26,203,918us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> Enter(physAddr=0x8608f000, size=202752)
@26,203,979us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> found in cb(Sc=0x8608f000, Ec=0x860c0800, Ss=0x8608f000, Es=0x860c0800)
@26,204,010us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> returning virtAddr=0x418bf000
@26,204,071us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferVirtualAddress> return (0x418bf000)
@26,204,101us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferVirtualAddress> Enter(physAddr=0x86c2ada0, size=119808)
@26,204,162us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> Enter(physAddr=0x86c2ada0, size=119808)
@26,204,284us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> returning virtAddr=0x0
@26,204,345us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferVirtualAddress> return (0x0)
@26,204,406us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferVirtualAddress> Enter(physAddr=0x86c4c290, size=59904)
@26,204,437us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> Enter(physAddr=0x86c4c290, size=59904)
@26,204,559us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> returning virtAddr=0x0
@26,204,589us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferVirtualAddress> return (0x0)
@26,204,650us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferVirtualAddress> Enter(physAddr=0x86c55190, size=59904)
@26,204,681us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> Enter(physAddr=0x86c55190, size=59904)
@26,204,742us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getVirtualAddress> returning virtAddr=0x0
@26,204,772us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferVirtualAddress> return (0x0)
@26,204,833us: [+5 T:0x4001dfa0 S:0xbe81401c] CV - VISA_freeMsg(0x4e038, 0x412f4880): Freeing message with messageId=0x000309ca
@26,204,895us: [+0 T:0x4001dfa0 S:0xbe8140a4] ti.sdo.ce.video.VIDENC - VIDENC_process> Exit (handle=0x4e038, retVal=0x0)

---- DECODE


@26,205,017us: [+0 T:0x4001dfa0 S:0xbe813fd4] ti.sdo.ce.video.VIDDEC - VIDDEC_process> Enter (handle=0x4d9e8, inBufs=0xbe814094, outBufs=0xbe814088, inArgs=0x
, outArgs=0xbe814148)
@26,205,078us: [+5 T:0x4001dfa0 S:0xbe813f64] CV - VISA_allocMsg> Allocating message for messageId=0x000229ca
@26,205,139us: [+0 T:0x4001dfa0 S:0xbe813f34] OM - Memory_getBufferPhysicalAddress> Enter(virtAddr=0x4179f000, size=610)
@26,205,200us: [+1 T:0x4001dfa0 S:0xbe813f34] OM - Memory__getPhysicalAddress> Enter(virtAddr=0x4179f000, size=610)
@26,205,230us: [+1 T:0x4001dfa0 S:0xbe813f34] OM - Memory__getPhysicalAddress> found in cb(Sc=0x4179f000, Ec=0x417a1800, Ss=0x4179f000, Es=0x4179f262, PSc=0x8
@26,205,291us: [+1 T:0x4001dfa0 S:0xbe813f34] OM - Memory__getPhysicalAddress> returning physAddr=0x867cc000
@26,205,322us: [+0 T:0x4001dfa0 S:0xbe813f34] OM - Memory_getBufferPhysicalAddress> return (0x867cc000)
@26,205,383us: [+0 T:0x4001dfa0 S:0xbe813f34] OM - Memory_getBufferPhysicalAddress> Enter(virtAddr=0x41360000, size=202752)
@26,205,444us: [+1 T:0x4001dfa0 S:0xbe813f34] OM - Memory__getPhysicalAddress> Enter(virtAddr=0x41360000, size=202752)
@26,205,474us: [+1 T:0x4001dfa0 S:0xbe813f34] OM - Memory__getPhysicalAddress> found in cb(Sc=0x41360000, Ec=0x41391800, Ss=0x41360000, Es=0x41391800, PSc=0x8
@26,205,535us: [+1 T:0x4001dfa0 S:0xbe813f34] OM - Memory__getPhysicalAddress> returning physAddr=0x86050000
@26,205,566us: [+0 T:0x4001dfa0 S:0xbe813f34] OM - Memory_getBufferPhysicalAddress> return (0x86050000)
@26,205,627us: [+0 T:0x4001dfa0 S:0xbe813f74] CV - VISA_call(visa=0x4d9e8, msg=0x412f2880): messageId=0x000229ca, command=0x0
@26,205,657us: [+0 T:0x4001dfa0 S:0xbe813f3c] OC - Comm_put> Enter(queue=0x2, msg=0x412f2880)
@26,205,749us: [+0 T:0x4001dfa0 S:0xbe813f3c] OC - Comm_put> return (0)
@26,205,780us: [+0 T:0x4001dfa0 S:0xbe813f34] OC - Comm_get> Enter(queue=0x10002, msg=0xbe813fec, timeout=-1)
@26,213,287us: [+0 T:0x4001dfa0 S:0xbe813f34] OC - Comm_get> MSGQ_Get() status=0x8000, return (0)
@26,213,348us: [+0 T:0x4001dfa0 S:0xbe813ec4] OC - Comm_put> Enter(queue=0x0, msg=0x412f1880)
@26,213,409us: [+0 T:0x4001dfa0 S:0xbe813ec4] OC - Comm_put> return (0)
@26,213,470us: [+0 T:0x4001dfa0 S:0xbe813ebc] OC - Comm_get> Enter(queue=0x10001, msg=0xbe813f5c, timeout=-1)
@26,213,684us: [+0 T:0x4001dfa0 S:0xbe813ebc] OC - Comm_get> MSGQ_Get() status=0x8000, return (0)
[DSP] @38,835,115tk: [+5 T:0x87998f1c S:0x879a0edc] CN - NODE> 0x87998700(h264avcdec#0) call(algHandle=0x879987b8, msg=0x87e05880); messageId=0x000229ca
[DSP] @38,835,221tk: [+0 T:0x87998f1c S:0x879a0e7c] OM - Memory_cacheInv> Enter(addr=0x867cc000, sizeInBytes=610)
[DSP] @38,835,297tk: [+0 T:0x87998f1c S:0x879a0e7c] OM - Memory_cacheInv> return
[DSP] @38,835,354tk: [+0 T:0x87998f1c S:0x879a0e3c] ti.sdo.ce.video.VIDDEC - VIDDEC_process> Enter (handle=0x879987b8, inBufs=0x879a0eec, outBufs=0x879a0ef8,
x87e059b8, outArgs=0x87e059c4)
[DSP] @38,835,482tk: [+5 T:0x87998f1c S:0x879a0e1c] CV - VISA_enter(visa=0x879987b8): algHandle = 0x879987e8
[DSP] @38,835,557tk: [+0 T:0x87998f1c S:0x879a0dfc] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Enter(handle=0x879987e8)
[DSP] @38,835,634tk: [+0 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Enter (scratchId=0, alg=0x86800780)
[DSP] @38,835,713tk: [+2 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Last active algorithm 0x86bf1500, current algorithm to be activated 0
0
[DSP] @38,835,813tk: [+4 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Real deactivation of algorithm 0x86bf1500
[DSP] @38,835,923tk: [+4 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Real activation of algorithm 0x86800780
[DSP] @38,836,040tk: [+0 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Exit
[DSP] @38,836,100tk: [+0 T:0x87998f1c S:0x879a0dfc] ti.sdo.ce.alg.Algorithm - Algorithm_activate> return
[DSP] @38,845,398tk: [+5 T:0x87998f1c S:0x879a0e1c] CV - VISA_exit(visa=0x879987b8): algHandle = 0x879987e8
[DSP] @38,845,509tk: [+0 T:0x87998f1c S:0x879a0dfc] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Enter(handle=0x879987e8)
[DSP] @38,845,588tk: [+0 T:0x87998f1c S:0x879a0ddc] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Enter (scratchId=0, algHandle=0x86800780)
[DSP] @38,845,671tk: [+4 T:0x87998f1c S:0x879a0ddc] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Lazy deactivate of algorithm 0x86800780
[DSP] @38,845,754tk: [+0 T:0x87998f1c S:0x879a0ddc] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Exit
[DSP] @38,845,814tk: [+0 T:0x87998f1c S:0x879a0dfc] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> return
[DSP] @38,845,905tk: [+0 T:0x87998f1c S:0x879a0e3c] ti.sdo.ce.video.VIDDEC - VIDDEC_process> Exit (handle=0x879987b8, retVal=0x0)
[DSP] @38,845,993tk: [+0 T:0x87998f1c S:0x879a0e7c] OM - Memory_cacheWbInv> Enter(addr=0x86050000, sizeInBytes=202752)
[DSP] @38,846,291tk: [+0 T:0x87998f1c S:0x879a0e7c] OM - Memory_cacheWbInv> return
[DSP] @38,846,348tk: [+5 T:0x87998f1c S:0x879a0edc] CN - NODE> returned from call(algHandle=0x879987b8, msg=0x87e05880); messageId=0x000229ca
[DSP] @38,847,014tk: [+0 T:0x8798f42c S:0x879973e4] CR - processRmsCmd(0x87e048a8, 4056): cmd = 5
[DSP] @38,847,084tk: [+0 T:0x8798f42c S:0x879973e4] CR - remote time = 0x0, trace buffer size = 4032
@26,216,674us: [+0 T:0x4001dfa0 S:0xbe813ef4] CE - Engine_fwriteTrace> returning count [2902]
@26,216,735us: [+0 T:0x4001dfa0 S:0xbe813f74] CV - VISA_call Completed: messageId=0x000229ca, command=0x0, return(status=0)
@26,216,796us: [+0 T:0x4001dfa0 S:0xbe813f3c] OM - Memory_getBufferVirtualAddress> Enter(physAddr=0x86050000, size=202752)
@26,216,827us: [+1 T:0x4001dfa0 S:0xbe813f3c] OM - Memory__getVirtualAddress> Enter(physAddr=0x86050000, size=202752)
@26,216,888us: [+1 T:0x4001dfa0 S:0xbe813f3c] OM - Memory__getVirtualAddress> found in cb(Sc=0x86050000, Ec=0x86081800, Ss=0x86050000, Es=0x86081800)
@26,216,949us: [+1 T:0x4001dfa0 S:0xbe813f3c] OM - Memory__getVirtualAddress> returning virtAddr=0x41360000
@26,216,979us: [+0 T:0x4001dfa0 S:0xbe813f3c] OM - Memory_getBufferVirtualAddress> return (0x41360000)
@26,217,041us: [+0 T:0x4001dfa0 S:0xbe813f3c] OM - Memory_getBufferVirtualAddress> Enter(physAddr=0x86050000, size=202752)
@26,217,071us: [+1 T:0x4001dfa0 S:0xbe813f3c] OM - Memory__getVirtualAddress> Enter(physAddr=0x86050000, size=202752)
@26,217,132us: [+1 T:0x4001dfa0 S:0xbe813f3c] OM - Memory__getVirtualAddress> found in cb(Sc=0x86050000, Ec=0x86081800, Ss=0x86050000, Es=0x86081800)
@26,218,017us: [+1 T:0x4001dfa0 S:0xbe813f3c] OM - Memory__getVirtualAddress> returning virtAddr=0x41360000
@26,218,078us: [+0 T:0x4001dfa0 S:0xbe813f3c] OM - Memory_getBufferVirtualAddress> return (0x41360000)
@26,218,109us: [+5 T:0x4001dfa0 S:0xbe813f4c] CV - VISA_freeMsg(0x4d9e8, 0x412f2880): Freeing message with messageId=0x000229ca
@26,218,170us: [+0 T:0x4001dfa0 S:0xbe813fd4] ti.sdo.ce.video.VIDDEC - VIDDEC_process> Exit (handle=0x4d9e8, retVal=0x0)
@26,218,231us: [+0 T:0x4001dfa0 S:0xbe813fcc] ti.sdo.ce.video.VIDDEC - VIDDEC_control> Enter (handle=0x4d9e8, id=0, params=0xbe8141f0, status=0xbe8140a0
@26,218,292us: [+5 T:0x4001dfa0 S:0xbe813fa4] CV - VISA_allocMsg> Allocating message for messageId=0x000229cb
@26,218,383us: [+0 T:0x4001dfa0 S:0xbe813f84] CV - VISA_call(visa=0x4d9e8, msg=0x412f2880): messageId=0x000229cb, command=0x1
@26,218,444us: [+0 T:0x4001dfa0 S:0xbe813f4c] OC - Comm_put> Enter(queue=0x2, msg=0x412f2880)
@26,218,505us: [+0 T:0x4001dfa0 S:0xbe813f4c] OC - Comm_put> return (0)
@26,218,566us: [+0 T:0x4001dfa0 S:0xbe813f44] OC - Comm_get> Enter(queue=0x10002, msg=0xbe813fec, timeout=-1)
@26,219,635us: [+0 T:0x4001dfa0 S:0xbe813f44] OC - Comm_get> MSGQ_Get() status=0x8000, return (0)
@26,219,696us: [+0 T:0x4001dfa0 S:0xbe813ed4] OC - Comm_put> Enter(queue=0x0, msg=0x412f1880)
@26,219,757us: [+0 T:0x4001dfa0 S:0xbe813ed4] OC - Comm_put> return (0)
@26,219,787us: [+0 T:0x4001dfa0 S:0xbe813ecc] OC - Comm_get> Enter(queue=0x10001, msg=0xbe813f6c, timeout=-1)
@26,220,062us: [+0 T:0x4001dfa0 S:0xbe813ecc] OC - Comm_get> MSGQ_Get() status=0x8000, return (0)
[DSP] @38,854,861tk: [+5 T:0x87998f1c S:0x879a0edc] CN - NODE> 0x87998700(h264avcdec#0) call(algHandle=0x879987b8, msg=0x87e05880); messageId=0x000229cb
[DSP] @38,854,968tk: [+0 T:0x87998f1c S:0x879a0e3c] ti.sdo.ce.video.VIDDEC - VIDDEC_control> Enter (handle=0x879987b8, id=0, params=0x87e058b4, status=0x87e05
[DSP] @38,855,080tk: [+5 T:0x87998f1c S:0x879a0e1c] CV - VISA_enter(visa=0x879987b8): algHandle = 0x879987e8
[DSP] @38,855,154tk: [+0 T:0x87998f1c S:0x879a0dfc] ti.sdo.ce.alg.Algorithm - Algorithm_activate> Enter(handle=0x879987e8)
[DSP] @38,855,232tk: [+0 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Enter (scratchId=0, alg=0x86800780)
[DSP] @38,855,311tk: [+2 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Last active algorithm 0x86800780, current algorithm to be activated 0
0
[DSP] @38,855,412tk: [+2 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Activation of algorithm 0x86800780 not required, already active
[DSP] @38,855,502tk: [+0 T:0x87998f1c S:0x879a0dd4] ti.sdo.fc.dskt2 - DSKT2_activateAlg> Exit
[DSP] @38,855,561tk: [+0 T:0x87998f1c S:0x879a0dfc] ti.sdo.ce.alg.Algorithm - Algorithm_activate> return
[DSP] @38,855,634tk: [+5 T:0x87998f1c S:0x879a0e1c] CV - VISA_exit(visa=0x879987b8): algHandle = 0x879987e8
[DSP] @38,855,705tk: [+0 T:0x87998f1c S:0x879a0dfc] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> Enter(handle=0x879987e8)
[DSP] @38,855,783tk: [+0 T:0x87998f1c S:0x879a0ddc] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Enter (scratchId=0, algHandle=0x86800780)
[DSP] @38,855,863tk: [+4 T:0x87998f1c S:0x879a0ddc] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Lazy deactivate of algorithm 0x86800780
[DSP] @38,855,943tk: [+0 T:0x87998f1c S:0x879a0ddc] ti.sdo.fc.dskt2 - DSKT2_deactivateAlg> Exit
[DSP] @38,856,002tk: [+0 T:0x87998f1c S:0x879a0dfc] ti.sdo.ce.alg.Algorithm - Algorithm_deactivate> return
[DSP] @38,856,067tk: [+0 T:0x87998f1c S:0x879a0e3c] ti.sdo.ce.video.VIDDEC - VIDDEC_control> Exit (handle=0x879987b8, retVal=0x0)
[DSP] @38,856,148tk: [+5 T:0x87998f1c S:0x879a0edc] CN - NODE> returned from call(algHandle=0x879987b8, msg=0x87e05880); messageId=0x000229cb
[DSP] @38,856,793tk: [+0 T:0x8798f42c S:0x879973e4] CR - processRmsCmd(0x87e048a8, 4056): cmd = 5
[DSP] @38,856,859tk: [+0 T:0x8798f42c S:0x879973e4] CR - remote time = 0x0, trace buffer size = 4032
@26,222,534us: [+0 T:0x4001dfa0 S:0xbe813f04] CE - Engine_fwriteTrace> returning count [2363]
@26,222,564us: [+0 T:0x4001dfa0 S:0xbe813f84] CV - VISA_call Completed: messageId=0x000229cb, command=0x1, return(status=0)
@26,222,625us: [+5 T:0x4001dfa0 S:0xbe813f8c] CV - VISA_freeMsg(0x4d9e8, 0x412f2880): Freeing message with messageId=0x000229cb
@26,222,686us: [+0 T:0x4001dfa0 S:0xbe813fcc] ti.sdo.ce.video.VIDDEC - VIDDEC_control> Exit (handle=0x4d9e8, retVal=0x0)

---- ENCODE

@26,268,554us: [+0 T:0x4001dfa0 S:0xbe8140a4] ti.sdo.ce.video.VIDENC - VIDENC_process> Enter (handle=0x4e038, inBufs=0xbe814210, outBufs=0xbe814204, inArgs=0x
, outArgs=0xbe81415c)
@26,268,890us: [+5 T:0x4001dfa0 S:0xbe81403c] CV - VISA_allocMsg> Allocating message for messageId=0x000309cb
@26,269,012us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferPhysicalAddress> Enter(virtAddr=0x417bf000, size=202752)
@26,269,287us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> Enter(virtAddr=0x417bf000, size=202752)
@26,269,500us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> found in cb(Sc=0x417bf000, Ec=0x417f0800, Ss=0x417bf000, Es=0x417f0800, PSc=0x8
@26,269,622us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> returning physAddr=0x862ec000
@26,269,836us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferPhysicalAddress> return (0x862ec000)
@26,270,050us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferPhysicalAddress> Enter(virtAddr=0x418bf000, size=202752)
@26,270,233us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> Enter(virtAddr=0x418bf000, size=202752)
@26,270,355us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> found in cb(Sc=0x418bf000, Ec=0x418f0800, Ss=0x418bf000, Es=0x418f0800, PSc=0x8
@26,270,568us: [+1 T:0x4001dfa0 S:0xbe81400c] OM - Memory__getPhysicalAddress> returning physAddr=0x8608f000
@26,270,782us: [+0 T:0x4001dfa0 S:0xbe81400c] OM - Memory_getBufferPhysicalAddress> return (0x8608f000)
@26,270,874us: [+0 T:0x4001dfa0 S:0xbe814044] CV - VISA_call(visa=0x4e038, msg=0x412f4880): messageId=0x000309cb, command=0x0
@26,271,087us: [+0 T:0x4001dfa0 S:0xbe81400c] OC - Comm_put> Enter(queue=0x3, msg=0x412f4880)
@26,271,331us: [+0 T:0x4001dfa0 S:0xbe81400c] OC - Comm_put> return (0)
@26,271,545us: [+0 T:0x4001dfa0 S:0xbe814004] OC - Comm_get> Enter(queue=0x10004, msg=0xbe8140bc, timeout=-1)
--- GOT STUCK HERE

 

  • Hi,

    We tried H.264 Encode+decode setup in the latest OMAP DVSDK 3.00.0023 with H.264 Dec version 2.01.001 and H.264 Enc version 2.01.003.

    Separate Encode and Decode threads in DVTB ran overnight test successfully. Also simultaneous Encode and decode in two different threads are also running without any issues.

    Can you try H.264 Enc+ Dec with the above setup, please make sure both Encoder and decoder share the same group Id

     

    Ansari

  • Hi!

    I guess that there is something wrong with my codecserver-configuration. I'm using different threads for encode and decode as you are doing.

    I'm not using the DVTB, but did it similiar as demonstrated within the TI-examples.

    I'm using the dvsdk 3_00_00_13 and the Evaluation-Codecs contained within.

    I'm building the codecserver under linux, using cg6x 6.0.16.

    I attached, my cfg and tcf files for the server.

    The cmem-module is setup with: insmod cmemk.ko phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000

    Interestingly, always the encoder gets stuck, when running simultaneously with the decoder.

    Do you use the Evaluation-Codecs as well?

     

    Any help is appreciated.

    regards

    flo

     

    // ---------------------------------------------------------------------------------------------------------------

             my .cfg- file

    // ---------------------------------------------------------------------------------------------------------------

    /* set up OSAL */
    var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
    osalGlobal.runtimeEnv = osalGlobal.DSPLINK_BIOS;
    osalGlobal.traceBufferSize = 0x40000;

    /* configure default memory seg id to BIOS-defined "DDR" */
    osalGlobal.defaultMemSegId = "DDR2";

    /* Enable DSP-side BIOS logging */
    var LogServer = xdc.useModule('ti.sdo.ce.bioslog.LogServer');
    environment['xdc.cfg.check.fatal'] = 'false';
    /*
     *  ======== Server Configuration ========
     */
    var Server = xdc.useModule('ti.sdo.ce.Server');
    Server.threadAttrs.stackSize = 32768;

    // var MPEG4ENC = xdc.useModule('ti.sdo.codecs.mpeg4enc.ce.MPEG4ENC');
    var H264ENC  = xdc.useModule('ti.sdo.codecs.h264enc.ce.H264ENC');
    var H264VDEC   = xdc.useModule('ti.sdo.codecs.h264avcdec.ce.H264AVCDEC');
    var JPEGDEC    = xdc.useModule('ti.sdo.codecs.jpegdec.ce.JPEGDEC');

    H264ENC.alg.codeSection  = "DDR2";
    H264ENC.alg.dataSection  = "DDR2";
    H264ENC.alg.udataSection = "DDR2";

    H264VDEC.alg.codeSection  = "DDR2";
    H264VDEC.alg.dataSection  = "DDR2";
    H264VDEC.alg.udataSection = "DDR2";
    H264VDEC.alg.fastMemSection = "SL2SRAM";

    JPEGDEC.alg.codeSection  = "DDR2";
    JPEGDEC.alg.dataSection  = "DDR2";
    JPEGDEC.alg.udataSection = "DDR2";



    H264VDEC.manageOutBufsCache = [ false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false ];

    Server.algs = [
        {name: "h264avcdec", mod: H264VDEC, threadAttrs: {
            stackMemId: 0, priority: Server.MINPRI + 1,stackSize: 32768}, groupId : 0,
        },
        {name: "h264enc", mod: H264ENC, threadAttrs: {
            stackMemId: 0, priority: Server.MINPRI + 1}, groupId : 0,
        },
        {name: "jpegdec", mod: JPEGDEC, threadAttrs: {
            stackMemId: 0, priority: Server.MINPRI + 1}, groupId : 0,
        },
    ];




    /*
     *  ======== DSKT2 and RMAN Configuration ========
     *  XDAIS Algorithm Memory and DMA allocation
     */
        var DSKT2 = xdc.useModule('ti.sdo.fc.dskt2.DSKT2');

        DSKT2.DARAM0     = "L1DHEAP";
        DSKT2.DARAM1     = "L1DHEAP";
        DSKT2.DARAM2     = "L1DHEAP";
        DSKT2.SARAM0     = "L1DHEAP";
        DSKT2.SARAM1     = "L1DHEAP";
        DSKT2.SARAM2     = "L1DHEAP";
        DSKT2.ESDATA     = "DDRALGHEAP";
        DSKT2.IPROG      = "L1DHEAP";
        DSKT2.EPROG      = "DDRALGHEAP";
        DSKT2.DSKT2_HEAP = "DDR2";    /* to allocate internal DSKT2 object */     
        DSKT2.trace = true;
        DSKT2.debug = true;

        DSKT2.ALLOW_EXTERNAL_SCRATCH = false;
        DSKT2.DARAM_SCRATCH_SIZES = [ 65536, 65536, 0,0,0,0,0, /* ... */ 0 ];
        DSKT2.SARAM_SCRATCH_SIZES = [ 65536, 65536, 0,0,0,0,0, /* ... */ 0 ];


    /*
     *  ======== DMAN3 (DMA manager) configuration ========
     */
        var DMAN3 = xdc.useModule('ti.sdo.fc.dman3.DMAN3');

        DMAN3.heapInternal    = "L1DHEAP";
        DMAN3.heapExternal    = "DDRALGHEAP";
        DMAN3.idma3Internal   = false;
        DMAN3.scratchAllocFxn = "DSKT2_allocScratch";
        DMAN3.scratchFreeFxn  = "DSKT2_freeScratch";

        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]; // choice of QDMA channels to use
        DMAN3.numPaRamEntries    = 48;  // number of PaRAM sets exclusively used by DMAN
        DMAN3.numPaRamGroup[0]   = 48;  // number of PaRAM sets for scratch group 0
        DMAN3.numTccGroup[0]     = 32;  // number of TCCs assigned to scratch group 0
        DMAN3.tccAllocationMaskL = 0;   // bit mask indicating which TCCs 0..31 to use
        DMAN3.tccAllocationMaskH = 0xffffffff; // assign all TCCs 32..63 for DMAN
        DMAN3.debug =true;
        DMAN3.trace =true;

    // ---------------------------------------------------------------------------------------------------------------

             my .tcf- file

    // ---------------------------------------------------------------------------------------------------------------

    var platform = environment["config.platform"];
    print("platform   = " + platform);


    /*
     * Setup platform-specific memory map:
     */


    var mem_ext = [
    {
        comment:    "DDRALGHEAP: off-chip memory for dynamic algmem allocation",
        name:       "DDRALGHEAP",
        base:       0x86800000,
        len:        0x01000000,
        space:      "code/data"
    },
    {
        comment:    "DDR2: off-chip memory for application code and data",
        name:       "DDR2",
        base:       0x87800000,
        len:        0x00600000,
        space:      "code/data"
    },
    {
        comment:    "DSPLINK: off-chip memory reserved for DSPLINK code and data",
        name:       "DSPLINKMEM",
        base:       0x87E00000,
        len:        0x00100000,
        space:      "code/data"
    },
    {
        comment:    "RESET_VECTOR: off-chip memory for the reset vector table",
        name:       "RESET_VECTOR",
        base:       0x87F00000,
        len:        0x00001000,
        space:      "code/data"
    },
    {
        comment:    "L4CORE: L4-Core Interconnect Address Space",
        name:       "L4CORE",
        base:       0x48000000,
        len:        0x01000000,
        space:      "data"
    },
    {
        comment:    "L4PER: L4-Peripheral Interconnect Address Space",
        name:       "L4PER",
        base:       0x49000000,
        len:        0x00100000,
        space:      "data"
    },
    ];

    if (platform == "ti.platforms.evm3530") {
        var device_regs = {
            l1PMode: "32k",
            l1DMode: "16k",
            l2Mode: "64k",
            l1DHeapSize: 0
        };

        var params = {
            clockRate: 430,
            catalogName: "ti.catalog.c6000",
            deviceName: "3530",
            regs: device_regs,
            mem: mem_ext
        };
    }

    /*
     * Now customize the generic platform with parameters specified above.
     */
    utils.loadPlatform("ti.platforms.generic", params);

    /*  ===========================================================================
     *  Enable heaps and tasks
     *  ===========================================================================
     */
    bios.enableMemoryHeaps(prog);
    bios.enableTskManager(prog);

    /*  ===========================================================================
     *  Create heaps in memory segments that are to have heap
     *  ===========================================================================
     */
    bios.DDR2.createHeap = true;
    bios.DDR2.heapSize   = 0x20000; // 128K

    bios.DDRALGHEAP.createHeap = true;
    bios.DDRALGHEAP.heapSize   = bios.DDRALGHEAP.len;

    /* RAMS */
    bios.L1DSRAM.createHeap       = true;
    bios.L1DSRAM.enableHeapLabel  = true;
    bios.L1DSRAM["heapLabel"]     = prog.extern("L1DHEAP");
    bios.L1DSRAM.heapSize         = bios.L1DSRAM.len;
    bios.PWRM.ENABLE = true;
    bios.PWRM.IDLECPU = true;

    var SL2SRAM = bios.MEM.create("SL2SRAM");
    bios.MEM.instance("SL2SRAM").base = 0x007FA700;
    bios.MEM.instance("SL2SRAM").len = 0x00005800;
    bios.MEM.instance("SL2SRAM").createHeap = false;

    bios.TSK.instance("TSK_idle").stackSize = 0x1000;
    prog.module("TSK").STACKSIZE = 0x1000;

    if (platform == "ti.platforms.evm3530") {
        bios.L1DSRAM.heapSize     = 0x10000;   // use 64k of L1DSRAM for heap
    }

    /*  ===========================================================================
     *  GBL
     *  ===========================================================================
     */
    /* set MAR register to cache external memory 0x80000000-0x8FFFFFFF */
    prog.module("GBL").C64PLUSMAR128to159 = 0x0000ffff;

    prog.module("GBL").ENABLEALLTRC    = false;
    prog.module("GBL").PROCID          = 0;

    /*  ===========================================================================
     *  MEM : startup and SWI stack size
     *  ===========================================================================
     */
    prog.module("MEM").STACKSIZE = 0x1000;

    /*  ===========================================================================
     *  Global Settings
     *  ===========================================================================
     */
    prog.module("MEM").ARGSSIZE = 256;

    /*  ===========================================================================
     *  Enable MSGQ and POOL Managers
     *  ===========================================================================
     */
    bios.MSGQ.ENABLEMSGQ = true;
    bios.POOL.ENABLEPOOL = true;

    /*  ===========================================================================
     *  Set all code and data sections to use DDR2
     *  ===========================================================================
     */
    bios.setMemCodeSections (prog, bios.DDR2);
    bios.setMemDataNoHeapSections (prog, bios.DDR2);
    bios.setMemDataHeapSections (prog, bios.DDR2);

    /*  ===========================================================================
     *  MEM : Global
     *  ===========================================================================
     */
    prog.module("MEM").BIOSOBJSEG = bios.DDR2;
    prog.module("MEM").MALLOCSEG  = bios.DDR2;

    /*  ===========================================================================
     *  TSK : Global
     *  ===========================================================================
     */
    prog.module("TSK").STACKSEG = bios.DDR2;

    /*  ===========================================================================
     *  Generate configuration files...
     *  ===========================================================================
     */
    if (config.hasReportedError == false) {
        prog.gen();
    }



     

     

     

  • Hi,

    I reviewed your cfg and tcf file. It looks fine.

    FYI we tested the H.264 Enc / Dec with Eval codecs only. There are lot of component updates including Codec Engine in the recent days.

    The following are the  version details

    DVSDK version 3.00.00.23

                    H264enc version 1.31.000

    2.          H264dec version 1.32.004

          Codec Engine 2.20.01

          Framework Components 2.20.01

    Can you try this setup ?

     

     

  • Hi!

    Thanks for reviewing my server-config.

    I downloaded and tried with the newest available DVSDK which is 3.00.00.21 (not 23, as you mentioned).

    The codecs and engine are the same as with you:

    h264enc: 1.31.000

    h264dec: 1.32.004

    codecEngine 2.20.01

    framework components: 2.20.01

    I'm building the codec-server completely under linux, not using CCS.

    Unfortunately, it's still not working, hence gets stuck after a while.

    I have already tried different settings. Two threads, each reading from a separate file, or only one reading from a file, decoding, queueing and the

    the other thread encoding from memory, etc. I have tried without sending the frames to the display as well. However, the encode thread always gets stuck, hence the dsp blocks.

    If I run only one of them, the program runs without any problems.

    As you reviewed my cfg and tcf file, what else could be the problem? Maybe a hw/kernel issue? I think I have one of the first EVM-boards - I got it with the OMAP35x_SDK_0.9.5 -

    but I switched to the Kernel from the current SDK (1.0.0).

    As ARM-Compiler I'm using the 'arm-2007q3' from codesourcery.

     

    I'm rather helpless. Any help is appreciated.

     

    regards

    flo

     

     

     

     

     

     

     

  • Hi!

    It seems that I fixed the problem.

    The video I'm using for testing has CIF resolution (352x288).

    When setting the maximum (static) and the input  (dynamic) resolution to CIF the problem as described shows up.

    Now I use D1 for the max resolution and only set the dynamic resolution to the actual resolution. Now, everything works fine.

    Is this a bug of the H264-encoder?

     

    regards

    flo

  • We are using encoder from DVSDK_3_00_00_29 with flashed FS and kernel Image of SDK 1.0.2. We are able to encode the yuv file to .264 file but while playing to the decoder/player its not playing the proper video. However we tested yuv file with our own encoder also and its playing file. Is the encoder not proper on OMAP3530 board?

    Have anyone tried playing the encoded file?

    My loadmodules script cmemk.ko loading addresses are as follows:-

    insmod cmemk.ko phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000,5x829440

  • Vineet said:
    Have anyone tried playing the encoded file?

    I was able to play back the file encoded by the encode demo using './decode -v output.264 -l', it may be worth verifying your steps against the DVSDK getting started guide to ensure nothing was missed.

    EDIT: I am operating over TFTP/NFS.

  • It would appear the h264 encode demo is hard coded for a fixed input file format.

    It looks like the "video_encode_io1_omap3530.x470MV"  demo application will only convert YUV_422 (UYVY) and not 420P

     

    from the ...\dvsdk_3_00_00_29\dmai_1_20_00_04\packages\ti\sdo\dmai\apps\video_encode_io1\appMain.c file:

    ...

       /* Set up codec parameters depending on device */
        if (device == Cpu_Device_DM6467) {
            params.inputChromaFormat = XDM_YUV_420P;
            params.reconChromaFormat = XDM_CHROMA_NA;
        }
        else if (device == Cpu_Device_OMAP3530) {
            params.inputChromaFormat = XDM_YUV_422ILE;
            params.reconChromaFormat = XDM_CHROMA_NA;
        }
    ...]

     

    Can some one at TI confirm this?

     

    or is there some way to over ride these configuration settings like with the TestVector config file?

  • A couple of more observations and questions.

    1. Converting the foreman_vga_422.yuv (640X480 UYVY) to .264 file with "video_encode_io1_omap3530.x470MV" and then converting the .264 file back to a .yuv file with "video_decode_io2_omap3530.x470MV" results in a yuv file exactly the same size as the original and it appears to play back yuv file (on the pc) just fine.  And the .264 file plays correctly with the "decode" application on the OMAP3530.

    However, the VLC application on Windows will not play the .264 file correctly?

    2. Converting the davincieffect_ntsc_1.264 to .yuv file with the "video_decode_io2_omap3530.x470MV" results in a .yuv file (720x480 UYVY) that plays fine.  The omap decode application can play the davinci_ntsc_1.264 file just fine to the lcd, but again VLC does not play this file correctly?

    Is there something missing or incorrect in the .264 file causing the VLC media player to decode them incorrectly? Maybe some assumption in the OMAP decode application that should be in the file but is missing?

    BTW haven't been able to play the .264 files on Quick time or Windows Media player either?