Jump to content

Tone-mapping in transcoding HDR for playback on SDR screens??


Go to solution Solved by Luke,

Recommended Posts

Posted

 Only a DOVI decoder can convert the false colors to correct colors.

Posted
8 hours ago, Mkilbride said:

Hey so, I'm wondering, why so Dolby Vision files not transcode to Normal HDR10 when not supported? When streaming to my friends HDR Only TV, the colors are all screwed up, usually with a green or purple filter. They don't even transcode to SDR. Just fucked up colors.

Bottom line is that to play Dolby Vision files, you need equipment that understands the proprietary format.

  • 1 month later...
Posted

PLEASE Fix Dolby Vision not being Tonemapped for people on non-DV devices. I dont' want to have to have DOUBLE episodes of everything.

  • 2 months later...
Posted

Hi

Are there any updates on the clients reporting the HDR status of their display back so SDR / HDR streams can be chosen without interaction?

Playing around with tonemapping and the various android clients I have Fire Tablet (Emby for Android 3.2.89), Fire TV (AndroidTv 2.0.79a), Chromecast HD (AndroidTv 2.0.83g) etc all try and play an HDR stream even though the OS (and attached display) is set to SDR. If you drop the streaming quality low enough so that the file has to be transcoded then tone mapping will kick in and the colours are as expected.     

Even a toggle similar to the supported audio formats (Always use SDR Y/N) would be great as I bet most people don't switch devices between displays all that often..

Thanks!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Agree 1
Posted
15 minutes ago, jon_ said:

Hi

Are there any updates on the clients reporting the HDR status of their display back so SDR / HDR streams can be chosen without interaction?

Playing around with tonemapping and the various android clients I have Fire Tablet (Emby for Android 3.2.89), Fire TV (AndroidTv 2.0.79a), Chromecast HD (AndroidTv 2.0.83g) etc all try and play an HDR stream even though the OS (and attached display) is set to SDR. If you drop the streaming quality low enough so that the file has to be transcoded then tone mapping will kick in and the colours are as expected.     

Even a toggle similar to the supported audio formats (Always use SDR Y/N) would be great as I bet most people don't switch devices between displays all that often..

Thanks!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

The issue is the device capability is being got from the playback device - not the display device.    

This is yet another reason why I'd like the 'devices' to be fully configurable with capabilities that overwrite 'auto' settings - as then you could set it to 'force SDR' for example - as you know it is connected to an SDR only TV.   

Emby tries to be smart - but in somes cases, it's way off because it does not have all the information to make a calculated decision.

  • Like 2
Posted
8 hours ago, rbjtech said:

The issue is the device capability is being got from the playback device - not the display device.    

This is yet another reason why I'd like the 'devices' to be fully configurable with capabilities that overwrite 'auto' settings - as then you could set it to 'force SDR' for example - as you know it is connected to an SDR only TV.   

Emby tries to be smart - but in somes cases, it's way off because it does not have all the information to make a calculated decision.

Actually android is able to incorporate the capabilities of both the device and display.

Posted
7 hours ago, Luke said:

Actually android is able to incorporate the capabilities of both the device and display.

Ah ok - thanks - that's useful to know. 

Like the OP - I have a 4K FireTV linked to a 1080p/SDR TV - because the client is 4K/hdr capable - it will direct play the file - but the output is SDR.    Thus the colours are totally off.

Scaling (down) is done by the FireTV (or the TV I guess) so that is not the issue.

If the full 'chain' is known, then it should transcode because of the HDR>SDR requirement - and (maybe) because of the 4K>1080p requirement as well ?

@softworkz

Posted

This is a problem on several devices. I asked early on to have a config option in the client that can be used to force transcoding HDR to SDR.
Some clients get this correct such as the Shield and Xiaomi Mi (configured correctly) but other devices like the FireTV/Sticks "lie" to Emby.

The sure fire way to fix this on a per client basis is to have an option "Force HDR to SDR on the Server".  When checked Emby Server would either use a non HDR version if the media is stacked or would transcode/tonemap the HDR to SDR.

What I don't remember as it's been a while since testing is if a FireStick (example) can tonemap HDR+ but not one of the other formats. So it would be worth checking to see if the device can tonemap any of the HDR formats.

  • Like 1
Posted
10 hours ago, cayars said:

What I don't remember as it's been a while since testing is if a FireStick (example) can tonemap HDR+ but not one of the other formats. So it would be worth checking to see if the device can tonemap any of the HDR formats.

Not that I can see - this is on a Cube 2nd Gen - so relatively new.

Having capabilities per device override does seem an obvious thing to add - but unless this was architected in from the start - probably a difficult thing to now add. 

  • Like 1
  • 1 month later...
gongdao123@gmail.com
Posted
On 5/3/2021 at 7:12 PM, niallobr said:

Very similar findings here on 8700K Coffee Lake.

- Software bt.2390 looks great

- Native VAAPI is very dark and not really usable

- OpenCL has higher brightness which can be adjusted nicely using the Tonemap Paramaters but all colours still look desaturated and there seems to be a green or yellow hue in videos I've tested. Skin tones aren’t looking natural.

- QuickSync I just get a mix of colours on non HDR videos (already reported)

Currently using Reinhard with Tonemap Paramaters 0.7. Desaturation Strength 0 (default).

Thanks for the link @softworkz I’ll try those out during the week.

Same here, and after some digging I found this.
https://github.com/intel/media-driver#video-processing-features

Seems HDR10 Tone Mapping only support ice lake and tiger lake + ,  i7 8700 is coffee lake (KBL+)
So it appears OpenCL is the only way to go for us.

@softworkz May be we need should only use Native VAAPI for ice lake and tiger lake +, and rest should use OpenCL?

Posted
4 hours ago, gongdao123@gmail.com said:

Same here, and after some digging I found this.
https://github.com/intel/media-driver#video-processing-features

Seems HDR10 Tone Mapping only support ice lake and tiger lake + ,  i7 8700 is coffee lake (KBL+)
So it appears OpenCL is the only way to go for us.

@softworkz May be we need should only use Native VAAPI for ice lake and tiger lake +, and rest should use OpenCL?

Intel's tone mapping uses a 3D lookup table which has the consequence that it cannot be configured. There are no parameters, no algorithm selection, etc, so there results are either okay or not and if not, there's nothing you can do.

Their tone mapping is quite notably bit faster than the OpenCL tone mapping that ffmpeg has. But our Super-T and Extra-T OpenCL tone mapping is different. At least one of the two is usually getting close to Intel's LUT tone mapping.

So, there is not really a drawback in not having Intel's tone mapping.

  • Agree 1
  • 2 years later...
sh0rty
Posted (edited)

Should auto detection work now? I set up Emby 3.5.17 on my bedroom FireTV 2nd Gen Box connected to a 1080p SDR TV since the ATV/FTV app did not play a single stream anymore. All HDR/HDR10Plus//DV files are direct played with the 3.5.21 app, so the colors are crap. Lowering bitrate below the source bitrate is the only solution to let tonemapping kick in and make the video enjoyable. Or is there a setting I'm missing?

Imo a client side setting like "enable Tonemapping" would be beneficial to circumvent errors in the playback chain detection.

Edited by sh0rty
Posted
49 minutes ago, sh0rty said:

Should auto detection working now? I set up Emby 3.5.21 on my bedroom FireTV 2nd Gen Box connected to a 1080p SDR TV since the ATV/FTV app did not play a single stream anymore. All HDR/HDR10Plus//DV files are direct played with the 3.5.21 app, so the colors are crap. Lowering bitrate below the source bitrate is the only solution to let tonemapping kick in and make the video enjoyable. Or is there a setting I'm missing?

Imo a client side setting like "enable Tonemapping" would be beneficial to circumvent errors in the playback chain detection.

Hi.  Can you try searching for our standard android app (Just "Emby" on Amazon and "Emby for Android on Google) on the same device's app store and see how that compares?

Thanks.

 

sh0rty
Posted (edited)
50 minutes ago, ebr said:

Hi.  Can you try searching for our standard android app (Just "Emby" on Amazon and "Emby for Android on Google) on the same device's app store and see how that compares?

Thanks.

 

Sorry, typo. 3.5.17 is the version from Amazon store I'm using. I thought the FireTV and Android unified apps have same versioning. I'm not using the ATV version. Above problems happen with the app you want everybody to use. Hardwarewise the box is capable of 4K and HDR, but not tonemapping. Connected TV is a 1080p SDR display, FireTV settings are 1080p SDR 50Hz.

Edited by sh0rty
GrimReaper
Posted (edited)
On 1/2/2026 at 2:28 PM, sh0rty said:

Should auto detection work now? I set up Emby 3.5.17 on my bedroom FireTV 2nd Gen Box connected to a 1080p SDR TV since the ATV/FTV app did not play a single stream anymore. All HDR/HDR10Plus//DV files are direct played with the 3.5.21 app, so the colors are crap. Lowering bitrate below the source bitrate is the only solution to let tonemapping kick in and make the video enjoyable. Or is there a setting I'm missing?

Imo a client side setting like "enable Tonemapping" would be beneficial to circumvent errors in the playback chain detection.

 

22 hours ago, sh0rty said:

Sorry, typo. 3.5.17 is the version from Amazon store I'm using. I thought the FireTV and Android unified apps have same versioning. I'm not using the ATV version. Above problems happen with the app you want everybody to use. Hardwarewise the box is capable of 4K and HDR, but not tonemapping. Connected TV is a 1080p SDR display, FireTV settings are 1080p SDR 50Hz.

"Playback correction" in the OSD cog menu should trigger transcoding (and tonemapping) without lowering in-app quality/bitrate. 

Edited by GrimReaper
  • Thanks 1
sh0rty
Posted
2 hours ago, GrimReaper said:

 

"Playback correction" in the OSD cog menu should trigger transcoding (and tonemapping) without lowering in-app quality/bitrate. 

Thanks for clarification Grim.

The followup is: Since 7 years, users raise the question to have a force setting for transcoding+tonemapping HDR content, specially when Emby playback chain detection on the client does not even work that reliable as the team believes. There are more threads than this one regarding that topic. The sad thing is, such a setting is existing for Audio (convert non supported Surround-Audio to AC3). But nothing happens. User must go to OSD menu and trigger playback correction. You can't make this up. 7 years.

  • Like 1
GrimReaper
Posted
4 hours ago, sh0rty said:

The followup is: Since 7 years, users raise the question to have a force setting for transcoding+tonemapping HDR content, specially when Emby playback chain detection on the client does not even work that reliable as the team believes. There are more threads than this one regarding that topic. The sad thing is, such a setting is existing for Audio (convert non supported Surround-Audio to AC3). But nothing happens. User must go to OSD menu and trigger playback correction. You can't make this up. 7 years.

Sure, was just providing temporary relief/workaround until - if ever - force transcoding option gets implemented.

  • Like 1

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