Hi I want to use VPU to decode h.264 stream in my application.
I am using Imx8mqevk and linux version is 4.9.51. Backend is wayland.
I tested unit_test in BSP and it works well.
I find example code at ~~/imx-yocto-bsp\build-wayland\tmp\work\imx8mqevk-poky-linux\imx-vpu-hantro\1.6.0-r0\imx-vpu-hantro-1.6.0\decoder_sw\software\test\h264high
I copied the code from 532 line to 1057 and delete testbench code and command setup. When I run my test app, it can not open decoder. H264DecInit() returns -1. It means the parameter was wrong. My test parameter was like below.
H264DecInit(&dec_inst,
#ifdef USE_EXTERNAL_BUFFER
dwl_inst,
#endif
0,
0,
0, 0, 0, 0, 0,
&dscale_cfg );
}
h264decapi.c
H264DecRet H264DecInit(H264DecInst * dec_inst,
#ifdef USE_EXTERNAL_BUFFER
const void *dwl,
#endif
u32 no_output_reordering,
enum DecErrorHandling error_handling,
u32 use_display_smoothing,
enum DecDpbFlags dpb_flags,
u32 use_adaptive_buffers,
u32 n_guard_size,
u32 use_secure_mode,
struct DecDownscaleCfg *dscale_cfg)
I am new in embedded. I can not search much document about this. I hope anybody help me. Thank you.
#IMX8 #hantro #decoder_sw
Solved! Go to Solution.
Please refer to the Section 6.6 "Video Processing Unit (VPU)" of the attached document. Also, what exactly unit_test flow did you use? Please specify in more details.
Have a great day,
Artur