DM8168 unrecoverable error: OMX_ErrorBadParameter (0x80001005) [resolved]

DM8168解码显示问题解决
本文记录了解决DM8168开发板上H264视频解码显示问题的过程。通过调整分辨率并重启设备,最终成功完成了视频文件的解码和显示。

DM8168 custom board 成功启动系统之后想先測一下8168编解码功能,把开发包里的examples跑一遍。启动完毕后。连上HDMI显示,在starting Matrix GUI application后HDMI已经有输出了,这时候优先选择了decode_display功能来測试。

root@8168:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i ../data/videos/dm816x_1080p_demo.264 -w 1920 -h 1080 -f 60 -g 0 -d 0 -c h264
input file: dm816x_1080p_demo.264
width: 1920
height: 1080
frame_rate: 60
gfx: fbdev disable
codec: h264
display_id: 0
Decoder-Display example
===============================
OMX_Init completed
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
opening file
decoder compoenent is created
PADX: 32 PADY: 24
level set is 12
scalar compoenent is created
set input port params (width = 1920, height = 1080)
set output port params (width = 1920, height = 1080)
set number of channels
set input resolution
set output resolution
enable scalar input port
got eventEnable/Disable Event
enable scalar output port
got eventEnable/Disable Event
found handle 0x127f58 for component OMX.TI.VPSSM3.VFDC
got display handle
found handle 0x12ba60 for component OMX.TI.VPSSM3.CTRL.DC
Buffer Size computed: 4147200
set input port params (width = 1920, height = 1080)
setting input and output memory type to default
enable input port
got eventEnable/Disable Event
connect call for decoder-scalar
connect call for scalar-display
decoder inport buffers allocated
decoder outport buffers allocated
got eventState changed to: OMX_StateIdle
state IDLE
Scalar input port use buffer done
scalar outport buffers allocated
got eventState changed to: OMX_StateIdle
scalar state IDLE
got eventState changed to: OMX_StateIdle
ctrl-dc state IDLE
got eventState changed to: OMX_StateIdle
display state IDLE
got eventState changed to: OMX_StateExecuting
display control state execute
got event*** unrecoverable error: OMX_ErrorBadParameter (0x80001005)
Press a key to proceed

出了错误 got event*** unrecoverable error: OMX_ErrorBadParameter (0x80001005)

想了许久,查了非常多。最后想到了要改变分辨率。

root@8168:~#sh change_resolution.sh 1080p60

改动分辨率成功后,reboot。再尝试:

root@8168:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i ../data/videos/dm816x_1080p_demo.264 -w 1920 -h 1080 -f 60 -g 0 -d 0 -c h264
input file: ../data/videos/dm816x_1080p_demo.264
width: 1920
height: 1080
frame_rate: 60
gfx: fbdev disable
codec: h264
display_id: 0
Decoder-Display example
===============================
OMX_Init completed
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
opening file
decoder compoenent is created
PADX: 32 PADY: 24
level set is 12
scalar compoenent is created
set input port params (width = 1920, height = 1080)
set output port params (width = 1920, height = 1080)
set number of channels
set input resolution
set output resolution
enable scalar input port
got eventEnable/Disable Event
enable scalar output port
got eventEnable/Disable Event
found handle 0x127f58 for component OMX.TI.VPSSM3.VFDC
got display handle
found handle 0x12ba60 for component OMX.TI.VPSSM3.CTRL.DC
Buffer Size computed: 4147200
set input port params (width = 1920, height = 1080)
setting input and output memory type to default
enable input port
got eventEnable/Disable Event
connect call for decoder-scalar
connect call for scalar-display
decoder inport buffers allocated
decoder outport buffers allocated
got eventState changed to: OMX_StateIdle
state IDLE
Scalar input port use buffer done
scalar outport buffers allocated
got eventState changed to: OMX_StateIdle
scalar state IDLE
got eventState changed to: OMX_StateIdle
ctrl-dc state IDLE
got eventState changed to: OMX_StateIdle
display state IDLE
got eventState changed to: OMX_StateExecuting
display control state execute
got eventState changed to: OMX_StateExecuting
display state execute
got eventState changed to: OMX_StateExecuting
scalar state execute
got eventState changed to: OMX_StateExecuting
decoder state execute
file read thread created
decoder connect thread created
scalar connect thread created
display connect thread created
executing the appliaction now!!!
No data available for Read
got eventOMX_EventBufferFlag
got EOS event
got eventOMX_EventBufferFlag
got EOS event
got eventOMX_EventBufferFlag
got EOS event
tearing down the decode-display example
exiting thread
exiting thread
exiting thread
got eventState changed to: OMX_StateIdle
decoder state idle
got eventState changed to: OMX_StateIdle
Scalar state idle
got eventState changed to: OMX_StateIdle
display state idle
got eventState changed to: OMX_StateIdle
display control state idle
got eventState changed to: OMX_StateLoaded
decoder state loaded
got eventState changed to: OMX_StateLoaded
Scalar state loaded
got eventState changed to: OMX_StateLoaded
display state loaded
got eventState changed to: OMX_StateLoaded
ctrl-dc state loaded
decoder free handle
scalar free handle
display free handle
ctrl-dc free handle
IL Client deinitialized
example exit
root@8168:/usr/share/ti/ti-omx#

成功完毕了整个264文件的解码显示功能,结束后退出。

转载于:https://www.cnblogs.com/yutingliuyl/p/7227784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值