Jump to content

HW transcoding (VAAPI) for standard H.264/HEVC works, but Hardware Tone Mapping (HDR -> SDR) Fails


Recommended Posts

italianar15
Posted (edited)

Environment:
Server Version: [Insert Emby Version, e.g., 4.8.10.0]
Host OS: Linux / Ubuntu 24.04 LTS (Kernel 6.8.0-90-generic)
Deployment: Docker (Portainer)
Privileged Mode: Yes (privileged: true)
GPU: AMD Radeon RX 7600 (RDNA3)
OpenCL: OpenCL 2.1 AMD-APP (3581.0)
Driver: Mesa 25.0.7-0ubuntu0.24.04.2 (Noble Updates)

Hardware transcoding (VAAPI) for standard H.264/HEVC works correctly, but Hardware Tone Mapping (HDR -> SDR) fails on the RX 7600.

Configuration: I am running the container in privileged mode with the following environment variables to force RDNA3 
compatibility:
LIBVA_DRIVER_NAME=radeonsi
HSA_OVERRIDE_GFX_VERSION=11.0.0 (To force ROCm/OpenCL compatibility for RDNA3)

Symptoms: When Tone Mapping is enabled, the ffmpeg process crashes immediately or falls back to software transcoding. clinfo confirms the OpenCL runtime is present, but the interop between VAAPI and OpenCL for RDNA3 seems broken despite the HSA override.

Steps Taken:
Verified Drivers: Confirmed mesa-va-drivers (v25.0.7) are installed.
Verified OpenCL: clinfo confirms OpenCL 3.0/2.1 availability.
Applied RDNA3 Workarounds: Added HSA_OVERRIDE_GFX_VERSION=11.0.0 to the container environment.

Isolated Issue: Disabling "Enable Tone Mapping" allows HW transcoding to proceed, confirming the GPU is accessible.
Hardware Check: System has an Intel iGPU (renderD128), but Emby is configured to use the discrete AMD card (renderD129) and LIBVA_DRIVER_NAME is hard-set to radeonsi.

-Gemini

In my words. With hw enabled for tone mapping it doesn't even attempt to use the GPU. When I pull the transcode logs with it enabled you can see emby never attempts to use it. 
The web is littered with asks for better AMD support within Emby. Is this something that still on the roadmap? Nvidia is ridiculously expensive compared to solid RDNA3 cards. 

Thanks

Edited by italianar15
Fixed Title
Posted

Also we will have some updates on the beta channel in the near future so stay tuned for that. 

italianar15
Posted

Server Version: Emby Server 4.9.3.0
OS: Linux 6.8.0-90-generic (Ubuntu 24.04 base), x64
Install Type: Docker
Client: Emby Web 4.9.3.0 on Firefox (Windows 10)
Hardware Acceleration: VAAPI enabled (Advanced mode)

Playback fails when Emby attempts hardware transcoding for certain HDR/Dolby Vision titles.

Emby starts ffmpeg, but the hardware transcode fails immediately. Emby then retries and falls back to software transcoding, which works.

This appears tied to the HDR tone mapping path using tonemap_opencl, which fails with an OpenCL platform/device error.

What I was trying to do

Play a 4K HDR/Dolby Vision movie from Emby Web. The client triggers transcoding due to audio codec support limitations.

Steps to Reproduce

Select a 4K Dolby Vision / HDR10 title

Click Play

Playback fails / returns 500 error on HLS segment request

Server log shows ffmpeg hardware transcode failure, then software fallback

Example media

Example file path in container:
/Media/Movies/TRON Legacy (2010)/TRON Legacy (2010) - IMAX.mkv

Video: HEVC Main 10, 3840x2160, Dolby Vision profile 8.1 (HDR10 compatible), BT.2020, PQ
Audio: EAC3 Atmos 5.1
Subtitles: SRT + multiple PGS tracks

Expected Result

Hardware transcoding should succeed using VAAPI (including tone mapping if needed).

Actual Result

Hardware transcode fails immediately with OpenCL errors. The key ffmpeg errors include:

Failed to get number of OpenCL platforms: -1001

Failed to created derived device context: -19

Error reinitializing filters!

Failed to inject frame into filter network: No such device

Conversion failed!

Emby then logs that the transcode attempt failed and falls back to software transcoding, which works.

Additional Notes

FFmpeg also shows warnings about PGS subtitle stream probing (“unspecified size” / analyzeduration / probesize), but the failure happens during OpenCL tone mapping device creation (VAAPI → OpenCL) before segment output starts.


--Gemini

Posted
2 hours ago, italianar15 said:

Server Version: Emby Server 4.9.3.0
OS: Linux 6.8.0-90-generic (Ubuntu 24.04 base), x64
Install Type: Docker
Client: Emby Web 4.9.3.0 on Firefox (Windows 10)
Hardware Acceleration: VAAPI enabled (Advanced mode)

Playback fails when Emby attempts hardware transcoding for certain HDR/Dolby Vision titles.

Emby starts ffmpeg, but the hardware transcode fails immediately. Emby then retries and falls back to software transcoding, which works.

This appears tied to the HDR tone mapping path using tonemap_opencl, which fails with an OpenCL platform/device error.

What I was trying to do

Play a 4K HDR/Dolby Vision movie from Emby Web. The client triggers transcoding due to audio codec support limitations.

Steps to Reproduce

Select a 4K Dolby Vision / HDR10 title

Click Play

Playback fails / returns 500 error on HLS segment request

Server log shows ffmpeg hardware transcode failure, then software fallback

Example media

Example file path in container:
/Media/Movies/TRON Legacy (2010)/TRON Legacy (2010) - IMAX.mkv

Video: HEVC Main 10, 3840x2160, Dolby Vision profile 8.1 (HDR10 compatible), BT.2020, PQ
Audio: EAC3 Atmos 5.1
Subtitles: SRT + multiple PGS tracks

Expected Result

Hardware transcoding should succeed using VAAPI (including tone mapping if needed).

Actual Result

Hardware transcode fails immediately with OpenCL errors. The key ffmpeg errors include:

Failed to get number of OpenCL platforms: -1001

Failed to created derived device context: -19

Error reinitializing filters!

Failed to inject frame into filter network: No such device

Conversion failed!

Emby then logs that the transcode attempt failed and falls back to software transcoding, which works.

Additional Notes

FFmpeg also shows warnings about PGS subtitle stream probing (“unspecified size” / analyzeduration / probesize), but the failure happens during OpenCL tone mapping device creation (VAAPI → OpenCL) before segment output starts.


--Gemini

 

Hi there, let's look at an example. Please attach the information requested in how to report a media playback issue. Thanks!

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...