ColorBars
Raffriff42 (Talk | contribs) m (set your monitor brightness...) |
Raffriff42 (Talk | contribs) (color tables: show both TV range and full range) |
||
Line 45: | Line 45: | ||
For both filters, in all color formats, luminance levels are [[Luminance_levels#What_are_luminance_levels.3F|TV range]], where 0 [[Wikipedia:IRE_(unit)|IRE]] "black"=16<br> | For both filters, in all color formats, luminance levels are [[Luminance_levels#What_are_luminance_levels.3F|TV range]], where 0 [[Wikipedia:IRE_(unit)|IRE]] "black"=16<br> | ||
and 100 IRE "white"=235, within a total possible range of 0-255. | and 100 IRE "white"=235, within a total possible range of 0-255. | ||
+ | |||
+ | The table below show the TV-range values '''ColorBars''' generates, and those same values as they should be after converting to full range. | ||
:{| class="wikitable" | :{| class="wikitable" | ||
− | ! Color bar | + | !rowspan="2" style="width:10em"| Color bar |
+ | !colspan="7"| TV range output | ||
+ | ! | ||
+ | !colspan="7"| (expanded to full range) | ||
+ | |- | ||
+ | ! R | ||
+ | ! G | ||
+ | ! B | ||
+ | ! | ||
+ | ! Y | ||
+ | ! U | ||
+ | ! V | ||
+ | ! | ||
! R | ! R | ||
! G | ! G | ||
Line 62: | Line 76: | ||
| style="text-align:right"| | | style="text-align:right"| | ||
| style="text-align:right"| 180 | | style="text-align:right"| 180 | ||
+ | | style="text-align:right"| 128 | ||
+ | | style="text-align:right"| 128 | ||
+ | | | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| | ||
+ | | style="text-align:right"| 191 | ||
| style="text-align:right"| 128 | | style="text-align:right"| 128 | ||
| style="text-align:right"| 128 | | style="text-align:right"| 128 | ||
Line 73: | Line 95: | ||
| style="text-align:right"| 44 | | style="text-align:right"| 44 | ||
| style="text-align:right"| 142 | | style="text-align:right"| 142 | ||
+ | | | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| | ||
+ | | style="text-align:right"| 170 | ||
+ | | style="text-align:right"| 30 | ||
+ | | style="text-align:right"| 144 | ||
|- | |- | ||
| '''75% Cyan''' | | '''75% Cyan''' | ||
Line 82: | Line 112: | ||
| style="text-align:right"| 156 | | style="text-align:right"| 156 | ||
| style="text-align:right"| 44 | | style="text-align:right"| 44 | ||
+ | | | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| | ||
+ | | style="text-align:right"| 134 | ||
+ | | style="text-align:right"| 161 | ||
+ | | style="text-align:right"| 30 | ||
|- | |- | ||
| '''75% Green''' | | '''75% Green''' | ||
Line 91: | Line 129: | ||
| style="text-align:right"| 72 | | style="text-align:right"| 72 | ||
| style="text-align:right"| 58 | | style="text-align:right"| 58 | ||
+ | | | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| | ||
+ | | style="text-align:right"| 112 | ||
+ | | style="text-align:right"| 63 | ||
+ | | style="text-align:right"| 46 | ||
|- | |- | ||
| '''75% Magenta''' | | '''75% Magenta''' | ||
Line 100: | Line 146: | ||
| style="text-align:right"| 184 | | style="text-align:right"| 184 | ||
| style="text-align:right"| 198 | | style="text-align:right"| 198 | ||
+ | | | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| | ||
+ | | style="text-align:right"| 79 | ||
+ | | style="text-align:right"| 193 | ||
+ | | style="text-align:right"| 210 | ||
|- | |- | ||
| '''75% Red''' | | '''75% Red''' | ||
Line 109: | Line 163: | ||
| style="text-align:right"| 100 | | style="text-align:right"| 100 | ||
| style="text-align:right"| 212 | | style="text-align:right"| 212 | ||
+ | | | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| | ||
+ | | style="text-align:right"| 57 | ||
+ | | style="text-align:right"| 95 | ||
+ | | style="text-align:right"| 226 | ||
|- | |- | ||
| '''75% Bue''' | | '''75% Bue''' | ||
Line 118: | Line 180: | ||
| style="text-align:right"| 212 | | style="text-align:right"| 212 | ||
| style="text-align:right"| 114 | | style="text-align:right"| 114 | ||
+ | | | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| 0 | ||
+ | | style="text-align:right"| 191 | ||
+ | | style="text-align:right"| | ||
+ | | style="text-align:right"| 22 | ||
+ | | style="text-align:right"| 226 | ||
+ | | style="text-align:right"| 112 | ||
|} | |} | ||
These colors are at "75%" of maximum, per common broadcast practice. <br> | These colors are at "75%" of maximum, per common broadcast practice. <br> | ||
Line 129: | Line 199: | ||
This section documents the '''ColorBars''' pluge only; '''ColorBarsHD''''s pluge is similar, but dispenses with -I and +Q | This section documents the '''ColorBars''' pluge only; '''ColorBarsHD''''s pluge is similar, but dispenses with -I and +Q | ||
</div> | </div> | ||
+ | |||
+ | The table below show the TV-range values '''ColorBars''' generates, and those same values as they should be after converting to full range. | ||
:{| class="wikitable" | :{| class="wikitable" | ||
− | ! PLUGE Element | + | !rowspan="2" style="width:10em"| PLUGE Element |
+ | !colspan="7"| TV range output | ||
+ | ! | ||
+ | !colspan="7"| (expanded to full range) | ||
+ | |- | ||
+ | ! R | ||
+ | ! G | ||
+ | ! B | ||
+ | ! | ||
+ | ! Y | ||
+ | ! U | ||
+ | ! V | ||
+ | ! | ||
! R | ! R | ||
! G | ! G | ||
Line 148: | Line 232: | ||
| style="text-align:right"|158 | | style="text-align:right"|158 | ||
| style="text-align:right"|95 | | style="text-align:right"|95 | ||
+ | | | ||
+ | | style="text-align:right"|-19 | ||
+ | | style="text-align:right"|49 | ||
+ | | style="text-align:right"|95 | ||
+ | | | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|168 | ||
+ | | style="text-align:right"|90 | ||
|- | |- | ||
| '''100% White''' | | '''100% White''' | ||
Line 155: | Line 247: | ||
| | | | ||
| style="text-align:right"|235 | | style="text-align:right"|235 | ||
+ | | style="text-align:right"|128 | ||
+ | | style="text-align:right"|128 | ||
+ | | | ||
+ | | style="text-align:right"|255 | ||
+ | | style="text-align:right"|255 | ||
+ | | style="text-align:right"|255 | ||
+ | | | ||
+ | | style="text-align:right"|255 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
Line 166: | Line 266: | ||
| style="text-align:right"|174 | | style="text-align:right"|174 | ||
| style="text-align:right"|149 | | style="text-align:right"|149 | ||
+ | | | ||
+ | | style="text-align:right"|50 | ||
+ | | style="text-align:right"|-1 | ||
+ | | style="text-align:right"|128 | ||
+ | | | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|182 | ||
+ | | style="text-align:right"|152 | ||
|- | |- | ||
| '''0 IRE''' (Black) | | '''0 IRE''' (Black) | ||
Line 173: | Line 281: | ||
| | | | ||
| style="text-align:right"|16 | | style="text-align:right"|16 | ||
+ | | style="text-align:right"|128 | ||
+ | | style="text-align:right"|128 | ||
+ | | | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|0 | ||
+ | | | ||
+ | | style="text-align:right"|0 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
Line 182: | Line 298: | ||
| | | | ||
| style="text-align:right"|7 | | style="text-align:right"|7 | ||
+ | | style="text-align:right"|128 | ||
+ | | style="text-align:right"|128 | ||
+ | | | ||
+ | | style="text-align:right"|-10 | ||
+ | | style="text-align:right"|-10 | ||
+ | | style="text-align:right"|-10 | ||
+ | | | ||
+ | | style="text-align:right"|-10 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
Line 191: | Line 315: | ||
| | | | ||
| style="text-align:right"|16 | | style="text-align:right"|16 | ||
+ | | style="text-align:right"|128 | ||
+ | | style="text-align:right"|128 | ||
+ | | | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|0 | ||
+ | | | ||
+ | | style="text-align:right"|0 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
Line 200: | Line 332: | ||
| | | | ||
| style="text-align:right"|25 | | style="text-align:right"|25 | ||
+ | | style="text-align:right"|128 | ||
+ | | style="text-align:right"|128 | ||
+ | | | ||
+ | | style="text-align:right"|10 | ||
+ | | style="text-align:right"|10 | ||
+ | | style="text-align:right"|10 | ||
+ | | | ||
+ | | style="text-align:right"|10 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
Line 211: | Line 351: | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
| style="text-align:right"|128 | | style="text-align:right"|128 | ||
+ | | | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|0 | ||
+ | | | ||
+ | | style="text-align:right"|0 | ||
+ | | style="text-align:right"|128 | ||
+ | | style="text-align:right"|128 | ||
+ | |- | ||
+ | |style="text-align:right;line-height=70%" colspan="16"|''(negative values will be clipped to 0)'' | ||
|} | |} | ||
Revision as of 20:59, 13 March 2016
Contents |
ColorBars ( [ int width, int height, string pixel_type ] )
Produces a video clip containing SMPTE color bars (Rec. ITU-R BT.801-1) scaled to any image size.
By default, a 640×480, RGB32, TV range, 29.97 fps, 1 hour long clip is produced.
- int width = 640
- int height = 480
- Set size of the returned clip.
- string pixel_type = "RGB32"
- Set color format of the returned clip.
- May be any of the following: "YUY2", "YV12", "YV24" (v2.60), or (default) "RGB32".
ColorBarsHD ( [ int width, int height, string pixel_type ] )
Added in v2.60, ColorBarsHD produces a video clip containing SMPTE color bars
(Rec. ITU-R BT.709 / arib std b28 v1.0) scaled to any image size.
By default, a 1288×720, YV24, TV range, 29.97 fps, 1 hour long clip is produced.
- int width = 1288
- int height = 720
- Set size of the returned clip.
- string pixel_type = "YV24"
- Set color format of the returned clip. Must be "YV24".
TV range
For both filters, in all color formats, luminance levels are TV range, where 0 IRE "black"=16
and 100 IRE "white"=235, within a total possible range of 0-255.
The table below show the TV-range values ColorBars generates, and those same values as they should be after converting to full range.
Color bar TV range output (expanded to full range) R G B Y U V R G B Y U V 75% White 180 180 180 180 128 128 191 191 191 191 128 128 75% Yellow 180 180 16 162 44 142 191 191 0 170 30 144 75% Cyan 16 180 180 131 156 44 0 191 191 134 161 30 75% Green 16 180 16 112 72 58 0 191 0 112 63 46 75% Magenta 180 16 180 84 184 198 191 0 191 79 193 210 75% Red 180 16 16 65 100 212 191 0 0 57 95 226 75% Bue 16 16 180 35 212 114 0 0 191 22 226 112
These colors are at "75%" of maximum, per common broadcast practice.
You may occasionally see "100%" color bars.[1]
PLUGE
The lower part of the frame is called the PLUGE (also lowercase: "pluge") signal.
From left to right it consists of: -I, white, +Q, then a series of black and near-black bars: 0, -4, 0, +4 and 0 IRE.
This section documents the ColorBars pluge only; ColorBarsHD's pluge is similar, but dispenses with -I and +Q
The table below show the TV-range values ColorBars generates, and those same values as they should be after converting to full range.
PLUGE Element TV range output (expanded to full range) R G B Y U V R G B Y U V -I 0 58 98 16 158 95 -19 49 95 0 168 90 100% White 235 235 235 235 128 128 255 255 255 255 128 128 +Q 59 15 126 16 174 149 50 -1 128 0 182 152 0 IRE (Black) 16 16 16 16 128 128 0 0 0 0 128 128 -4 IRE 7 7 7 7 128 128 -10 -10 -10 -10 128 128 0 IRE (Black) 16 16 16 16 128 128 0 0 0 0 128 128 +4 IRE 25 25 25 25 128 128 10 10 10 10 128 128 0 IRE (Black) 16 16 16 16 128 128 0 0 0 0 128 128 (negative values will be clipped to 0)
"100% White" could also be called "100 IRE White."
The -I and +Q bars are vestigial artifacts of NTSC analog TV and are not really used any more.
The -4, 0 and +4 IRE bars can be used to set your monitor brightness – assuming your playback chain expands TV range (16-235) to full-range (0-255) as shown in the images above. The -4 IRE and 0 IRE bars should have the same apparent brightness (they should be as dark as the monitor can display), and the +4 should be a little brighter. If you can see the -4 bar, your monitor brightness is set too high; if you cannot see the +4 bar, your monitor brightness is set too low.[2]
Note, the pluge signal goes out of the 16-235 range in two places: -I (where R=0) and the -4 bar.
More information about the colorbars and the PLUGE can be found on the colorbars theory page.
Audio
For both filters, an audio tone is also generated. The tone is a 440Hz sine at 48KHz sample rate, 16 bit, stereo. The tone pulses in the right speaker, being turned on and off once every second. Level is 0 dBFS.
You can use Amplify to set a softer level (0dB can be a little deafening!)
ColorBarsHD AmplifyDB(-20)
Broadcasting organizations usually specify an "alignment tone" accompanying colorbars at anywhere from -12 to -20 dBFS; if sending materials to another party, be sure to get their preferred alignment tone level. The exact level doesn't matter as long as all parties agree to it.
Miscellaneous
- Note, that for example
ColorBars(pixel_type="YUY2")
- ...is equivalent to
ColorBars(pixel_type="RGB32") ConvertToYUY2(matrix="PC.601") # "PC.601" / "PC.709" don't scale the luma range
- When directly generating YUV format data, the color transitions are arranged to occur on a chroma-aligned boundary.
Changes
v2.60 |
|
v2.56 | Added pixel_type="YUY2"/"YV12". |