[Libav-user] How to use rkmpp decoder?

Anton Prikazchikov prikaz08 at mail.ru
Mon Apr 16 09:58:33 EEST 2018


>Can you give more detail about your setup and the input stream?

I have firefly RK3399.

OS:
Linux localhost 4.4.120 #2 SMP Mon Apr 9 10:08:10 +04 2018 aarch64 aarch64 aarch64 GNU/Linux
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:    xenial

I have installed rockchip kernel from git master branch.

ffmpeg:
ffmpeg version N-90453-g44000b7 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 20160609
  configuration: --prefix=/usr/local --enable-libx264 --enable-libdrm --enable-rkmpp --enable-version3 --enable-gpl
  libavutil      56. 12.100 / 56. 12.100
  libavcodec     58. 16.100 / 58. 16.100
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 13.100 /  7. 13.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100

I tried this command:
sudo ffmpeg -v 55 -c:v h264_rkmpp -i ./4k.h264 -an -frames:v 100  out.h264

And received:
...
[h264_rkmpp @ 0x1024c380] Initializing RKMPP decoder.
mpi: mpp version: 5849089 author: Herman Chen [mpp]: Add temporally patch for blocking issue
hal_h264d_api: hal_h264d_init mpp_buffer_group_get_internal used ion In
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
[h264_rkmpp @ 0x1024c380] RKMPP decoder initialized successfully.
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (h264_rkmpp) -> h264 (libx264))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[AVBSFContext @ 0x102ddf30] The input looks like it is Annex B already
[h264_rkmpp @ 0x1024c380] Wrote 35 bytes to decoder
[h264_rkmpp @ 0x1024c380] Wrote 43028 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 99 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 40 bytes to decoder
[h264_rkmpp @ 0x1024c380] Timeout when trying to get a frame from MPP
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 126 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 32 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 50 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 32 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 49 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 33 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 77 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 41 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 64 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 33 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 48 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 33 bytes to decoder
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 52 bytes to decoder
[h264_rkmpp @ 0x1024c380] Timeout when trying to get a frame from MPP
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[h264_rkmpp @ 0x1024c380] Wrote 37 bytes to decoder
...

Also i have checked again my built mpp. The command for the test:
sudo ./mpi_dec_test -i ./4k.h264 -o 1080.yuv -w 1920 -h 1080 -t 7

And have received good video file without errors.

Maybe do i have to add "--extra-ldflags='-L/usr/local/lib -lmali-midgard-r13p0-fbdev'"?


Thanks,
Prikazchikov Anton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20180416/2adab4b5/attachment.html>


More information about the Libav-user mailing list