Chapter 13. Using VL Controls

VL controls enable you to:

Topics in this chapter include:

Device-independent controls are documented in /usr/include/dmedia/vl.h. Device-dependent controls are documented in the respective header files for the devices: dmedia/vl_vino.h (VINO), dmedia/vl_ev1.h (Galileo Video), and dmedia/vl_sv1.h (Sirius Video).

Table 13-1 lists device-independent VL controls alphabetically, along with their values or ranges. See the Sirius Video Owner's and Programming Guide for Sirius Video controls.


Note: All controls are available for all platforms unless otherwise noted. The reference “Galileo Video” includes Indigo2 Video and Indy Video, unless otherwise noted.


Table 13-1. Device-Independent VL Controls

Control

Sets

VINO

Indigo2 Video and Indy Video

Galileo
Video

VL_BLEND_A

Input source for foreground (channel A) image

N/A

VLNode type derived from vlGetNode(); must be one of the source nodes

 

VL_BLEND_B

Input source for background (channel B) image

N/A

VLNode type derived from vlGetNode(); must be one of the source nodes

 

VL_BLEND_A_ALPHA

Input source for foreground (channel A) alpha

N/A

N/A

N/A

VL_BLEND_B_ALPHA

Input source for background (channel B) alpha

VLNode type derived from vlGetNode(); must be one of the source nodes

 

 

VL_BLEND_A_FCN

Blend function that controls mixing of foreground (channel A) signals

N/A

VL_BLDFCN_ZERO
VL_BLDFCN_ONE
VL_BLDFCN_A_ALPHA:
(foreground alpha)/255
VL_BLDFCN_MINUS_A_ALPHA:
1 - ((foreground alpha) / 255)

 

VL_BLEND_B_FCN

Blend function that controls mixing of background (channel B) signals

N/A

VL_BLDFCN_ZERO
VL_BLDFCN_ONE
VL_BLDFCN_B_ALPHA:
(background alpha)/255
VL_BLDFCN_MINUS_B_ALPHA:
1 - ((background alpha) / 255)

 

VL_BLEND_A_NORMALIZE

Follows Porter-Duff model (background (channel A) pixels premultiplied by their corresponding alphas before blending)

N/A

N/A

N/A

VL_BLEND_B_NORMALIZE

Premultiplies foreground (channel B) by alpha

N/A

0 = off
1 = on

0 = off
1 = on

VL_BLEND_OUT_NORMALIZE

Scaled output from blender

N/A

N/A

N/A

VL_BRIGHTNESS

Brightness

N/A

N/A

N/A

VL_CAP_TYPE

Type of frame(s) or field(s) to capture; see “Interlacing” in Chapter 11

VL_CAPTURE_NONINTERLEAVED
VL_CAPTURE_INTERLEAVED
VL_CAPTURE_EVEN_FIELDS
VL_CAPTURE_ODD_FIELDS

 

 

VL_CONTRAST

 

N/A

N/A

N/A

VL_DEFAULT_SOURCE

Default source for the video path

VL_VINO_SRC_DV_IN
VL_VINO_SRC_AV_IN

If either VINO analog channel is active when the first video application starts, the default is analog; otherwise, the default is digital (corresponding to the IndyCam).

 

Analog: set 0
Digital 1: set 1
Digital 2: set 2
Indigo2 Video, Indy Video:
Analog only: set 0

VL_FORMAT

Video format

N/A

 

VL_FORMAT_RGB
(output only)
VL_FORMAT_BETACAM (input and output)
VL_FORMAT_SMPTE_YUV (input and output)

VL_FREEZE

Data transfer freeze; suspends transfer at the memory drain node, with no picture regeneration

0 = off
1 = on

0 = off
1 = on

0 = off
1 = on

VL_H_PHASE

Horizontal phase

N/A

 

Integer
VL_EV1_H_PHASE

VL_HUE

Hue; the control panel vcp does numerator and denominator calculations

(-180,178 19/32) in steps of 1 13/32 degrees

 

 

VL_MUXSWITCH

Switch between inputs on a single path, corresponding to the physical connector to the option

Analog node VL_VINO_SRC_AV_I
VL_VINO_COMPOSITE
VL_VINO_SVIDEO

Digital node VL_VINO_SRC_DV_IN:
VL_VINO_INDYCAM
VL_VINO_CCIR601

Y/C (RCA jacks)
set 0

Y/C (S-Video connector):
set 1

Composite input 1: set 3; input 2: set 5

S-Video
input 1: set 0
input 2: set 1
input 3: set 2

Composite
input 1: set 3
input 2: set 4;
input 3: set 5

Y/R–Y/B–Y
input 1: set 6
input 2: set 7

VL_OFFSET

On VL_VIDEO nodes, the offset to the active region of the video; on all other nodes, the offset within the video

Because the default is 0,0, use negative values to get blanking data

Coordinates; default is 0,0

 

 

VL_ORIGIN

Upper left corner of image in drain (usually a window); the offset within the node;

N/A

Coordinates; default is 0,0

 

VL_PACKING

Packing of video data at source or drain

VL_PACKING_ABGR_8
VL_PACKING_AUYV_8
VL_PACKING_AYU_AYV_10
VL_PACKING_A_2_BGR_10
VL_PACKING_A_2_UYV_10
VL_PACKING_BGR_332
VL_PACKING_BGR_332_IP
VL_PACKING_MAX
VL_PACKING_RBG_323
VL_PACKING_RGBA_8
VL_PACKING_RGB_10
VL_PACKING_RGB_332
VL_PACKING_RGB_332_IP
VL_PACKING_RGB_332_P (VINO default)
VL_PACKING_RGB_565
VL_PACKING_RGB_565_IP
VL_PACKING_RGB_565_P
VL_PACKING_RGB_8
VL_PACKING_RGB_8_P
VL_PACKING_VUY_411_SV
VL_PACKING_YUVA_4444_10
VL_PACKING_YUVA_4444_8
VL_PACKING_YUV_444_10
VL_PACKING_YUV_444_8
VL_PACKING_YVYU_422_8
VL_PACKING_Y_8_IP
VL_PACKING_Y_8_P

 

 

VL_RATE

Transfer rate in fields or frames

With a VL_CAP_TYPE of VL_CAPTURE_NONINTERLEAVED only:
NTSC: 5, 6, 10, 12, 15, 18, 20, 24, 25, 30
PAL: 5, 10, 15, 20, 25

With a VL_CAP_TYPE of VL_CAPTURE_INTERLEAVED,
VL_CAPTURE_EVEN_FIELDS, or
VL_CAPTURE_ODD_FIELDS:
NTSC: 10, 12, 20, 24, 30, 36, 40, 48, 50, 60
PAL: 10, 20, 30, 40, 50

 

 

VL_SIGNAL

 

N/A

N/A

N/A

VL_SIZE

On VL_VIDEO nodes, the size of the video; on all other nodes, the clipped size of the video

Coordinates; default depends on signal

 

 

VL_SYNC

Sync mode

N/A

VL_SYNC_INTERNAL
VL_SYNC_GENLOCK

 

VL_SYNC

Slave sync mode

N/A

N/A

VL_EV1_SYNC_SLAVE

VL_SYNC_SOURCE

Sets sync source for analog breakout box

N/A

only one sync input

Composite 1: set 0
Composite 2: set 2

Composite 1: set 0
Composite 2: set 1
Composite 3: set 2

VL_TIMING

Video timing

Default: timing produced by active signal

For Betacam, MII, composite tape formats:
Analog: 12.27 MHz, 646 x 486 (NTSC): VL_TIMING_525_SQ_PIX
Analog: 14.75 MHz, 768 x 576 (PAL): VL_TIMING_625_SQ_PIX (VINO default)

For D1 tape formats:
Digital component: 13.50 MHz, 720 x 486: VL_TIMING_525_CCIR601
Digital component: 13.50 MHz, 720 x 576: VL_TIMING_625_CCIR601

For D2 tape formats:
4X NTSC subcarrier, 14.32 MHz, 768 x 486: VL_TIMING_525_4FSC
4X PAL subcarrier, 17.72 MHz, 948 x 576: VL_TIMING_625_4FSC

 

 

VL_V_PHASE

Vertical phase

N/A

Integer

Integer

VL_WINDOW

Window ID for video in a window (screen node only)

N/A

Integer

Integer

VL_ZOOM

Zoom factor for video stream; fractions greater than 1 expand the picture, fractions less than one reduce the picture

1/1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8

4/1, 2/1, 1/1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8

4/1, 2/1, 1/1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8



Note: For information on controls for keying, blending, or wipes, see Chapter 15, “VL Blending.”

For detailed information on using VL_CAP_TYPE, VL_FORMAT, VL_MUXSWITCH, VL_OFFSET, VL_PACKING, VL_RATE, VL_SIZE, VL_TIMING, and VL_ZOOM, see “Setting Parameters for Data Transfer to or from Memory” in Chapter 12.

VL Control Type and Values

The type of VL controls is:

typedef long VLControlType;

Common types used by the VL to express the values returned by the controls are:

typedef struct __vlControlInfo {
 char name[VL_NAME_SIZE]; /* name of control */
 VLControlType type; /* e.g. WINDOW, HUE */
 VLControlClass ctlClass; /* SLIDER, DETENT, KNOB, BUTTON */
 VLControlGroup group; /* BLEND, VISUAL QUALITY, SYNC */
 VLNode node; /* associated node */
 VLControlValueType valueType; /* what kind of data */
 int valueCount; /* how many data items */
 uint numFractRanges; /* number of ranges */
 VLFractionRange *ranges; /* range of values of control */

 uint numItems; /* number of enumerated items */
 VLControlItem *itemList; /* the actual enumerations */
} VLControlInfo;

To store the value of different controls, libvl.a uses the struct:

typedef union {
 VLFraction fractVal;
 VLBoolean boolVal;
 int intVal;
 VLXY xyVal;
 uint pad[24];
} VLControlValue;

typedef struct {
 int x, y;
} VLXY;

typedef struct {
 int numerator;
 int denominator;
} VLFraction;

The control info structure is returned by a vlGetControlInfo() call, and it contains many of the items discussed above.

VLControlInfo.number is the number of the VLControlInfo.node that the info pertains to. There may be several controls of the same type on a particular node, but usually there is just one.

VLControlInfo.numFractRanges is the number of fraction ranges for a particular control. The names correspond 1-to-1 with the rangeNames, up to the number of range names, numRangeNames. That is, there may be fewer names than ranges, but never more.

VL Control Fraction Ranges

The VL uses fraction ranges to represent the values possible for a control. A VLFractionRange generated by the VL is guaranteed never to generate a fraction with a zero denominator, or a fractional numerator or denominator.

For a VLProgressionType of VL_LINEAR, numerator.increment and denominator.increment are guaranteed to be greater than zero, and the limit is always guaranteed to be {numerator,denominator}.base, plus some integral multiple of {numerator,denominator}.increment.

The type definition for fraction types in the header file is:

typedef struct {
    VLRange numerator;
    VLRange denominator;
} VLFractionRange;

VL Control Classes

The VL defines control classes for user-interface developers. The classes are hints only; they are the VL developer's idea of how the control is commonly represented in the real world.

#define VL_CLASS_NO_UI            0
#define VL_CLASS_SLIDER           1
#define VL_CLASS_KNOB             2
#define VL_CLASS_BUTTON           3
#define VL_CLASS_TOGGLE           4
#define VL_CLASS_DETENT_KNOB      5
#define VL_CLASS_LIST             6

In the list above, VL_CLASS_NO_UI is often used for controls that have no user-interface metaphor and are not displayed in the video control panel or saved in the defaults file.

The VL controls can be read-only, write-only, or both. The VL includes these macros:

#define VL_CLASS_RDONLY      0x8000    /* control is read-only */
#define VL_CLASS_WRONLY      0x4000    /* control is write-only */

#define VL_IS_CTL_RDONLY(x) ((x)->class & VL_CLASS_RDONLY)
#define VL_IS_CTL_WRONLY(x) ((x)->class & VL_CLASS_WRONLY)
#define VL_IS_CTL_RW(x)      (!(VL_IS_CTL_RDONLY(x) &&
                                VL_IS_CTL_WRONLY(x)))

to test these conditions:

#define VL_CLASS_MASK        0xfff

typedef unsigned long VLControlClass; /* from list above */


VL Control Groupings

Like control class, control grouping is an aid for the user-interface developer. The groupings are the VL developer's idea of how the controls would be grouped in the real world. These groupings are implemented in the video control panel vcp.

The type definition for groupings is:

typedef char NameString[80];
#define VL_CTL_GROUP_PATH     9    /* Path Controls */

The maximum length of a control or range name is VL_NAME_SIZE.

Table 13-2 summarizes the VL control groupings.

Table 13-2. VL Control Groupings

Grouping

Includes controls for...

VL_CTL_GROUP_BLENDING

Blending; for example, VL_BLEND_B

VL_CTL_GROUP_VISUALQUALITY

Visual quality of sources or drains; for example, VL_H_PHASE or VL_V_PHASE

VL_CTL_GROUP_SIGNAL

Signal of sources or drains; for example, VL_MUXSWITCH or VL_HUE

VL_CTL_GROUP_CODING

Encoding or decoding sources or drains; for example, VL_TIMING or VL_FORMAT

VL_CTL_GROUP_SYNC

Synchronizing video sources or drains; for example, VL_SYNC

VL_CTL_GROUP_ORIENTATION

Orientation or placement of video signals; for example, VL_ORIGIN

VL_CTL_GROUP_SIZING

Setting the size of the video signal; for example, VL_SIZE

VL_CTL_GROUP_RATES

Setting the rate of the video signal; for example, VL_RATE

VL_CTL_GROUP_WS

Specifying the windowing system of the workstation; for example, VL_WINDOW

VL_CTL_GROUP_PATH

Specifying the data path through the system; these controls, often marked with the VL_CLASS_NO_UI, are often internal to the VL, with no direct access for the user

VL_CTL_GROUP_SIGNAL_ALL

Specifying properties of all signals

VL_CTL_GROUP_SIGNAL_COMPOSITE

Specifying properties of composite signals

VL_CTL_GROUP_SIGNAL_COMPONENT

Specifying properties of component signals

VL_CTL_GROUP_SIGNAL_CLUT_COMPOSITE

Specifying properties of composite color lookup table (CLUT) controls

VL_CTL_GROUP_SIGNAL_CLUT_COMPONEN T

Specifying properties of component CLUT controls

VL_CTL_GROUP_KEYING

Specifying properties of chroma or luma keying controls, such as VL_KEYER_FG_OPACITY

VL_CTL_GROUP_PRO

Specifying values not commonly found on the front panel of a real-world video device; for example, a wipe control

VL_CTL_GROUP_MASK

Masking optional bits to extract only the control group


Galileo Video Controls

VL controls that are used only for Galileo Video and VINO on the Indy workstation fall into several categories:

  • general controls for Galileo Video and VINO

  • Galileo Video encoder and color-space conversion controls

  • Galileo 601 Video digital breakout box controls

  • VINO analog input controls

  • IndyCam controls


Note: Galileo Video keying controls are documented in Chapter 15, “VL Blending.”

Each category is explained separately in this section.

General Controls for Galileo Video

The Galileo Video controls are summarized in Table 13-3 in alphabetical order.

Table 13-3. Galileo Video vcp Controls

Galileo Video

Purpose

VL_EV1_AGC_CONTROL

Sets automatic gain control speed for chrominance for composite or Y/C

VL_EV1_ALPHA_NOT_PIXEL
Value:

Determines whether information is derived from the alpha out or the pixel out channel

VL_EV1_ANTI_DITHER
Value: (0,1) where 0 = off, 1 = on

Removes interference between frequency components generated by dithered graphics images (Y/C and composite out only) and chrominance frequency present in video signals by using a notch filter in luminance

VL_EV1_APERTURE

Sets aperture factors for luminance for composite and Y/C inputs

VL_EV1_BANDPASS

Selects bandpass filters for luminance for composite and Y/C inputs

VL_EV1_BLANK_LINE
Range: (0,63)

Sets first unblanked line on all analog video outputs

VL_EV1_BLEND_B_FLAT

Sets a flat backgroud color

VL_EV1_BLEND_B_U

Sets the U value of a flat background color

VL_EV1_BLEND_B_V

Sets the V value of a flat background color

VL_EV1_BLEND_B_Y

Sets the Y value of a flat background color

VL_EV1_BLEND_H_FILT

Controls blending

VL_EV1_BLEND_SHADOW_GAIN

Controls blending

VL_EV1_BLEND_SHADOW_OFFSET

Controls blending

VL_EV1_BLEND_SHADOW_ON

Controls blending

VL_EV1_BOTTOM_FLUTTER

For CCIR 601 (13.5 MHz) sampling only, compensates for horizontal phase jump on the selected line number

VL_EV1_C_GAIN
Range: (0,255)

Adjusts burst and chrominance output level of composite and Y/C simultaneously

VL_EV1_CHROMA_BAND
Value: enhanced = 0, standard = 1

Selects standard chrominance bandwidth of about 1.3 MHz or enhanced bandwidth (nonstandard) of about 2.5 MHz for composite and Y/C outputs

VL_EV1_CHROMA_DELAY

For CCIR 601 (13.5 MHz) sampling only, changes composite or Y/C chrominance delay without affecting luminance delay

VL_EV1_CHROMA_GAIN

Fine-tunes chroma gain for composite and Y/C inputs

VL_EV1_COLOR_IN_ON

 

VL_EV1_COLOR_KILL_THRES

Controls level at which burst amplitude decides if composite or Y/C input is color or monochrome when color mode is automatically set

VL_EV1_COLOR_OUT_ON

Makes composite or Y/C output into monochrome by turning off color burst and chrominance

VL_EV1_CORING

Selects coring levels for luminance for composite and Y/C inputs

VL_EV1_DEINTERLACE

For graphics to video, turns off interlace for flicker reduction; for video to graphics, interlaces video image

VL_EV1_DELAY_SYNC
Range: (0,63)

Same as VL_EV1_H_OFFSET but with a narrow range: resolution in pixel clock steps

VL_EV1_DOMINANCE_FIELD
Value: 0 = odd field, 1 = even field

Triggers on odd or even fields

VL_EV1_FILTER

Filters decimated video images to smooth jagged edges

VL_EV1_GENLOCK_SRC

 

VL_EV1_H_OFFSET

Delays timing of entire video signal (sync and picture) relative to timing reference such as genlock; no effect in slave mode for output timing

VL_EV1_H_PHASE
Range: (0,63)

In genlock output timing, provides a small-range horizontal phase adjustment for all outputs; in slave output timing mode, moves both h-phase and horizontal picture position for composite and Y/C output (no effect on RGB or Y/R-Y/B-Y in slave mode)

VL_EV1_H_PICTURE_POSITION

Controls horizontal position of input picture: 2 pixel steps for composite and Y/C resolution; 1 pixel step for Y/R-Y/B-Y input resolution

VL_EV1_LOCK_PORT0

 

VL_EV1_LUMA_DELAY

Changes composite or Y/C luminance delay without affecting chrominance delay

VL_EV1_PEAK_WHITE

Sets expected peak white amplitude; sets setup/no setup (pedestal) on black for Y or Y/R-Y/B-Y input

Betacam: use 714 mV
SMPTE and EBU: use 700 mV or no setup

VL_EV1_PREFILTER

Boosts luminance frequency response for composite and Y/C formats

VL_EV1_QUALITY

Allows locking to unstable video source, such as videotape recorders with no timebase correction

VL_EV1_RGB_GAIN
Range: (0,63)

Adjusts output level of Y/R-Y/B-Y simultaneously (no effect on sync pulse amplitude)

VL_EV1_SCH_PHASE
Range: (0,255)

Adjusts SC-H phase +/- 180 degrees

VL_EV1_SUB_FREQ
Range: (0,255); total range
+/- 450 ppm

Provides fine adjustment of composite and Y/C output color subcarrier frequency

VL_EV1_SVHS_CHROMA

Values; the first is the default:
VL_EV1_COLOR_MODE_AUTO
VL_EV1_COLOR_MODE_COLOR
VL_EV1_COLOR_MODE_MONO

Selects automatic detection of color or monochrome from the burst, forces monochrome, or forces color

VL_EV1_SYNC_LEVEL
Value: 286 mV = 0, 300 mV = 1

Selects sync pulse amplitude on G/Y output

VL_EV1_SYNC_SLAVE

Selects the slave sync mode when genlocking is not required. In this mode, the Galileo board is slaved to the input source. This is the best mode for capturing images because it provides the highest capture rate.

VL_EV1_TBC_MODE
Value: (0,1) where 0 = off, 1 = on

When video input and output timings are not frequency-locked, removes small timing errors in analog video input; video input must go directly into a video framebuffer for proper operation; can also be used to achieve frame synchronization; makes no digital input unavailable

VL_EV1_TRIGGER_LINE
Range: (0,100)

Determines line number on which trigger event happens

VL_EV1_TRIGGER_POLARITY
Values: 0 = negative, 1 = positive

Determines whether a trigger event occurs on a 0 to 1 or a 1 to 0 transition

VL_EV1_UV_LEVEL
Value: high = 0, low = 1

Changes R-Y and B-Y analog output levels to accommodate different standards, such as Beta, SMPTE, and EBU; set to low for RGB out

VL_EV1_U_GAIN_ROUGH
Range: (0,63)

Controls gain of B-Y component input in coarse steps

VL_EV1_U_GAIN_VERNIER
Range: (0,63)

Controls gain of B-Y component input in fine steps

VL_EV1_V_GAIN_ROUGH
Range: (0,63)

Controls gain of R-Y component input in coarse steps

VL_EV1_V_GAIN_VERNIER
Range: (0,63)

Controls gain of R-Y component input in fine steps

VL_EV1_V_OFFSET

Delays timing of entire video signal (sync and picture) relative to timing reference such as genlock; no effect in slave mode for output timing

VL_EV1_VNOISE_REDUCER

Selects mode of vertical noise reduction

VL_EV1_YC_GAIN
Range: (0,255)

Adjusts output level (sync, burst, luminance, and chrominance) of composite and Y/ C simultaneously

VL_EV1_YG_SYNC
Value: (0,1) where 0 = off, 1 = on

Turns sync pulse on or off


Galileo Video IndyCam Controls

Table 13-4 lists the Galileo Video IndyCam controls.

Table 13-4. Galileo Video IndyCam Controls

Galileo Video Control

Values

Sets

VL_EV1_INDYCAM_AGCENA

0 = off
1 (default) = on

Automatic gain control (AGC)

VL_EV1_INDYCAM_AWBCTL

0 (momentary default) = off
1 = on

Automatic white balance

VL_EV1_INDYCAM_BLUE_BALANCE

0,255,255; set by camera's white balance

Blue balance

VL_EV1_INDYCAM_BLUE_SATURATIO N

 

 

VL_EV1_INDYCAM_BRIGHTNESS

Read-only value determined by input from IndyCam

Luma level (read-only)

VL_EV1_INDYCAM_GAIN

0,255,255; set by AGC in camera

Gain

VL_EV1_INDYCAM_RED_BALANCE

0,255,255; set by camera's white balance

Red balance

VL_EV1_INDYCAM_SATURATION

0,170,170

Saturation

VL_EV1_INDYCAM_SHUTTER

VL_EV1_INDYCAM_SHUTTER_60
VL_EV1_INDYCAM_SHUTTER_100
VL_EV1_INDYCAM_SHUTTER_125
VL_EV1_INDYCAM_SHUTTER_250
VL_EV1_INDYCAM_SHUTTER_500
VL_EV1_INDYCAM_SHUTTER_1000
VL_EV1_INDYCAM_SHUTTER_2000
VL_EV1_INDYCAM_SHUTTER_4000
VL_EV1_INDYCAM_SHUTTER_10000

Default:
VL_EV1_INDYCAM_SHUTTER_1000

Shutter speed

VL_EV1_INDYCAM_SHUTTER_SNAP

 

 


Galileo Video Encoder and Color-Space Conversion Controls

Encoder controls for Galileo Video encode digital video from the system into the analog data stream. The controls are summarized in Table 13-5.

Table 13-5. Galileo Video Encoder and Color-Space Conversion Controls

Encoder control

Color-space conversion control

Purpose

VL_EV1_ENC_BLANK

VL_EV1_CSC_BLANK

Sets digital level for blanking

VL_EV1_ENC_BLACK

VL_EV1_CSC_BLACK

Sets digital level for black

VL_EV1_ENC_WHITE

VL_EV1_CSC_WHITE

Sets digital level for white

VL_EV1_ENC_UVGAIN

VL_EV1_CSC_UVGAIN

Sets color difference gain factor

VL_EV1_ENC_QUANTIZ E

VL_EV1_CSC_QUANTIZE

Sets number of quantization levels; set to maximum for no effect

VL_EV1_ENC_LOAD

VL_EV1_CSC_LOAD

Loads default table

N/A

VL_EV1_CSC_SUBADDR

Selects component table to load with custom setup


Galileo 601 Video Digital Breakout Box Controls

General controls for the Galileo 601 Video Digital Breakout Box are summarized in Table 13-6.

Table 13-6. Galileo 601 Video Digital Breakout Box General Controls

Control

Purpose

VL_EV1_DBOB_INPUT

Selects serial or parallel input

VL_EV1_DBOB_INPUT2

Selects serial or parallel input/output

VL_EV1_DBOB_VBSELECT
Value: 0 = normal, 1 = narrow

Determines whether vertical blanking information passes through the Galileo 601 Video option: normal setting blanks out the vertical blanking information; narrow setting passes it through

VL_EV1_DBOB_PIXEL_MODE
Values:
0 = 13.5 (601CCIR), 1 = square

Sets Galileo 601 Video pixel format

VL_EV1_DBOB_PIXEL_FORMA T

Selects analog output format on digital breakout box outputs

VL_EV1_DBOB_LINE
Values: 0 = 525, 1 = 625

Sets 525 (NTSC) or 625 (PAL) timing

VL_EV1_DBOB_DELAY
Range: (0,255)

Sets analog output delay on Galileo 601 Video

See the dmedia/cl_cosmo.h header file for Cosmo Compress video parameters (CL_COSMO_VIDEO_*) that work with the Galileo 601 Video Digital Breakout Box and the Compression Library.

Color-Space Conversion Controls

Table 13-7 summarizes color-space conversion controls for the Galileo 601 Video Digital Breakout Box.

Table 13-7. Galileo Video Digital Breakout Box Color-Space Conversion Controls

Control

Purpose

VL_EV1_DBOB_CSC_BLANK

Sets digital level for blanking

VL_EV1_DBOB_CSC_BLACK

Sets digital level for black

VL_EV1_DBOB_CSC_WHITE

Sets digital level for white

VL_EV1_DBOB_CSC_UVGAIN

Sets color difference gain factor

VL_EV1_DBOB_CSC_QUANTIZE

Sets number of quantization levels; set to maximum for no effect

VL_EV1_DBOB_CSC_LOAD

Loads default table

VL_EV1_DBOB_CSC_SUBADDR

Selects component table to load with custom setup


Galileo Video DAC Controls

Table 13-8 summarizes the Galileo Video digital-to-analog converter (DAC) controls; all but the last two appear in the All submenu of the vcp Pro menu. The range for each control is (0,63).

Table 13-8. Galileo Video DAC controls

Control

Sets

VL_EV1_DBOB_DAC_0

Y or green channel gain

VL_EV1_DBOB_DAC_1

Y or green channel offset

VL_EV1_DBOB_DAC_2

B-Y or blue channel gain

VL_EV1_DBOB_DAC_3

B-Y or blue channel offset

VL_EV1_DBOB_DAC_4

R-Y or red channel gain

VL_EV1_DBOB_DAC_5

R-Y or red channel offset

VL_EV1_DBOB_DAC_6

Chroma gain; not in vcp (no UI)

VL_EV1_DBOB_DAC_7

Chroma offset (no UI)


VINO Controls

This section describes the VINO controls.

VINO Video Control Panel Controls

Table 13-9 lists the general VINO controls.

Table 13-9. VINO vcp Controls

VINO

Purpose

VL_VINO_APERTURE; default 1

Sets aperture factors for luminance for composite and Y/C inputs

VL_VINO_BANDPASS; default 0

Selects bandpass filters for luminance for composite and Y/C inputs

VL_VINO_CHROMA_AGC; default 0

Sets automatic gain control speed for chrominance for composite or Y/C

VL_VINO_CHROMA_GAIN
default: 44

Fine-tunes chroma gain for composite and Y/C inputs

VL_VINO_COLOR_KILL_THRES
default: 30 dB

Controls level at which burst amplitude decides if composite or Y/C input is color or monochrome when color mode is automatically set

VL_VINO_CORING; default 0

Selects coring levels for luminance for composite and Y/C inputs

VL_VINO_H_PICTURE_POSITION
default: 244 (both NTSC and PAL)

Controls horizontal position of input picture: 2 pixel steps for composite and Y/C resolution; 1 pixel step for Y/R-Y/B-Y input resolution

VL_VINO_LUMA_DELAY; default 0

Changes composite or Y/C luminance delay without affecting chrominance delay

VL_VINO_PREFILTER; default 0

Boosts luminance frequency response for composite and Y/C formats

VL_VINO_COLOR_MODE

Values; the first is the default:
VL_VINO_COLOR_MODE_AUTO
VL_VINO_COLOR_MODE_COLOR
VL_VINO_COLOR_MODE_MONO

Selects automatic detection of color or monochrome from the burst, forces monochrome, or forces color

VL_VINO_VNOISE_REDUCER

Values:
normal: set 0 (the default)
search: set 1
auto: set 2
bypass: set 3

Selects mode of vertical noise reduction


VINO Analog Input Controls

Table 13-10 summarizes input controls specific to VINO.

Table 13-10. VINO Analog Input Controls

Control

Range

Default:
60 Hz (NTSC)

Default:
50 Hz (PAL)

Use

VL_VINO_HREF_GENERATION

(0,1)
0 = off, 1 = on

1

1

Shifts the line 8 pixels to the right.

VL_VINO_PAL_SENS

Fraction range:
0,255,1

N/A

144

In PAL timing, the chroma modulation phase inverts every line. Dropouts off the tape can disrupt this pattern. Use this control to set the recovery time constant (maximum for poor quality tape).

VL_VINO_AUFD

(0,1)
0 = off, 1 = on

1

1

Sets automatic field detect.

VL_VINO_ZOOM_X

(0,1)
0 = off, 1 = on

0

0

Specifies zoom or decimation in x direction only, to maintain aspect ratio for capturing only even or odd fields.

VL_VINO_ALPHA

(0,255)

255

255

Sets value placed in user's framebuffers for the alpha value of the RGBA pixel format. Can be changed while capture is in progress. See Graphics Library documentation for typical uses.

VL_VINO_EVEN_OFFSET

0..MaxHeight

0

0

Sets offset or clipping value separately for even fields; for example, if this control is set to 2 and VL_VINO_ODD_OFFSET is set to 0, the following lines are captured in NTSC: odd line 21, even line 26, odd line 23, even line 28.

VL_VINO_ODD_OFFSET

0..MaxHeight

0

0

Sets offset or clipping value separately for odd fields.


VINO IndyCam Controls

The controls for the IndyCam are summarized in Table 13-11.

Table 13-11. IndyCam Controls

VINO

Values

Sets

VL_VINO_INDYCAM_AGCENA

0 = off
1 (default) = on

Automatic gain control (AGC)

VL_VINO_INDYCAM_AWBCTL

0 (momentary default) = off
1 = on

Automatic white balance

VL_VINO_INDYCAM_BLUE_BALANC E

0,255,255; set by camera's white balance

Blue balance

VL_VINO_INDYCAM_BRIGHTNESS

Read-only value determined by input from IndyCam

Luma level (read-only)

VL_VINO_INDYCAM_GAIN

0,255,255; set by AGC in camera

Gain

VL_VINO_INDYCAM_RED_BALANCE

0,255,255; set by camera's white balance

Red balance

VL_VINO_INDYCAM_SATURATION

0,170,170

Saturation

VL_VINO_INDYCAM_SHUTTER

VL_VINO_INDYCAM_SHUTTER_60
VL_VINO_INDYCAM_SHUTTER_100
VL_VINO_INDYCAM_SHUTTER_125
VL_VINO_INDYCAM_SHUTTER_250
VL_VINO_INDYCAM_SHUTTER_500
VL_VINO_INDYCAM_SHUTTER_1000
VL_VINO_INDYCAM_SHUTTER_2000
VL_VINO_INDYCAM_SHUTTER_4000
VL_VINO_INDYCAM_SHUTTER_1000 0

Default:
VL_VINO_INDYCAM_SHUTTER_1000

Shutter speed