Toybrick

楼主: jefferyzhang

RK3399Pro入门教程(6)硬件编解码器MPP库的使用

 

wanqieddy

中级会员

积分
282
191#
发表于 2022-7-21 19:17:33 | 只看该作者
jefferyzhang 发表于 2019-5-9 08:50
是的,GitHub 上有我们对接好的ffmpeg和gsteamer

大神,github 的地址发一下,可以吗?
回复

使用道具 举报

chenjs123

新手上路

积分
33
192#
发表于 2022-7-27 17:41:29 | 只看该作者
编译完源码后,test中的执行文件运行后都没有任何输出和报错,请问这是什么原因

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

jefferyzhang

版主

积分
12944
193#
 楼主| 发表于 2022-7-28 09:53:40 | 只看该作者
chenjs123 发表于 2022-7-27 17:41
编译完源码后,test中的执行文件运行后都没有任何输出和报错,请问这是什么原因 ...

有个版本mpp他输出输到syslog里去了,你用journalctl来看看
回复

使用道具 举报

chenjs123

新手上路

积分
33
194#
发表于 2022-7-28 10:42:19 | 只看该作者
jefferyzhang 发表于 2022-7-28 09:53
有个版本mpp他输出输到syslog里去了,你用journalctl来看看

好的,谢谢
回复

使用道具 举报

yingfalu

注册会员

积分
98
195#
发表于 2022-8-1 10:37:15 | 只看该作者
沙发,大佬,请问你有使用mpp实现硬解码吗?
回复

使用道具 举报

alex-arm64

新手上路

积分
40
196#
发表于 2022-8-10 11:40:22 | 只看该作者
您好,我这边是rk1808的板子,系统是debian9,在运行官方测试程序mpi_dec_test的时候,输出如下:

  1. root@rk1808:~/rtsp# ./mpi_dec_test -t 7 -i Tennis1080p.h264 -n 9
  2. mpi_dec_test: cmd parse result:
  3. mpi_dec_test: input  file name: Tennis1080p.h264
  4. mpi_dec_test: output file name:
  5. mpi_dec_test: config file name:
  6. mpi_dec_test: width      :    0
  7. mpi_dec_test: height     :    0
  8. mpi_dec_test: type       : 7
  9. mpi_dec_test: debug flag : 0
  10. mpi_dec_test: max frames : 9
  11. mpi_dec_test: mpi_dec_test start
  12. mpi_dec_test: input file size 10786528
  13. mpi_dec_test: mpi_dec_test decoder test start w 0 h 0 type 7
  14. mpi: mpp version: 7c26b23 author: Johnson Ding [h264d]: Fix dpb size not bigger enough issue
  15. mpp_rt: NOT found ion allocator
  16. mpp_rt: NOT found drm allocator
  17. mpi_dec_test: decode_get_frame get info changed found
  18. mpi_dec_test: decoder require buffer w:h [1920:1080] stride [1920:1088] buf_size 3760128
  19. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  20. mpi_dec_test: decode_get_frame get frame 1
  21. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  22. mpi_dec_test: decode_get_frame get frame 2
  23. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  24. mpi_dec_test: decode_get_frame get frame 3
  25. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  26. mpi_dec_test: decode_get_frame get frame 4
  27. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  28. mpi_dec_test: decode_get_frame get frame 5
  29. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  30. mpi_dec_test: decode_get_frame get frame 6
  31. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  32. mpi_dec_test: decode_get_frame get frame 7
  33. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  34. mpi_dec_test: decode_get_frame get frame 8
  35. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  36. mpi_dec_test: decode_get_frame get frame 9
  37. mpi_dec_test: reach max frame number 9
  38. mpi_dec_test: test success max memory 14.34 MB
复制代码


虽然最后提示成功,但是感觉有问题,每次get err info都是1。

另外,如果我把-n选项调大一点,比如执行命令:

  1. ./mpi_dec_test -t 7 -i Tennis1080p.h264 -n 1000
复制代码


期间就会有这样的输出:

  1. mpp_device: mpp_device_send_reg ioctl VPU_IOC_SET_REG failed ret -1 errno 14 Bad address
  2. hal_h264d_vdpu_reg: H264 VDPU FlushRegs fail, pid=641.
  3. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  4. mpi_dec_test: decode_get_frame get frame 119
  5. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
  6. mpi_dec_test: decode_get_frame get frame 120
  7. mpp_device: mpp_device_wait_reg ioctl VPU_IOC_GET_REG failed ret -1 errno 110 Connection timed out
  8. hal_h264d_vdpu_reg: H264 VDPU wait result fail, pid=641.
  9. mpi_dec_test: decoder_get_frame get err info:1 discard:0.
复制代码


内核是4.4.194的,/dev/vpu_service设备文件也是存在的。

请问一下,这会是什么问题?
回复

使用道具 举报

shivaqiang

注册会员

积分
122
197#
发表于 2022-8-10 16:42:57 | 只看该作者
hy695101696 发表于 2020-8-21 15:09
求道友来一份depian10的H264编码源码 万分感谢

道友有编码源码了吗,来一份,十万分感谢
回复

使用道具 举报

shivaqiang

注册会员

积分
122
198#
发表于 2022-8-10 16:50:05 | 只看该作者
decoder 发表于 2021-1-12 10:41
下载源码 编译安装之后
“-- Installing: /usr/local/include/rockchip
-- Installing: /usr/local/includ ...

深得我心,看见大家都这么难我就放心了
回复

使用道具 举报

HXB28986628

注册会员

积分
77
199#
发表于 2022-8-11 14:22:01 | 只看该作者
是否只有toybrick的才能安装?   我的为什么安装的时候都是显示unable to locate package rockchip-***
回复

使用道具 举报

wtmelen

注册会员

积分
75
200#
发表于 2022-9-3 12:03:01 | 只看该作者
本帖最后由 wtmelen 于 2022-9-4 11:34 编辑

已解决
楼主好,我在使用mpp解码时遇到了如下问题:就是判断不了mpp正常运行了没有,还是代码哪里出错了。我debug了一下,发现frame是空的但是返回的ret是成功。
1.在执行mpi_dec_test时,日志会有这样的信息Sep 03 03:43:50 debian10.toybrick kernel: rk_vcodec: vpu_service_ioctl:2140: error: unknown vpu service ioctl cmd 40086c01与手册上的不同,但是最后会显示test success。这对程序的正常执行会不会有影响。
2.我对mpi_dec_test基础上加将读取的帧转换成jpg保存起来(copy的github上的FFMPEG代码),发现保存的图片是空的。3.在ffmpeg_rtsp_mpp-master执行后读取的yuv文件也是花屏(yuvplayer)

日志:
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_utils: input  file name: /home/toybrick/01data/bigbuckbunny_480x272.h265
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_utils: output file name:
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_utils: width      :    0
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_utils: height     :    0
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_utils: type       : 16777220
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_utils: max frames :   20
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: mpi_dec_test start
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpp_info: mpp version: unknown mpp version for missing VCS info
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: 0x557b2be3e0 mpi_dec_test decoder test start w 0 h 0 type 16777220
Sep 03 09:47:00 debian10.toybrick kernel: rk_vcodec: vpu_service_ioctl:2140: error: unknown vpu service ioctl cmd 40086c01
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: 0x557b2be3e0 decode_get_frame get info changed found
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: 0x557b2be3e0 decoder require buffer w:h [480:272] stride [768:272] buf_size 376012
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: 0x557b2be3e0 decode get frame 0
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: 0x557b2be3e0 decode get frame 1
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: 0x557b2be3e0 decode get frame 2。。。。。。
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: 0x557b2be3e0 decode get frame 18
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: 0x557b2be3e0 decode get frame 19
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: decode 20 frames time 14 ms delay   4 ms fps 1413.33
Sep 03 09:47:00 debian10.toybrick mpp[27680]: mpi_dec_test: test success max memory 2.87 MB
Sep 03 09:47:00 debian10.toybrick sudo[27675]: pam_unix(sudo:session): session closed for user root




回复

使用道具 举报

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

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表