Selur's Little Message Board

Full Version: H.265 Color range: full -> limited
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I need advice regarding the conversion Color Range:

My input file is: 4K H.265 Color Range: full (MediaInfo data below)

When I re-encode it to H.265 for example, the Color Range of the output is also Full which is fine. 

I'm just wondering, what setting I should use if I want to have Color Range of output to be Limited without loosing a quality?

I've tried to use Shutter Encoder for it, but I got very bad looking color banding on uniform surfaces, for instance blue sky. 

Thank you. 

Code:
Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main@L6@Main
Codec ID                                 : hvc1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 30 s 80 ms
Bit rate                                 : 100 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 (60000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Bits/(Pixel*Frame)                       : 0.201
Stream size                              : 359 MiB (100%)
Title                                    : GoPro H.265
Language                                 : English
Encoded date                             : 2023-10-01 14:32:53 UTC
Tagged date                              : 2023-10-01 14:32:53 UTC
Color range                              : Full
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709
Codec configuration box                  : hvcC
You will lose information if you convert 0-255 to 16-235, no way around that. Big Grin

You could use:
a. Color->Basic->Levels and map the 0-255 input to 16-235 output.
b. Color->Basic->Limiter 16-235 to simply cut off the values.
c. Color->SmoothLevels to do something like Levels does, but with more control over the mapping.

Important: if you use a format that support VUI tagging, make sure that it is configured correctly.

Quote:I got very bad looking color banding on uniform surfaces
That sounds more like an issue since you used 8bit encoding without dithering, HEVC unlike H.264 supports 10bit in its main profile, so basically any decoder supports 10bit for HEVC.
https://en.wikipedia.org/wiki/Colour_banding
Dithering = adding grain, can be archived by a. directly adding grain or use a debanding filter to add the grain mainly in uniform color sections.



Cu Selur
Thank you for detailed reply

Quote:a. Color->Basic->Levels and map the 0-255 input to 16-235 output.
b. Color->Basic->Limiter 16-235 to simply cut off the values.
c. Color->SmoothLevels to do something like Levels does, but with more control over the mapping.

All these options work, however, after encoding (H.265) and checking file in MediaInfo, it always says that Color Range is Full
I'm pretty sure that some conversion has been done as I can see a bit of banding but it looks that I need to set some other parameter so that the output Color Range is Limited.
Quote:All these options work, however, after encoding (H.265) and checking file in MediaInfo, it always says that Color Range is Full
Make sure you properly set the VUI Signaling.

Cu Selur
Thanks for advice, but I don't know how to do that. I don't know what is " VUI Signaling" I must do some reading about it. 

Where can I find those settings in Hybrid?
That depends on the encoder you choose.
Since you mentioned you encode to H.265, I assume you use x265:
x265->Signaling->Video Usability Information->Range

Cu Selur
Thank you. I'll check that later. I mainly use H.265 (NVEnc)
In NVEnc the color range is set by '--colorrange limited/auto/full', I think Hybrid atm. lacks support to overwrite the color range this manually.
But you can set '--colorrange limited' under 'NVEnc->Misc->Addition', this should add it to the command line before the output and overwrite any previous settings.

If you just use NVEnc only (Only use encoder) you need to add '--vpp-colorspace range=full:limited on your own.

Cu Selur