This appendix describes the nodes available to the OCTANE Personal Video option. It lists the controls associated with each node, as well as special considerations involved in node usage.
In the tables that summarize the control set for a node, the columns are as follows:
Access is indicated before the control table for the node; it is one or more of the following:
G: The value can be retrieved through vlGetControl().
S: The value can be set through vlSetControl() while the path is not transferring.
T: The value can be set through vlSetControl() while the path is transferring.
The nodes are described in the following sections:
![]() | Note: In the tables that summarize controls for a node, VL device-independent controls (VL_) are listed first, in alphabetical order, followed by VL device-dependent controls (VL_EVO_). For information on camera controls, see “Camera Controls” in Chapter 3. |
The device node (video source node) provides controls that affect the operation of the OCTANE Personal Video device as a whole. These controls include global parameters such as timing, as well as default information such as the default source or drain.
For device nodes:
type is VL_DEVICE
kind is 0
number is 0
Table B-1 lists device node controls. For VL_DEFAULT_DRAIN and VL_DEFAULT_SOURCE, access is GST; for all other controls, access is GS.
Table B-1. Device Node Controls
This discussion divides the VL_MEM nodes into their manifestations as source and drain.
The OCTANE Personal Video option supports two memory source nodes, which provide real-time paths from main memory to the OCTANE Personal Video option. For the memory source node:
type for both memory source nodes is VL_SRC
kind for both memory source nodes is VL_MEM
number is VL_EVO_NODE_NUMBER_MEM_1 and VL_EVO_NODE_NUMBER_MEM_2
Table B-2 lists memory source node controls. For all these controls, access is GS.
Table B-2. Memory Source Node Controls
Control | Default | Type | Use |
---|---|---|---|
1/1 | fractVal | Affects the horizontal scale factor. The effective scale factor is VL_ZOOM * VL_ASPECT. | |
VL_CAPTURE | intVal | Specifies the type of video units—fields or frames—that the
application obtains from the ring buffer. Valid capture types
are: VL_CAPTURE_NONINTERLEAVED “VL_CAP_TYPE and VL_RATE” in Chapter 3 for information on capture types. | |
VL_COLORSPACE | intVal | Specifies color space of video data in memory: | |
VL_FORMAT_DIGITAL | intVal | Specifies the type of video format to be produced: | |
VL_PACKING_YVYU | intVal | Specifies the bit order in which the video components are stored in memory. See “VL_PACKING” in Chapter 3 for the specifications of each packing. | |
(0,0) | xyVal | Specifies the upper left corner of a video region to be output. The coordinates are offsets of the upper left corner of the active video and take precedence over the size. Therefore, in order to accommodate the given offset, the size may be changed. A VLControlChanged event is generated to inform interested parties of any change in size. | |
Dynamic; depends on timing and capture type | fractVal | Specifies the rate at which the hardware extracts video units (fields or frames, depending on the capture type) from the ring buffer. The video unit is repeated, or black is output, to achieve the video output rate of 60 fields per second (NTSC) or 50 fields per second (PAL). The memory source nodes can consume video units from system memory at any rate up to the video standard rate. For VL_CAPTURE_NONINTERLEAVED and VL_CAPTURE FIELDS, valid ranges are as follows: NTSC: 1 through 60 units per second (must be multiple of fields per frame for noninterleaved) PAL: 1 through 50 units per second (must be multiple of fields per frame for noninterleaved) For VL_CAPTURE_INTERLEAVED, VL_CAPTURE_EVEN_FIELDS, or VL_CAPTURE_ODD_FIELDS, valid ranges are 1 through 30 units per second for NTSC and 1 through 25 units per second for PAL. | |
Dynamic; depends on timing and capture type | xyVal | Specifies the width (pixels) and height (lines) of the video data contained within each ring buffer entry. These values, along with VL_PACKING, determine the size in bytes of each ring buffer entry and thus the transfer size. The width must be a multiple of four pixels. The length must be a minimum of one line for field capture types and two lines for frames. The specified size is constrained by the maximum allowable (as dictated by the device timing) and by the current offset position (VL_OFFSET). If the size is too large, it is reduced. The offset is not changed. This control is applied before VL_ZOOM. It is recommended that VL_OFFSET be set before VL_SIZE. | |
Dynamic; from device node | intVal | Retrieves the current video timing value for the path. See “VL_SCREEN” and “VL_VIDEO” in this appendix for more details. This control is read-only. | |
1.0 | fractVal | Specifies the amount of scaling to be applied to the video before it is transferred to memory. See “VL_ZOOM” in Chapter 3. | |
VL_F1_IS_DOMINANT | intVal | Sets the field dominance mode, which determines the order in which the fields are read from memory. This control applies only to the frame-oriented capture types (VL_CAPTURE_INTERLEAVED and VL_CAPTURE_NONINTERLEAVED). For VL_CAPTURE_INTERLEAVED, values are as follows: VL_F1_IS_DOMINANT: For video timings VL_TIMING_525_CCIR601 and VL_TIMING_525_SQ_PIX, F1 (also known as odd) dominance dictates that data for the F1 field resides in memory after that for F2. For VL_TIMING_625_CCIR601 and VL_TIMING_625_SQ_PIX, the data for F1 resides in memory before that of F2. VL_F2_IS_DOMINANT: For VL_TIMING_525_CCIR601 and VL_TIMING_525_SQ_PIX, F2 (also known as even timings), dominance dictates that data for the F1 field resides in memory before that for F2. For VL_TIMING_625_CCIR601 and VL_TIMING_625_SQ_PIX, the data for F1 resides in memory after that of F2. The meaning of before and after depends on the capture type. For interleaved frames, before indicates that the data that compose the first line of the designated field begins at the first byte of the buffer. In this format, the lines of F1 and F2 are interleaved within the one ring buffer; thus the second line of the buffer belongs to the other field, and so forth. For noninterleaved frames, before indicates that the dominant field is in a buffer preceding the buffer(s) containing nondominant fields. For VL_CAPTURE_NONINTERLEAVED, values are as follows: VL_F1_IS_DOMINANT: The F1 field is in the first buffer of the pair, and the F2 field in the second. VL_F2_IS_DOMINANT: The F2 field is in the first buffer of the pair, the F1 field in the second. | |
1 | intVal | The granularity, or quantum, of data transfer required by the application. The video data is padded at the end so that the size of a field/frame is a multiple of VL_EVO_BUFFER_QUANTUM. This control is intended for applications that do I/O directly from the ring buffer, and may consequently require the frame or field size to be a multiple of the device block size. Direct I/O, for example, usually requires that 512 bytes of data be transferred at a time. | |
FALSE | boolVal | When VL_MGV_CSC_CONST_HUE is enabled, this control saves the constant hue correction factor (TRUE) or retains alpha input data (FALSE). See “Constant Hue” in Chapter 3. | |
Multiplier operates in pass-through mode | extendedVal | Specifies the matrix multiplier coefficients. See “Color-Space Converter for Image Processing” in Chapter 3. | |
TRUE | boolVal | Enables or disables constant-hue algorithm. See “Constant Hue” in Chapter 3. | |
0 0 | intVal | Selects the active page for the input LUT. Valid page numbers are 0 through 3. Selects the active page for the alpha LUT; valid page numbers are 0 through 3. See | |
Pass-through (1:1 mapping) | extendedVal | Specifies the contents of the input or alpha lookup tables. See “Color-Space Converter for Image Processing” in Chapter 3. | |
Pass-through (1:1 mapping) | extendedVal | Specifies the contents of the output lookup tables. See “Color-Space Converter for Image Processing” in Chapter 3. | |
VL_EVO_DMA_RESTART_ ON | intVal | If enabled (VL_EVO_DMA_RESTART_ON), a video transfer continues when an error is encountered (the error is reported). Otherwise (VL_EVO_DMA_RESTART_OFF), the video transfer fails. This control covers three types of errors: The reference video timing is not clean, resulting in short/long lines, fields, or both. These errors are with respect to the programmed size and offset. The system GIO bus bandwidth was insufficient to transfer video from system memory at video rates. The video clock was interrupted. | |
VL_EVO_DMA_VO_BLK | intVal | Sets output blanking, overriding the default output blanking set by VL_PACKING: VL_EVO_DMA_VO_BLK_YUVA: Y = A = 16, U = V = 128 Set this control after VL_PACKING. | |
VL_EVO_DMA_VO | intVal | Sets the video output policy to use when the memory node underflows the ring buffer (that is, the application has not filled the ring buffer at the rate that the memory node consumes it). An application can choose between three starvation policies. In each case, video output from system memory resumes when the application places the next field/frame in the ring buffer via vlPutValid(). VL_EVO_DMA_VO_STARV_BLK: Outputs black fields or frames. This choice does not involve further access to memory until a new buffer becomes available. VL_EVO_DMA_VO_STARV_FLD: Causes the last field output to be repeated. VL_EVO_DMA_VO_STARV_RPT: Repeats the last unit (field or frame) that was transferred from main memory. The repetition is performed by continuing to transfer the same field/frame from memory to video until a new buffer becomes available or the transfer is ended. This results in system bus bandwidth continuing to be consumed. Caution: In order to maintain compatibility with the behavior of the Galileo Video™ products, where a framebuffer is incorporated, the default value for this control is VL_EVO_DMA_VO_STARV_RPT. Therefore the ring buffer used in the transfer must contain a minimum of two buffer entries (four for VL_CAPTURE_NONINTERLEAVED), so that one buffer can be repeated by the system while the application is filling the second. If only one buffer is used, then the first buffer output is repeated indefinitely and vlGetNextFree() never returns a free buffer. |
The OCTANE Personal Video option supports two memory drain nodes, which provide real-time paths from the OCTANE Personal Video device to ring buffers. For the memory drain:
type for both memory drain nodes is VL_DRN
kind for both memory drain nodes is VL_MEM
number is VL_EVO_NODE_NUMBER_MEM_1 and VL_EVO_NODE_NUMBER_MEM_2
Table B-3 lists memory drain node controls. For all these controls, access is GS.
Table B-3. Memory Drain Node Controls
Control | Default | Type | Use |
---|---|---|---|
1/1 | fractVal | Affects the horizontal scale factor. The effective scale factor is VL_ZOOM * VL_ASPECT. | |
VL_CAPTURE | intVal | Specifies the type of video units—fields or frames—that the application obtains from the ring buffer by the application. Valid capture types are VL_CAPTURE_NONINTERLEAVED, VL_CAPTURE_INTERLEAVED, VL_CAPTURE_EVEN_FIELDS, VL_CAPTURE_ODD_FIELDS, and VL_CAPTURE_FIELDS. (See “VL_CAP_TYPE and VL_RATE” in Chapter 3 for information on capture types.) | |
VL_COLORSPACE | intVal | Specifies color space of video data in memory: | |
Dynamic | intVal | Specifies the type of video format to be produced: | |
VL_PACKING_YVYU | intVal | Specifies the bit order in which the video components are stored in memory. See “VL_PACKING” in Chapter 3 for the specifications of each packing. | |
(0,0) | xyVal | Specifies the upper left corner of a video region to be output. The coordinates are offsets of the upper left corner of the active video and take precedence over the size. Therefore, in order to accommodate the given offset, the size may be changed. A VLControlChanged event is generated to inform interested parties of any change in size. | |
Dynamic; depends on timing and capture type | fractVal | Specifies the rate at which video units (fields or frames depending on capture type) are extracted from the ring buffer. The video unit is repeated, or black is output, to achieve the video output rate of 60 fields per second (NTSC) or 50 fields per second (PAL). The memory source nodes can consume video units from system memory at any rate up to the video standard rate. For VL_CAPTURE_NONINTERLEAVED and VL_CAPTURE FIELDS, valid rates are as follows: NTSC: 1 through 60 units per second (must be multiple of fields per frame for noninterleaved) PAL: 1 through 50 units per second (must be multiple of fields per frame for noninterleaved) For VL_CAPTURE_INTERLEAVED, VL_CAPTURE_EVEN_FIELDS, or VL_CAPTURE_ODD_FIELDS, valid ranges are 1 through 30 units per second for NTSC and 1 through 25 units per second for PAL. | |
Dynamic; depends on timing and capture type | xyVal | Specifies the width (pixels) and height (lines) of the video data contained within each ring buffer entry which—along with VL_PACKING—determines the size in bytes of each ring buffer entry and thus the transfer size. The width must be a multiple of four pixels. The length must be a minimum of one line for field capture types, and two lines for frames. The specified size is constrained by both the maximum allowable (as dictated by the device timing and capture type) as well as the current offset position (VL_OFFSET). If the size is too large, it is reduced. The offset is not changed. It is recommended that VL_OFFSET be set before VL_SIZE. | |
Dynamic; read only | intVal | Retrieves the current video timing value. See “VL_SCREEN” and “VL_VIDEO” in this appendix for more details. This control is read-only. | |
1.0 | fractVal | Specifies the amount of scaling to be applied to the video before it is transferred to memory. See “VL_ZOOM” in Chapter 3. | |
1 | intVal | The granularity, or quantum, of data transfer required by the application. The video data is padded at the end so that the size of a field/frame is a multiple of VL_EVO_BUFFER_QUANTUM. This control is intended for applications that do I/O directly from the ring buffer, and may consequently require the frame or field size to be a multiple of the device block size. Direct I/O, for example, usually requires that 512 bytes of data be transferred at a time. | |
FALSE | boolVal | When VL_MGV_CSC_CONST_HUE is enabled, this control saves the constant hue correction factor (TRUE) or retains alpha input data (FALSE). See “Constant Hue” in Chapter 3. | |
Multiplier operates in pass-through mode | extended Val | Specifies the matrix multiplier coefficients. See “Color-Space Converter for Image Processing” in Chapter 3. | |
TRUE | boolVal | Enables or disables constant-hue algorithm. See “Constant Hue” in Chapter 3. | |
0 0 | intVal | Selects the active page for the input LUT. Valid page numbers are 0 through 3. Selects the active page for the alpha LUT; valid page numbers are 0 through 3. See | |
Pass-through (1:1 mapping) | extended Val | Specifies the contents of the input or alpha lookup tables. See “Color-Space Converter for Image Processing” in Chapter 3. | |
Pass-through (1:1 mapping) | extended Val | Specifies the contents of the output lookup tables. See “Color-Space Converter for Image Processing” in Chapter 3. | |
VL_EVO_DMA | intVal | If enabled (VL_EVO_DMA_RESTART_ON), a video transfer continues when an error is encountered (the error is reported). Otherwise (VL_EVO_DMA_RESTART_OFF), the video transfer fails. This control covers three types of errors: The reference video timing is not clean, resulting in short/long lines, fields, or both. These errors are with respect to the programmed size and offset. The system GIO bus bandwidth was insufficient to transfer video from system memory at video rates. The video clock was interrupted. | |
VL_F1_IS_DOMINANT | intVal | Sets the field dominance mode, determining the order in which the fields are read from memory. This control applies only to the frame-oriented capture types (VL_CAPTURE_INTERLEAVED and VL_CAPTURE_NONINTERLEAVED). See the discussion of VL_FIELD_DOMINANCE inTable B-2 earlier in this appendix for more details. | |
Persistent | intVal | Determines the quality of the filter employed, ranked by filter quality: VL_EVO_FILTER_QUALITY_LO: pixel replication VL_EVO_FILTER_QUALITY_MED: linear interpolation VL_EVO_FILTER_QUALITY_HI: four-tap filter The CPU cost of the filters directly relates to their quality: the low-quality filter consumes about 25% of an R10000™ 195 MHz CPU; the high-quality filter consumes almost the entire CPU. | |
Persistent | intVal | OCTANE Personal Video supports square and nonsquare video conversion to memory. This control selects how the conversion between the two formats is performed. The values are VL_EVO_FILTER_TYPE_FREQ (selects the frequency-preserving filter) VL_EVO_FILTER_TYPE_SPAT (selects the spatially preserving filter) See |
The OCTANE Personal Video option screen source node provides a means of using the graphics screen as a source of video data. This node allows for extracting an area larger than video size, which can be scaled to video size. The screen source node extracts pregamma 8-bit RGB pixel values and inserts the data into a video signal. The RGB pixel values can be
captured to memory directly as RGB
color-space converted and captured to memory
sent to video out as YCbCr
For the screen node:
type is VL_SRC
kind is VL_SCREEN
Table B-4 lists screen source node controls. For all these controls, access is GST.
Table B-4. Screen Source Node Controls
Control | Default | Type | Use |
---|---|---|---|
1/1 | fractVal | Affects the horizontal scale factor. The effective scale factor is VL_ZOOM * VL_ASPECT. | |
TRUE | boolVal | Enables (TRUE) or disables flicker reduction. As the graphics display is progressive scanned, each field of the generated signal corresponds to one frame of the graphics display. Even and odd fields select different scan lines from the graphics frame, which can result in an undesirable flicker in the generated video if proper filtering is not applied. | |
FALSE | boolVal | Freezes (TRUE) the image sent by the screen source node. If this control is set, graphics updates are not reflected in the generated video signal. | |
(0, 0) | xyVal | Sets where the scaled images produced by the screen source node are inserted into a video frame, for centering or other placement of the images. For this node, only a value of (0,0) is valid. | |
(0, 0) | xyVal | Specifies the upper left corner (0,0) of a graphics display in unscaled screen coordinates. With VL_SIZE, this control selects a region of the graphics display to convert to video. If moving the origin causes the region to be clipped, VL_SIZE is updated and a VLValueChanged event is generated. | |
Dynamic | xyVal | Selects, with VL_ORIGIN, the height and width of the region of the graphics display that is converted to video. The value of VL_SIZE is specified in unscaled coordinates. Specify timing with VL_TIMING on the screen node. This control is applied before VL_ZOOM. | |
Persistent | intVal | This control selects the device timing for the OCTANE Personal Video device and affects the timing for the screen source node, the memory source nodes, and the video drain node. The device supports the following modes: VL_TIMING_525_SQ_PIX: NTSC, 525-line square pixel timing VL_TIMING_525_CCIR601: CCIR 601, 525-line nonsquare pixel timing VL_TIMING_625_SQ_PIX: PAL, 625-line square pixel timing VL_TIMING_625_CCIR601: CCIR 601, 625-line nonsquare pixel timing | |
1.0 | fractVal | Sets the amount of scaling applied to the graphics area before it is converted to video. VL_ZOOM sets both the horizontal and vertical scale factors; use VL_ASPECT to modify the horizontal scale factor. See “VL_ZOOM” in Chapter 3. If the VL_ZOOM value makes the resulting size invalid (that is, larger than a frame size), the size is constrained and a VLControlChanged event is generated. If the scaled size of the selected graphics region is smaller than the video frame size, use VL_OFFSET on the drain node to position the generated video. |
This section discusses the VL_VIDEO source and drain nodes separately.
The video source nodes correspond to the O2Cam connector converted to a digital input with appropriate third-party hardware, the O2Cam connector with the digital camera attached, and the analog connector.
For the video source:
type for all three video source nodes is VL_SRC
kind for all three video source nodes is VL_VIDEO
number is
VL_EVO_NODE_NUMBER_VIDEO_1: digital video node, that is, the O2Cam connector used with a third-party serial converter
VL_EVO_NODE_NUMBER_VIDEO_2: O2Cam connector with O2Cam digital camera attached
VL_EVO_NODE_NUMBER_VIDEO_3: analog video node; the VL_FORMAT control selects between composite, Y/C, or loopback
Table B-5 lists video source node controls. For all these controls, access is GST, except VL_FORMAT and VL_TIMING, which are GS.
Table B-5. Video Source Node Controls
Control | Default | Type | Use |
---|---|---|---|
Persistent | intVal | Specifies the type of video format to be produced: | |
FALSE | boolVal | Since the OCTANE Personal Video device does not support frozen inputs, this control can be set only to FALSE. | |
(0, 0) | xyVal | Pans within the video. The OCTANE Personal Video source nodes support an offset of (0, 0) only. | |
Dynamic | xyVal | Reports the width and height of the active video region. The values are fixed for each timing mode: CCIR 525: 720 x 486 Specify timing with VL_TIMING on the video source node. | |
Persistent | intVal | Specifies timing standard of incoming video signal: VL_TIMING_525_SQ_PIX: NTSC square pixel timing VL_TIMING_625_SQ_PIX: PAL square pixel timing; VL_TIMING_525_CCIR601: CCIR 525-line nonsquare pixel timing VL_TIMING_625_CCIR601: CCIR 625-line nonsquare pixel timing; not applicable if video source is O2Cam digital camera (VL_EVO_NODE_NUMBER_VIDEO_2) | |
1/1 | fractVal | Sets scaling performed at video source. Since the OCTANE Personal Video device does not support scaling on a video node, this value can be set only to unity (1/1). Use memory nodes for scaling. | |
VL_EVO_VIN_AGC_UPDATE _INTERVAL | Persistent | intVal | Determines how often the automatic gain control circuit can change the gain. The update rate can be every line (VL_EVO_UPDT_INTVL_LINE) or every field (VL_EVO_UPDT_INTVL_FIELD). |
VL_EVO_VIN_ANALOG | Persistent | intVal | Before analog-to-digital conversion, the analog signal can be amplified and anti-alias filtered. This control selects one of these actions: VL_EVO_INPUT_PROCESS_BYPASS: no action |
Persistent | intVal | You can peak the higher frequencies of the luminance
signal by running the signal through a bandpass
filter. The filtered signal is weighted by an aperture
factor (see VL_EVO_VIN_APTERTURE_FACTOR)
and added to the original unfiltered signal, boosting
the frequencies passed by the filter. This control
selects the center frequency of the bandpass filter. A
value of 0 selects 4.1 MHz, 1 selects 3.8 MHz, | |
Persistent | intVal | Sets the aperture factor, which determines the
contribution of a bandpass-filtered signal to the
output luminance signal (see
VL_EVO_VIN_APTERTURE_BANDPASS). A value
of 0 selects 0.0 (no contribution), 1 selects 0.25, | |
Persistent | intVal | Selects the bandwidth of the chrominance difference signals. Legal values are 0 (620 KHz), 1 (800 KHz), 2 (920 KHz) and 3 (1000 KHz). The color difference signals are low-pass filtered to achieve the selected bandwidth. | |
Persistent | intVal | Affects the hue of the chrominance signal within a range of -180 degrees to 178.6 degrees. | |
Persistent | fractVal | Determines the saturation of the chrominance signal with a gain of -2 (inverse chrominance) to 1.999. A value of 1.0 selects the CCIR level. | |
Persistent | intVal | Selects the color standard of the video input. The PAL
and NTSC color standards vary by region: | |
Persistent | boolVal | Sets time constant: 0 selects nominal time constant, 1 selects fast time constant. | |
Persistent | fractVal | When AGC is not in use, these controls affect the gain of a composite signal (CH1), or the luminance (CH1) and chrominance (CH2) components of a Y/C signal. The gain can be adjusted between -5.98 dB to 5.98 dB. | |
VL_EVO_VIN_GAIN | Persistent | boolVal | Enables (TRUE) or disables the gain control circuit, which limits the gain at signal overshoots. TRUE enables the gain control circuit; FALSE disables it. |
Persistent | boolVal | Determines whether the automatic gain control (AGC) circuit is active or frozen (gain is held at a fixed value). TRUE freezes the gain; FALSE indicates active AGC. | |
Persistent | intVal | When automatic gain control (AGC) is active, this control determines hysteresis of the gain circuit, or the amount that the computed gain must change before is actually used. Thus the AGC circuit need not constantly adjust to small variations in brightness. Set this control from 0 to 7, corresponding to 0 to 7 LSBs of a 9-bit gain value. | |
Persistent | intVal | Determine the range in which a horizontal sync pulse is expected to be detected. Each control ranges from -107 to +108. | |
Persistent
| intVal | Affects the brightness of the luminance signal. A value of 128 selects the CCIR luminance level, with 255 the brightest and 0 the darkest. | |
Persistent | fractVal | Determines the contrast of the luminance signal. Contrast gain can be adjusted up to 1.999 and down to -2 (inverse luminance); 1.109 selects the CCIR level. | |
Persistent | intVal | Delays the luminance components with respect to chrominance. The legal range is from -4 to 3 pixels. | |
Persistent | boolVal | Enables (TRUE) or bypasses the prefilter, which emphasizes the high-frequency components of the luminance signal, compensating for loss. | |
Persistent | boolVal | Determines whether vertical blanking is long (0) or short (1). | |
Persistent | intVal | Determines how the video input responds to vertical noise in the signal: 0 selects normal mode, 1 selects searching mode, 2 selects free-running mode. A value of 4 bypasses the noise reduction circuit. | |
Persistent | boolVal | Affects how the video input locks (synchronizes) to a video signal: 0 selects TV mode (recommended only for poor-quality signals), 1 selects VTR mode. | |
Persistent | boolVal | The white peak, or signal peak, control is part of the automatic gain control function; it limits the gain at signal overshoots. To limit the gain, set this control to TRUE; otherwise, set it to FALSE. |
The OCTANE Personal Video option supports one video drain node that corresponds to the two analog video output connectors on the OCTANE Personal Video device, composite and S-Video (Y/C), and to the O2Cam connector, when an optional third-party converter provides SDI I/O at that port. This drain node drives all video outputs simultaneously.
For the video drain:
type is VL_DRN
kind is VL_VIDEO
Table B-6 lists video drain node controls. For all these controls, access is GST, except VL_FORMAT and VL_TIMING, which are GS.
Table B-6. Video Drain Node Controls
Control | Default | Type | Use |
---|---|---|---|
Persistent | boolVal | Determines whether the square-to-nonsquare converter performs dithering (TRUE) at the video output. | |
Persistent | intVal | Specifies the type of video format to be produced: | |
TRUE | boolVal | Freezes (TRUE) the video sent to the video output connector. | |
Persistent | fractVal | Specifies the horizontal phase of the video output with respect to the video input. It is a 12-bit unsigned integer that increments in steps of the pixel clock (typically 74 nsec). The output occurs later in time as the value of this control increases. This control has a range of -3071 to 1023, which can advance the output by slightly more than three lines or delay the output by slightly more than one line. The default value 0 makes the output match the timing of the video input. | |
(0, 0) | xyVal | Pans within the video. The OCTANE Personal Video drain node supports an offset of (0, 0) only. | |
Dynamic | xyVal | Reports the width and height of the active video region. The values are fixed for each timing mode: CCIR 525: 720 x 486 Specify timing with VL_TIMING on the video drain node. | |
Persistent | intVal | Specifies timing standard of incoming video signal and affects the timing for the screen source node, the memory source nodes, and the video drain node. Because the analog video encoder operates in nonsquare mode only, square-to-nonsquare conversion is performed when VL_TIMING is set to one of the square pixel timings (that is, square pixel video is sent to the video out node). Values are as follows: VL_TIMING_525_SQ_PIX: NTSC square pixel timing VL_TIMING_625_SQ_PIX: PAL square pixel timing VL_TIMING_525_CCIR601: CCIR 525-line nonsquare pixel timing VL_TIMING_625_CCIR601: CCIR 625-line nonsquare pixel timing | |
1/1 | fractVal | Sets scaling performed at video drain. Since the OCTANE Personal Video device does not support scaling on a video node, this value can be set only to unity (1/1). Use memory nodes for scaling. | |
FALSE | boolVal | If the node supplying the video drain node has both pixel and alpha outputs (for example, RGBA or YUVA 4:2:2:4/4:4:4:4 sent from memory), this control selects whether alpha (1: A) or pixel (0: YUV/RGB) is sent to the video output. | |
FALSE | boolVal | Enables (1) or disables (0) automatic color bar generation on the video output, such as for test purposes. When enabled, color bars supersede any other video sent to the video output. | |
Persistent | boolVal | Enables (TRUE) or disables (FALSE) color-frame locking. The video output of Personal Video can be color-frame locked to either the reference input or to composite analog input. For frame locking to be enabled, genlock (VL_SYNC) must be enabled and either the reference input or the composite analog input must be selected as the genlock source (VL_SYNC_SOURCE). | |
Persistent | intVal | Adjusts the color subcarrier phase with respect to horizontal sync from 0 to 360 degrees in 360/256 degree steps. Normally, the color subcarrier is in phase with the horizontal sync (0 degree separation). | |
Multiplier operates in pass-through mode | extended Val | Specifies the matrix multiplier coefficients. See “Color-Space Converter for Image Processing” in Chapter 3. | |
0 0 | intVal | Selects the active page for the input LUT. Valid page numbers are 0 through 3. Selects the active page for the alpha LUT; valid page numbers are 0 through 3. See | |
Pass-through (1:1 mapping) | extended Val | Specifies the contents of the input or alpha lookup tables. See “Color-Space Converter for Image Processing” in Chapter 3. | |
Pass-through (1:1 mapping) | extended Val | Specifies the contents of the output lookup tables. See “Color-Space Converter for Image Processing” in Chapter 3. | |
Persistent | intVal | OCTANE Personal Video supports square and nonsquare conversions at the video drain. This control selects how the conversion between the two formats is performed. The values are VL_EVO_FILTER_TYPE_FREQ (selects the frequency-preserving filter) VL_EVO_FILTER_TYPE_SPAT (selects the spatially preserving filter) See | |
Persistent | fractVal | Sets black level of video signal with respect to the sync level. For a white-to-sync range of 140 IRE (NTSC), the recommended black level is 47.5 IRE with respect to the sync level. The black level can be set between 24 IRE and 49 IRE in steps of 25/63 IRE. For a white-to-sync range of 143 IRE (PAL), the recommended black level is 43 IRE with respect to sync. The actual black level can range between 24 IRE and 50 IRE in steps of 26/63 IRE. Some video standards define a pedestal, or offset, of the black level to separate active video from the blanking level. NTSC does so; PAL and SECAM do not. | |
None | intVal | If closed caption encoding is enabled, these controls determine the text of the closed captioning for the odd and even fields. Each field can encode two bytes of closed caption data. | |
Dynamic | fractVal | Sets colorburst amplitude with respect to its nominal value: for NTSC, the nominal burst amplitude is 40 IRE (adjustable from 0 to 1.25x nominal); for PAL, 43 IRE (adjustable from 0 to 1.67x nominal). | |
VL_EVO | intVal | Enables or disables (0) closed caption encoding. A value of
1 enables encoding in field 1 (odd fields); 2 enables encoding
of field 2 (even fields); 3 enables encoding in both fields. | |
0 | fractVal | Specifies the first line of active video in each field. Lines outside of the active video are blanked. A value of 0 represents line 17 in NTSC and line 22 in PAL. | |
Persistent | boolVal | Determines whether the white-to-black range for luminance is 92.5 IRE (TRUE) or 100 IRE (FALSE). The 92.5 IRE setting typically includes a 7.5 IRE setup (pedestal) of black. See also VL_EVO_VOUT_BLACK_LEVEL. | |
Persistent | fractVal | Set the amount of gain applied to the U and V color difference signals. The U gain ranges from -2.17x to 2.16x for NTSC and -2.05x to 2.04x for PAL. The V gain ranges from -1.55x to 1.55x for NTSC and -1.46 to 1.46x for PAL. | |
None | intVal | If closed caption encoding is enabled, these controls determine the text of the closed captioning for the odd and even fields. Each field can encode two bytes of closed-caption data. |