Jump to content

My tone-mapped transcodes look worse than non-tone-mapped ones.


Recommended Posts

Posted

I've been going down the rabbit hole of trying to move my emby server over from a windows/nvidia workstation to an alder-lake N100 mini-PC transcoding via quicksync on linux, so there are a lot of variables at play.  That said, after I think I got everything right, I started checking tone-mapped files and it seems like my 'correct' HW tone-maps look more washed out, where my non-tone mapped transcodes more closely match the native HDR playback.

For reference, these screenshots were played back on a windows 11 laptop to what I believe is an HDR display.  Relevant info should be attached in each of the screenshots, but if I'm missing anything please let me know.  I will admit I am not an expert in these things so if I'm doing something obviously wrong, feel free to let me know.  Am I just a bad judge of which one is better?  I'm starting to think so.

Hardware Transcode using NVIDIA/HABLE tone mapping, HDR10-SDR

image.thumb.png.6f3f89cf55be7609d7baa5c3e3a69af9.png

Hardware Transcode using intel Quicksync with openCL tone mapping

image.thumb.png.16997d13fd16bb1ad62603e62d3798a2.png

Software transcode, no tone mapping

 

image.thumb.png.709ddebf8dc2fa9b6b64294e4bec2a91.png

Direct Play, No tone mapping

image.thumb.png.246d97460c0264fd251da1dbe9a2070c.png

RanmaCanada
Posted (edited)

Pretty sure linux is still broken for tone mapping and quicksync. And I will add tone mapping will never be close to the original.

step 1. download ubuntu LTS 22.04.04 (latest at the time)
step 2. Update the kernel to v6.5 ( i used google to find instructions )
step 3. install https://github.com/intel/compute-runtime/releases
step 5. use intel_gpu_top to verify if its working. Try different encodings to make sure you are good to g

Edited by RanmaCanada
Posted (edited)
12 hours ago, RanmaCanada said:

Pretty sure linux is still broken for tone mapping and quicksync. And I will add tone mapping will never be close to the original.

step 1. download ubuntu LTS 22.04.04 (latest at the time)
step 2. Update the kernel to v6.5 ( i used google to find instructions )
step 3. install https://github.com/intel/compute-runtime/releases
step 5. use intel_gpu_top to verify if its working. Try different encodings to make sure you are good to g

Thanks for the reference links.  My experience is the same as in the thread you linked me to where VAAPI tone mapping does not work at all and will just crash the transcode (I posted about this in the linux forum here).  Quicksync tone map does seem to work, but again, looks washed out to me like no tone-mapping is going on.  My alderlake setup is on Ubuntu 24.04 / Kernel 6.8.  I can try going backwards to 22.04.04 and 6.5 with the intel runtime added.

Im surprised to hear you say that tone mapping is broken in linux with quicksync.  My initial research said that linux was the only place where tone-mapping did work in hardware with quicksync.

The other odd part is that I now have 3 test systems, 1 on linux and two on windows, and the windows ones use both CUDA and software for tone mapping and none of them seem to work, whereas the non-tone-mapped transcode looks the closest to being correct (as visually compared to the file direct playing on an HDR television).

Edited by hooraah
Posted

It's an over-generalization that tone mapping and QuickSync are broken in Linux. It could be said the tone mapping and QuickSync might have problems with specific Intel CPUs and some Intel generations but this depends on the CPU and features.

Also, most find that Mobius is brighter and has more accurate color results than Hable.

  • Agree 2
Posted
On 8/19/2024 at 10:10 PM, Luke said:

@hooraah?

Luke, thanks for following up.  Its been challenging finding the time to go back and re-create my exact tests( as I did 4 separate ones) I did above to go and get the log files at a time when my family isnt using the server, but its still on my to-do list.  That said, I did include FFMPEG logs of my failing VA-API HDR10 transcodes in the thread linked below if that shows anything.

Now, that said, I have found some new information that might point to what is going on.  When doing a software transcode, no tone mapping, I *should* get colors that are washed out, but I wasn't, at least as shown above on a Windows 11 machine with an HDR monitor.  I have recently read somewhere that Windows 11 sometimes tries to simulate HDR on Non-HDR content.  When I tried playing the same content (software transcode, no HDR tone mapping) directly on the linux machine connected to the same monitor, the colors were VERY washed out and it was extremely noticeable that tone mapping was not occurring.  When I then enabled quick-sync tone mapping (again, on the linux machine using firefox), the color correction improved, but was not perfect and did not match true direct-play HDR displays.  Still, it was noticeably different from the same non-tone-mapped content.

So, I think the conclusion is that quicksync tone mapping IS working in linux, but VA-API tone mapping crashes and sometimes crashes the whole machine (I do not have a solution for this).  Additionally, I notice that non-tone-mapped HDR content appears washed out on Linux/firefox but does not appear washed out on Windows 11, possibly (but not confirmed) due to some HDR simulation.

If I get a chance, I will try to go back and re-run some of my tests and post the emby log files with it.

 

Posted

Here is a little more information.  I'm not sure its a windows 11 HDR correction, but a browser one.  It appears the Edge and Chrome both seem to correct non-tone-mapped content, but it washes out on firefox.

Windows10, Edge, Nvidia/CUDA HDR tone mapping

image.thumb.png.54d3aa901ab54c8d4de5ca2a2a3cee0f.png

Windows10, Edge, No tone mapping

image.thumb.png.8dc495db5c32290492638fb2627927eb.png

Windows10, Firefox, No tone-mapping

image.thumb.png.98c70550001a8dfd279f8a5099cfe9d9.png

Windows 10, Firefox, Quicksync tone-mapping

image.thumb.png.59c83514894ba523b3412eb58dbe70b5.png

Posted

That is odd, but i don't think it's browser related because if the server is transcoding to h264, then by the time the video reaches the browser, the HDR information is no longer there.

Anyway, please attach an ffmpeg log example from the one that you think doesn't look right. Thanks.

Posted

When transcoding HDR content Firefox for me has strange colors as well as long as the Emby button menu is visible, if i let the mouse idle for a bit and let the cursor disappear together with the button menu the colors comes back after a few seconds more.

Don't know if related.

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...