Tonemapping Algorithm Question

With beta release of server version 1.41.0.8911 there are now options to set the tonemapping algorithm for HDR->SDR transcoding.

I am not very familiar with these different options so went looking across some discussion groups and there are a lot of opinions. :slight_smile:

These links provided some good reference:
FFMPEG ToneMapping
Tonemap

Plex - and it seems most media servers and converters - default to hable and discussions I came across mention reinhard and mobius a lot. It definitely seems like a preference that can be influenced by personal taste as well as what hardware is being used (display type, client, display settings).

I setup my library to have both HDR and SDR versions of movies (4kHDR and 1080\720SDR) and generally don’t run into situations with transcoding kicking in - which was the point as Plex does a pretty good job of picking the appropriate version to play but with some of the recent transcoder improvements I’m debating if I even need to keep the SDR versions anymore.

I assume the Plex documentation about it will be updated to include some guidance once it’s out of beta, but was wondering if folks who are more familiar already have some input from their experiences fiddling with these algorithms.

Once I get some time with it a bit I’ll post up some of my results as well.

1 Like

Thanks for the reference links. Will be interesting to see the differences between the algorithms.

FWIW, the earlier versions of Plex use mobius.

That’s good to know! I was curious.

I have been so exited for this release since HW transcoding was introduced in the preview build, PlexMediaServer-1.40.6.8747, which worked flawlessly for me. No matter what I threw at it it would hw transcode. Unfortunately after installing this latest beta, hw transcoding is no longer and defaulting to the CPU to transcode HDR content. I know this is still beta so Ill keep my hopes up for now.

Also, I don’t see the options to select a tone mapping algorithm so I’m not sure what platforms this is for.

Windows 11 fully updated
Intel UHD 770 iGPU Raptor Lake, driver version latest (32.0.101.5971)
Plex **1.41.0.8911 beta

Log Errors
[FFMPEG] - Using device (Intel(R) UHD Graphics 770).
“Current pixel format is unsupported”
“some encoding parameters are not supported by the QSV runtime. Please double check the input parameters.”
“Error initializing output stream 0:0 – Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height”

Mine is screenshot from my QNAP … maybe Windows platform doesn’t support it?
Saw this support document which looks like that’s the case if you’re not using nvidia. Maybe some other bug? It is beta…

Yeah, it just beta so Maybe they havn’t fully worked HDR tone mapping into windows yet.
I was excited based on this release note.

  • (Tonemapping) Added support for HW Tonemapping on Windows for some Intel devices (PM-532)
    I dont know how to look up more info on this. Like I said this version,

Worked Great, and the final post was
"I am closing this thread as this feature has officially been incorporated into the codebase and will be available in 1.41.0. "
Ah well. more patience required. Keep up the great work plex devs, excited to see this feature fully fleshed out.

Maybe related to this comment about some issues with a couple intel chips? I just happened to come across that one while digging around the forums about tonemapping before posting this topic.

Tonemapping algorithm isn’t the root issue with my comment.

We have, for a few processors (GeminiLake and CoffeeLake Refresh specifically), where we’re playing “whack-a-mole” with Intel’s drivers.

Fix one – break something else. It’s getting better but a REAL P.I.T.A :roll_eyes:

2 Likes

Okay… so I got some references but not ideal testing.

Using Plex Desktop on Mac this is the HDR reference:

Here is transcoding using Hable via Plex Web (Firefox):

Here is Mobius:

Here is Reinhard:

Another reference using Plex Desktop on iMac with HDR:

And transcoding via PlexWeb (firefox) with Hable:

Here is Mobius:

Here is Reinhard:

I didn’t test the others only because in the different discussion groups these three seemed to be the most preferred options.

It’s hard to say if one or the other is a clear “best” option. It’s definitely going to come down to preferences I think; and hardware config. So no way for there to be a right answer that’ll work for everyone. If you look in some of the other discussions about it folks get into the nitty gritty of setting manual settings for the algorithms too (personally I think that’d only be useful as a per client setting to try to get that specific).

I did the same tests on a 1080p TV and the differences weren’t as drastic as on my iMac but hable still seemed more accurate to the HDR - taking pictures of the TV did not represent the differences well so not going to bother posting them too.

I do tend to prefer darker over brighter myself so probably will stick with hable for now but am curious what others might find in testing things out too.

@ChuckPa - @PoppinJ mentioned HW transcoding overall wasn’t working in this build but was working in the earlier preview build so just wondered if it might’ve be related (irrespective of tonemapping). Thanks for clarifying it.

1 Like

Just to clarify, with this new Beta version HW transcoding works with 1080 content, and 4k SDR content. HDR HW transcoding is failing and falling back to CPU, where it worked on the preview build.

1 Like

The support articles have been updated with basic descriptions of the algorithms; we are working on finding HDR content we can legally use to generate screenshots to show the various differences. We had users asking to change the algorithm to hable, and knew there would be others who prefered mobius so I made it selectable. That being said, the new hw tonemapping for intel on windows does not support algorithm selection so the preference is not exposed.

I am aware tonemapping for intel on windows is broken for some users and am investigating.

4 Likes

The language added in the support article is a bit hard to understand unless you’re already familiar with these things. I’m minimally familiar and I have no idea what “Fit a logarithmic transfer between the tone curves” means so having those examples would probably provide the most help for us regular folks - that’s a good idea.

This site might have some that will work for legal examples?

At least those have been suggested in other forums\AV spaces as free use for testing HDR so might work for your test options too. IANAL though - just have used them myself for testing DV\HDR.

Overall it’s such a personal preference impacted by your own playback setup so I’m glad Plex has given us the option. Personally I like hable, but the discussion threads I came across were a lot of back and forth so I started this one here so folks could hear about different experiences. But really, it’s not hard to try out the options.

And like a lot of things with media playback experience, if you don’t actually compare you likely wouldn’t even notice the difference anyways (but now we can). :slight_smile:

Really liking the transcoding improvements being made recently - particularly the subtitles one - so very much appreciating Plex’s work to improve functionality. :+1:

Hi! Any news regarding this? I updated to latest public version (1.41.0.8992) and I’m suffering this issue (hw transcoding not working for HDR content…was working ok with 1.40 on N100 PC with W11)
br!!

1.41.0.8994, still failing:(

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.