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

在DM8168定制板上进行编解码测试时,遇到OMX_ErrorBadParameter错误。通过调整分辨率后,问题得到解决,成功实现了264文件的解码和显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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文件的解码显示功能,结束后退出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Marvin_wu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值