|
【应用开发】
AIO-3399C mpp解码异常报错
发表于 2023-6-12 14:00:18
浏览:4963
|
回复:3
打印
只看该作者
[复制链接]
楼主
本帖最后由 yqq 于 2023-6-12 14:00 编辑
开发板:AIO-3399C,固件:AIO-3399C_Ubuntu18.04-r240_v2.5.1d_230330.img
功能:使用v4l2采集uvc摄像头视频源,然后传入mpp解码并保存到本地文件;代码是参考了mpi_dec_test demo后移植,遇到以下几个问题:
1、mpp在初始化时报错:[ 9059.292921] rk_vcodec: vpu_service_ioctl:2149: error: unknown vpu service ioctl cmd 40086c01,以下粘贴mpp库mpi_dec_test demo测试结果
root@firefly:~/mppNew# mpi_dec_test -i h264enc.h264 -w 1920 -h 1080 -t 7 a.nv12
mpp[2080]: mpi_dec_utils: cmd parse result:
mpp[2080]: mpi_dec_utils: input file name: h264enc.h264
mpp[2080]: mpi_dec_utils: output file name:
mpp[2080]: mpi_dec_utils: config file name:
mpp[2080]: mpi_dec_utils: width : 1920
mpp[2080]: mpi_dec_utils: height : 1080
mpp[2080]: mpi_dec_utils: type : 7
mpp[2080]: mpi_dec_utils: debug flag : 0
mpp[2080]: mpi_dec_utils: max frames : 0
mpp[2080]: mpi_dec_test: mpi_dec_test start
mpp[2080]: mpi_dec_test: input file size 10786528
mpp[2080]: mpp_info: mpp version: 49f29006 author: Jeffy Chen 2021-08-04 [drm]: Add mmap flag detection
mpp[2080]: mpi_dec_test: 0x55d28259e0 mpi_dec_test decoder test start w 1920 h 1080 type 7
mpp[2080]: mpp_rt: NOT found ion allocator
mpp[2080]: mpp_rt: found drm allocator
[ 9059.292921] rk_vcodec: vpu_service_ioctl:2149: error: unknown vpu service ioctl cmd 40086c01
mpp[2080]: mpi_dec_test: 0x55d28259e0 decode_get_frame get info changed found
mpp[2080]: mpi_dec_test: 0x55d28259e0 decoder require buffer w:h [1920:1080] stride [1920:1088] buf_size 4177920
mpp[2080]: mpi_dec_test: 0x55d28259e0 decode get frame 0
mpp[2080]: mpi_dec_test: 0x55d28259e0 decode get frame 1
mpp[2080]: mpi_dec_test: 0x55d28259e0 decode get frame 2
......
2、从uvc设备采集h264格式的视频源,送入mpp解码(dec_simple模式),报错:“mpp_log: decoder_get_frame get err info:1 discard:0.“ 测试解码多次,这个解码错误在过程中多次出现,但也有时出现解码一切正常一次报错也没;程序中已使能解码器内部分帧处理,这里还有个问题在配置参数时按照mpp开发文档介绍 MPP_DEC_SET_PARSER_SPLIT_MODE 命令是需要在 mpp_init 之前配置,但mpi_dec_test 例程demo中使用 MPP_DEC_SET_CFG 命令配置却是在mpp_init之后,两者有什么区别?除分帧参数外其他所有配置的正确时机时什么时候?
3、从uvc设备采集mjpeg格式的视频源,送入mpp解码(dec_advanced模式),报错:“[vcodec_service]:[vcodec_service_reg_wr]:[551]-- reg size mismatch wr 636 rd 736",调试发现在每一帧mjpeg解码都会报这个错误
|
|