TI中文支持网
TI专业的中文技术问题搜集分享网站

dm8168多路解码的问题

我用dm8168开发板,想进行多路解码测试及应用。

现在采用的例子,为sdk中的例子,ti-ezsdk_dm816x-evm_5_05_02_00\component-sources\omx_05_02_00_48\examples\ti\omx\demos\decode,进行多线程改造而成。也就是每个线程运行一个这个例子,采用264解码,n个线程并行运行,264源从文件读取。

测试的结果,不知道什么原因,1080p的解码最多只能3路,4路都不行。720p只能4路,d1分辨率只能6路。这个和文档中差距较大,按文档说明,8168有3个hd加速,每个可以解码1080p60fps,可以多通道。按理是可以解码6路1080p30fps的。

解码4路1080p出现的现象为,执行到eError = OMX_SendCommand (pHandle, OMX_CommandStateSet, OMX_StateIdle, NULL);可以执行。OMX_AllocateBuffer为端口分配内存也可以执行。然后就到 eError = Decode_WaitForState (pHandle, OMX_StateIdle)。

就在eError = Decode_WaitForState (pHandle, OMX_StateIdle)的时候,三个线程都过了,打出state IDLE。第四个线程就不行了,就在这里卡住了,一直在等待。可能是在等待什么资源,然后就无反应了。有时候头三个线程还解码了几帧,但是一执行到第四个线程的 Decode_WaitForState,就没反应了。

请问这是什么问题。为端口分配内存OMX_AllocateBuffer已经通过了。我用d1分辨率做解码实验,就可以解6路,7路的时候,也是类似问题,第七个线程就不能等到state idle了。

root@dm816x-evm:/usr/share/ti/ti-omx# ./linsm_test_a8host_debug.xv5T -w 1920 -h 1080 -i test.264 -o test.yuv -c h264input file: test.264
width: 1920
height: 1080
output_file: test.yuv
codec: h264
Decoder example===============================
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
Iteration 0 – Start
Iteration 0 – Start
Iteration 0 – Start
Iteration 0 – Start
allocating field buffer calling getHandle allocating field buffer calling getHandle allocating field buffer calling getHandle allocating field buffer calling getHandleOutput port buffer size: 3637248
Depreciated API: TRACE:
Came back from send command without error

Output port buffer size: 3637248
Output port buffer size: 3637248
Output port buffer size: 3637248
Depreciated API: TRACE:
Came back from send command without error

Depreciated API: TRACE:
Came back from send command without error

Depreciated API: TRACE:
Came back from send command without error

wait state ! state IDLE wait state ! state IDLE wait state ! state IDLE就卡住了,只有三路返回了 stete IDLE,第四路只返回了Came back from send command without error,但是没有state IDLE返回。

Eason Wang:

ezsdk已经是nrnd了,请联系代理商获取DVRRDK做开发。

Chen Tao1:

回复 Eason Wang:

请问DVRRDK在哪里可以下载??

天睿视迅:

回复 Chen Tao1:

需要和ti签订NDA协议,找ti的代理商

赞(0)
未经允许不得转载:TI中文支持网 » dm8168多路解码的问题
分享到: 更多 (0)