Thread: Avisynth+
View Single Post
Old 21st August 2019, 12:32   #4821  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
Quote:
Originally Posted by magiblot View Post
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.

Last edited by FranceBB; 22nd August 2019 at 22:30.
FranceBB is offline