Firefly开源社区

打印 上一主题 下一主题

[应用开发] AIO-3399C mpp解码异常报错

42

积分

0

威望

0

贡献

技术小白

积分
42

AIO-3399C mpp解码异常报错

发表于 2023-6-12 14:00:18      浏览:4958 | 回复: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解码都会报这个错误





回复

使用道具 举报

42

积分

0

威望

0

贡献

技术小白

积分
42
发表于 2023-6-12 14:07:49        只看该作者  沙发
附上:mpi_dec_test例程解码mjpeg格式打印信息
root@firefly:~/mppNew# mpi_dec_test -w 1920 -h 1080 -t 8 -i mjpg_t.mjpg -o raw.nv12
mpp[1343]: mpi_dec_utils: cmd parse result:
mpp[1343]: mpi_dec_utils: input  file name: mjpg_t.mjpg
mpp[1343]: mpi_dec_utils: output file name: raw.nv12
mpp[1343]: mpi_dec_utils: config file name:
mpp[1343]: mpi_dec_utils: width      : 1920
mpp[1343]: mpi_dec_utils: height     : 1080
mpp[1343]: mpi_dec_utils: type       : 8
mpp[1343]: mpi_dec_utils: debug flag : 0
mpp[1343]: mpi_dec_utils: max frames : 0
mpp[1343]: mpi_dec_test: mpi_dec_test start
mpp[1343]: mpi_dec_test: input file size 36306885
mpp[1343]: mpp_rt: NOT found ion allocator
mpp[1343]: mpp_rt: found drm allocator
mpp[1343]: mpp_info: mpp version: 49f29006 author: Jeffy Chen    2021-08-04 [drm]: Add mmap flag detection
mpp[1343]: mpi_dec_test: 0x5588b59700 mpi_dec_test decoder test start w 1920 h 1080 type 8
[ 1877.192324] rk_vcodec: vpu_service_ioctl:2149: error: unknown vpu service ioctl cmd 40086c01
mpp[1343]: HAL_JPEG_VDPU2: jpegd_setup_pp pp_enable 0
mpp[1343]: vcodec_service: vcodec_service_reg_wr reg size mismatch wr 636 rd 736
mpp[1343]: mpi_dec_test: 0x5588b59700 decoded frame 0
mpp[1343]: HAL_JPEG_VDPU2: jpegd_setup_pp pp_enable 0
mpp[1343]: vcodec_service: vcodec_service_reg_wr reg size mismatch wr 636 rd 736
mpp[1343]: mpi_dec_test: 0x5588b59700 decoded frame 1
mpp[1343]: HAL_JPEG_VDPU2: jpegd_setup_pp pp_enable 0
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11182

优秀版主

发表于 2023-6-13 10:59:14        只看该作者  板凳
ioctrl 的错误不关键,看下面 代码已经已经解码接触帧了

回复

使用道具 举报

42

积分

0

威望

0

贡献

技术小白

积分
42
发表于 2023-6-13 11:50:35        只看该作者  地板
板蓝根 发表于 2023-6-13 10:59
ioctrl 的错误不关键,看下面 代码已经已经解码接触帧了

你好,我还有些疑问麻烦帮解答一下,谢谢!
1、那这个VPU的错误对硬件编解码有什么影响?现在是在做项目的前期验证,想要实现的需求是解码再修改视频参数后编码推流出去,这个错误会不会影响编解码的时效性?
2、还有MJPEG和H264解码报的这个错误什么原因导致的?有什么解决的建议?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表