ColorBars
| Contents | 
ColorBars ( [ int width, int height, string pixel_type ] )
ColorBars ( [ int width, int height, string pixel_type, bool staticframes ] ) AVS+
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".
- AVS+ "RGB32", "RGB64", "YUY2", or any planar RGB, 4:2:0 or 4:4:4 format.
 
- bool  staticframes = true 
 - AVS+ If set to false, generate all frames. Default true (one static frame is served)
 
ColorBarsHD ( [ int width, int height, string pixel_type ] )
ColorBarsHD ( [ int width, int height, string pixel_type, bool staticframes ] ) AVS+
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".
- AVS+ "YV24" or other 4:4:4 format.
 
- bool  staticframes = true 
 - AVS+ If set to false, generate all frames. Default true (one static frame is served)
 
A note on notation
This page adopts the ITU style when discussing video levels which might be represented at different bit depths:
“ To avoid confusion between 8-bit and 10-bit representations, the eight most-significant bits are considered to be an integer part while the two additional bits, if present, are considered to be fractional part.
For example, the bit pattern 10010001 would be expressed as 145d, 
whereas the pattern 1001000101 would be expressed as 145.25d.”
Video levels shown below with the subscript "d" are assumed to be scaled by 2^(bit depth-8). 
For example, 235d at bit depth 10 becomes 235 × 2^(10-8) =  235 × 4 = 940.
TV range
For both filters, in all color formats, luminance levels are TV range, where black=16d
and white=235d, within a total possible range of 0-255d. 
The table below show the TV-range values ColorBarsHD generates, and those same values as they should be after converting to full range.
- Yfull = (Ytv-16d) × 255d/(235d-16d) // (for R, G, B, Y)
- Ufull = (Utv-128d) × 255d/(240d-16d) + 128d // (for U, V)
- Ytv = Yfull × (235d-16d)/255d + 16d // (for R, G, B, Y)
- Utv = (Ufull-128d) × (240d-16d)/255d + 128d // (for U, V)
- Color bar - TV range output - (expanded to full range) - R - G - B - Y - U - V - R - G - B - Y - U - V - 75% White - 180d - 180d - 180d - 180d - 128d - 128d - 191d - 191d - 191d - 191d - 128d - 128d - 75% Yellow - 180d - 180d - 16d - 168d - 44d - 136d - 191d - 191d - 0d - 177d - 32d - 137d - 75% Cyan - 16d - 180d - 180d - 145d - 147d - 44d - 0d - 191d - 191d - 150d - 149d - 32d - 75% Green - 16d - 180d - 16d - 134d - 63d - 52d - 0d - 191d - 0d - 137d - 54d - 41d - 75% Magenta - 180d - 16d - 180d - 63d - 193d - 204d - 191d - 0d - 191d - 55d - 201d - 214d - 75% Red - 180d - 16d - 16d - 51d - 109d - 212d - 191d - 0d - 0d - 41d - 106d - 223d - 75% Bue - 16d - 16d - 180d - 28d - 212d - 120d - 0d - 0d - 191d - 14d - 223d - 118d 
These colors are at "75%" of maximum, per common broadcast practice. You may occasionally see "100%" color bars.[1] They are rather useless, as you cannot detect gain or saturation that is too high on a signal that is already at maximum.
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 relative to black. 
Note 'IRE' is used here to mean 'percent luminance', on a scale from 0 (black) to 100 (white), ignoring the varying broadcast standards where black might be 0 IRE or 7.5 IRE depending on the country.
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 - 0d - 58d - 98d - 16d - 158d - 95d - -19d - 49d - 95d - 0d - 162d - 90d - 100% White - 235d - 235d - 235d - 235d - 128d - 128d - 255d - 255d - 255d - 255d - 128d - 128d - +Q - 59d - 15d - 126d - 16d - 174d - 149d - 50d - -1d - 128d - 0d - 180d - 151d - Black - 16d - 16d - 16d - 16d - 128d - 128d - 0d - 0d - 0d - 0d - 128d - 128d - -4 IRE - 7d - 7d - 7d - 7d - 128d - 128d - -10d - -10d - -10d - -10d - 128d - 128d - Black - 16d - 16d - 16d - 16d - 128d - 128d - 0d - 0d - 0d - 0d - 128d - 128d - +4 IRE - 25d - 25d - 25d - 25d - 128d - 128d - 10d - 10d - 10d - 10d - 128d - 128d - Black - 16d - 16d - 16d - 16d - 128d - 128d - 0d - 0d - 0d - 0d - 128d - 128d - (negative values will be clipped to 0) 
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 (16d-235d) to full-range (0-255d) 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 16-235d range in the -I and the -4 bars. These cannot be accurately converted to 0-255d range.
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". | 


