-
Notifications
You must be signed in to change notification settings - Fork 75
Decoder
Nyanmisaka edited this page Mar 7, 2024
·
11 revisions
The codecs, profiles, levels, bitrates, resolutions, FPS, AFBC, etc. supported by MPP decoders depend on the specific chip capabilities. This chapter uses RK3588 for demonstration.
V..... av1_rkmpp Rockchip MPP (Media Process Platform) AV1 decoder (codec av1)
V..... h263_rkmpp Rockchip MPP (Media Process Platform) H263 decoder (codec h263)
V..... h264_rkmpp Rockchip MPP (Media Process Platform) H264 decoder (codec h264)
V..... hevc_rkmpp Rockchip MPP (Media Process Platform) HEVC decoder (codec hevc)
V..... mpeg1_rkmpp Rockchip MPP (Media Process Platform) MPEG1VIDEO decoder (codec mpeg1video)
V..... mpeg2_rkmpp Rockchip MPP (Media Process Platform) MPEG2VIDEO decoder (codec mpeg2video)
V..... mpeg4_rkmpp Rockchip MPP (Media Process Platform) MPEG4 decoder (codec mpeg4)
V..... vp8_rkmpp Rockchip MPP (Media Process Platform) VP8 decoder (codec vp8)
V..... vp9_rkmpp Rockchip MPP (Media Process Platform) VP9 decoder (codec vp9)
- Query MPP decoders
./ffmpeg -hide_banner -decoders | grep rkmpp
- Query MPP decoder options by name
./ffmpeg -hide_banner -h decoder=h264_rkmpp
Decoder h264_rkmpp [Rockchip MPP (Media Process Platform) H264 decoder]:
General capabilities: delay avoidprobe hardware
Threading capabilities: none
Supported hardware devices: rkmpp
Supported pixel formats: nv12 nv16 nv15 nv20 drm_prime
h264_rkmpp_decoder AVOptions:
-deint <boolean> .D.V....... Enable IEP (Image Enhancement Processor) for de-interlacing (default true)
-afbc <int> .D.V....... Enable AFBC (Arm Frame Buffer Compression) to save bandwidth (from 0 to 2) (default off)
off 0 .D.V....... Disable AFBC support
on 1 .D.V....... Enable AFBC support
rga 2 .D.V....... Enable AFBC if capable RGA is available
-fast_parse <boolean> .D.V....... Enable fast parsing to improve decoding parallelism (default true)
-buf_mode <int> .D.V....... Set the buffer mode for MPP decoder (from 0 to 1) (default half)
half 0 .D.V....... Half internal mode
ext 1 .D.V....... Pure external mode
You are free to choose sample videos. If none are available, you can try Jellyfish Video Bitrate Test Files.
The -c:v h264_rkmpp -i INPUT
can be omitted since in FFmpeg 6.0 and up, -hwaccel rkmpp
will pick up the required decoder automatically.
- Decode but not copy-back. Without AFBC (ARM Frame Buffer Compression).
./ffmpeg -stream_loop -1 -hwaccel rkmpp -hwaccel_output_format drm_prime -i /path/to/any-h264-video.mp4 -an -sn -vframes 5000 -f null -
- Decode and copy-back. Without AFBC. (AFBC cannot be used with copy-back or
hwdownload
filter)
./ffmpeg -stream_loop -1 -hwaccel rkmpp -i /path/to/any-h264-video.mp4 -an -sn -vframes 5000 -f null -
- Decode but not copy-back. With AFBC.
./ffmpeg -stream_loop -1 -hwaccel rkmpp -hwaccel_output_format drm_prime -afbc 1 -i /path/to/any-h264-video.mp4 -an -sn -vframes 5000 -f null -
- Decode but not copy-back. With AFBC if RGA3 is available.
./ffmpeg -stream_loop -1 -hwaccel rkmpp -hwaccel_output_format drm_prime -afbc rga -i /path/to/any-h264-video.mp4 -an -sn -vframes 5000 -f null -