[PR #10748] Add full HWA transcoding pipeline for Rockchip RKMPP #12601

Closed
opened 2026-02-07 06:58:42 +03:00 by OVERLORD · 0 comments
Owner

Original Pull Request: https://github.com/jellyfin/jellyfin/pull/10748

State: closed
Merged: Yes


Web

FFmpeg

Changes

  • Add full HWA transcoding pipeline for Rockchip RKMPP

  • HW decoder (MPEG1, MPEG2, MPEG4, H264, HEVC, VP8, VP9, AV1)

  • HW encoder (H264, HEVC) up to 1080p@480fps / 4k@120fps on RK3588

  • HW scaler, format conversion and subtitle burn-in

  • HW HDR-to-SDR tone-mapping (requires OpenCL, RK3588 only)
    The OpenCL runtime can be download install from:
    libmali-valhall-g610-g13p0-x11-wayland-gbm_1.9-1_arm64.deb

  • Support lossless AFBC (Arm frame buffer compression) to save memory bandwidth and improve FPS

  • Support async RGA filter and MPP encoder

Issues

Notes

  • Tested with Rockchip linux kernel 5.10 and 6.1 on RK3588. Mainline is not supported.

  • Jellyfin MUST be granted permission to access these device files.

# DRM allocator
/dev/dri

# DMA_HEAP allocator
/dev/dma_heap

# ARM Mali GPU OpenCL (RK3588)
/dev/mali0

# RK RGA filters
/dev/rga

# RK MPP codecs
/dev/mpp_service

# Optional, for compatibility with older kernels and socs
/dev/iep
/dev/mpp-service
/dev/vpu_service
/dev/vpu-service
/dev/hevc_service
/dev/hevc-service
/dev/rkvdec
/dev/rkvenc
/dev/vepu
/dev/h265e

Docker image for testing

docker run -d \
 --name jellyfin \
 --privileged \
 --net=host \
 --restart=unless-stopped \
 --volume /path/to/config:/config \
 --volume /path/to/cache:/cache \
 --volume /path/to/media:/media \
 `for dev in dri dma_heap mali0 rga mpp_service \
    iep mpp-service vpu_service vpu-service \
    hevc_service hevc-service rkvdec rkvenc vepu h265e ; do \
   [ -e "/dev/$dev" ] && echo " --device /dev/$dev"; \
  done` \
 nyanmisaka/jellyfin:latest-rockchip
**Original Pull Request:** https://github.com/jellyfin/jellyfin/pull/10748 **State:** closed **Merged:** Yes --- **Web** - https://github.com/jellyfin/jellyfin-web/pull/5056 **FFmpeg** - https://github.com/jellyfin/jellyfin-ffmpeg/pull/318 **Changes** - Add full HWA transcoding pipeline for Rockchip RKMPP - HW decoder (MPEG1, MPEG2, MPEG4, H264, HEVC, VP8, VP9, AV1) - HW encoder (H264, HEVC) up to 1080p@480fps / 4k@120fps on RK3588 - HW scaler, format conversion and subtitle burn-in - HW HDR-to-SDR tone-mapping (requires OpenCL, RK3588 only) The OpenCL runtime can be download install from: [libmali-valhall-g610-g13p0-x11-wayland-gbm_1.9-1_arm64.deb](https://github.com/tsukumijima/libmali-rockchip/releases) - Support lossless AFBC (Arm frame buffer compression) to save memory bandwidth and improve FPS - Support async RGA filter and MPP encoder **Issues** - https://github.com/jellyfin/jellyfin-ffmpeg/issues/34 **Notes** - Tested with **Rockchip linux kernel** [5.10](https://github.com/armbian/linux-rockchip) and [6.1](https://github.com/nyanmisaka/linux-rockchip/tree/rk-6.1-dev) on RK3588. Mainline is not supported. - Jellyfin **MUST** be granted permission to access these device files. ``` # DRM allocator /dev/dri # DMA_HEAP allocator /dev/dma_heap # ARM Mali GPU OpenCL (RK3588) /dev/mali0 # RK RGA filters /dev/rga # RK MPP codecs /dev/mpp_service # Optional, for compatibility with older kernels and socs /dev/iep /dev/mpp-service /dev/vpu_service /dev/vpu-service /dev/hevc_service /dev/hevc-service /dev/rkvdec /dev/rkvenc /dev/vepu /dev/h265e ``` **Docker image for testing** ``` docker run -d \ --name jellyfin \ --privileged \ --net=host \ --restart=unless-stopped \ --volume /path/to/config:/config \ --volume /path/to/cache:/cache \ --volume /path/to/media:/media \ `for dev in dri dma_heap mali0 rga mpp_service \ iep mpp-service vpu_service vpu-service \ hevc_service hevc-service rkvdec rkvenc vepu h265e ; do \ [ -e "/dev/$dev" ] && echo " --device /dev/$dev"; \ done` \ nyanmisaka/jellyfin:latest-rockchip ```
OVERLORD added the pull-request label 2026-02-07 06:58:42 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#12601