Quote:
Originally Posted by magiblot
What is the range of expected pixel values for floating-point formats? [0..1], [0..255/256], or the former for RGB and the latter for YUV?
|
8bit:
Full Range 0-255 / Limited TV Range: 16-235
10bit:
Full Range 0-1023 / Limited TV Range: 64-940
12bit:
Full Range 0-4080 / Limited TV Range: 256-3760
14bit:
Full Range 0-16320 / Limited TV Range: 1024-15040
16bit:
Full Range 0-65280 / Limited TV Range: 4096-60160
32bit float:
Full Range 0.0-0.99609375 / Limited TV Range: 0.0625-0.91796875
This simulates clipping a 32bit signal:
Code:
ColorBars(848, 480, pixel_type="YV12")
ConvertBits(32, truerange=true)
Limiter(min_luma=0.0625, max_luma=0.91796875)
Wrongly clipping 8bit values from a 32bit float clip:
Code:
ColorBars(848, 480, pixel_type="YV12")
ConvertBits(32, truerange=true)
Limiter(min_luma=16, max_luma=235)
I personally work with 16bit precision which I think it's enough when my output is gonna be dithered down to 8bit for SD, HD and FULL HD footages, 10bit for UHD broadcast footages and 12bit for UHD Masterfiles.
So far I haven't used 32bit precision in a real world scenario, but still, it's kinda cool to have such an high bit depth.