AFBC Bandwidth Optimization
Rockchip Platform Support
7.10 AFBC Bandwidth Optimization
AFBC (Arm Frame Buffer Compression) can reduce the DDR bandwidth used by frame buffers. In the original guide, mppvideodec AFBC support includes H.264, H.265, and VP9, with output formats such as NV12, 10-bit NV12, and NV16. The final capability depends on the SoC and the complete display path.
Enable AFBC for a single pipeline:
gst-launch-1.0 filesrc location=test.mp4 \
! parsebin \
! mppvideodec arm-afbc=true \
! waylandsinkSet the default for automatically constructed playback pipelines:
export GST_MPP_VIDEODEC_DEFAULT_ARM_AFBC=1
gst-play-1.0 --flags=3 --videosink=waylandsink test.mp4Check whether the decoder outputs AFBC:
GST_DEBUG='*mpp*:4' gst-play-1.0 \
--flags=3 --videosink=waylandsink test.mp4AFBC is enabled if the log contains a message similar to:
applying NV12(AFBC) 1920x1080Notes:
- The decoder, sink, and DRM plane must all support AFBC.
kmssinkandrkximagesinknormally require a Cluster plane that supports AFBC.- AFBC does not necessarily improve performance when significant scaling, rotation, or a specific display orientation is used.
- If the display flickers after AFBC is enabled, check the system performance mode, plane capabilities, and scaling path.

