Index

-lvl
Performing Preliminary Steps

application
creating
Creating Video Programs With the Video Library
sample, location
Generic Video Tools
Video Library Capabilities

asynchronous I/O
Asynchronous I/O

autophase
and crosspoint mux
Crosspoint Mux Timing Restrictions
and timing glitch
VGI1 Memory Source Timing Restrictions
control
VL_DEVICE

autoswap, for texture node
Performing Video Texture Mapping
VL_TEXTURE
VL_MGV_TEXTURE_AUTOSWAP

autowipe
VL_BLENDER

B-Y video signal
YUV

Betacam
YUV

blender node
VL_BLENDER
The Blender Node
controls
VL_BLENDER

blending
Blending, Keying, and Transitions
before or after zooming
Using VL_ZOOM
node
The Blender Node
setting up
Setting Up the Blender Node

brightness. See luminance
YUV

buffer
VL Architectural Model of Video Devices
alignment
Buffer Alignment
and data transfer
Video Library Buffers
creating for video data
Creating a Buffer for Video Data
getting DMediaInfo and image data from
Getting DMediaInfo and Image Data From the Buffer
reading data from
Reading Data From the Buffer
reading frames to memory from
Reading the Frames to Memory From the Buffer
registering
Registering the VL Buffer

caching
Caching

capture
Video Real-Time Capture and Playback

CC1 memory source node
VL_MEM Source
VL_FB

CCIR 601 video standard
YUV

chroma
blanking when sending blender output to video
Setting Up the Blender Node
keying
The Keyer
Blending, Keying, and Transitions
Chroma Keying

client
Device Management

color
encoding
Color Encoding
sync burst
Video Signals

color space
conversion
Indigo2 IMPACT Video Color-Space Conversions
and image processing
Using the Color-Space Converter for Image Processing
controls:image-processing
Using Image-Processing Controls
controls:standard
Specifying Standard Color-Space Conversion Node Controls
custom LUTs, coefficients
Using Custom LUTs and Matrix Multiplier Coefficients
full-range, limited-range data
Full-Range and Limited-Range Video
math operations
Mathematical Operations Performed During Conversions
packings
Color-Space Conversion Packings
performing
Using Optional Color-Space Conversion
port
VL_CSC Ports
precision
Precision of Color Conversions Done by Indigo2 IMPACT Video
range
Color-Space Conversion Ranges
Range Issues For Color Conversions Done by Any Means
saved in memory
Color-Space Conversion Ranges
software model
Features of the Color-Space Conversion Node
video formats
Features of the Color-Space Conversion Node

composite video
Composite Video
Video Signals

connection
Connections
Specifying Connectivity

connectivity. See connection
Managing Connections

constant hue
Constant Hue

contcapt.c (OpenGL)
Example Programs

control
Setting Parameters for Data Transfer to or From Memory
Using VL Controls
VL Architectural Model of Video Devices
Indigo2 IMPACT Video Nodes and Their Controls
access
Indigo2 IMPACT Video Nodes and Their Controls
Setting Up the Blender Node
and nodes
Indigo2 IMPACT Video Nodes and Their Controls
blender
Setting Up the Blender Node
blending
The Blender Node
Setting Up the Blender Node
classes
VL Control Classes
default values explained
Indigo2 IMPACT Video Nodes and Their Controls
fraction ranges
VL Control Fraction Ranges
groupings
VL Control Groupings
in header file
Using VL Controls
keying
Keying
listed
Keying
type and values
VL Control Type and Values
type explained
Indigo2 IMPACT Video Nodes and Their Controls
VL, listed
Using VL Controls

conventions
Conventions

crosspoint mux
VL_FB
and LUT
VL_DEVICE
timing restrictions
Crosspoint Mux Timing Restrictions

ctrlusage
Setting Up the Data Path

D1
YUV

D2 525 (digital NTSC)
Broadcast Standards

D2 625 (digital PAL)
Broadcast Standards

daemon, video
Video Daemon
opening connection to
Opening a Connection to the Video Daemon

data transfer
The VL Programming Model
ending
Ending Data Transfer
starting
Starting Data Transfer
to and from memory
Setting Parameters for Data Transfer to or From Memory

decimation
Using VL_OFFSET
Using VL_ZOOM
texture node
VL_ZOOM

deinterlacing control
VL_SCREEN Drain

dev_mgv.h
Library and Header Files
Performing Preliminary Steps

device
VL Architectural Model of Video Devices
ID, getting
Getting the Device ID
management
Device Management
node
VL_DEVICE
controls
VL_DEVICE
video, transferring data
Transferring Video Data to and From Devices

digital video formats
Broadcast Standards

direct I/O to disk
Direct I/O to Disk

DMediaInfo, getting from buffer
Getting DMediaInfo and Image Data From the Buffer

drain
Node
blending and zooming
Using VL_ZOOM
control for default
VL_DEVICE
contrrol for default
Specifying Nodes on the Data Path
node controls, setting
Setting Parameters for Data Transfer to or From Memory
See also memory node, screen node, video node
Creating Video Programs With the Video Library

dual-link
texture node
VL_TEXTURE
Performing Video Texture Mapping
Using Optional Video Texture Mapping
packing
VL_TEXTURE
video drain node
VL_MEM Drain
video source node
VL_MEM Source

equations
YIQ
YIQ
YUV
YUV

error codes
Return Codes

event
capture into TRAM
VL_RATE
handling
Event Handling
routines
Querying VL Events
listed
Indigo2 IMPACT Video VL Events
masks
Querying VL Events
Specifying the Path-Related Events to Be Captured
querying
Querying VL Events
specifying path-related
Specifying the Path-Related Events to Be Captured
trigger
Starting Data Transfer
type
Querying VL Events

eventex.c
Creating a Main Loop With Callbacks

explicit routing
Setting Up the Data Path

fades
Fades, Tiles, and Wipes

field
Interlacing

field dominance
memory drain node control
VL_MEM Drain
memory source node control
VL_MEM Source
texture node
VL_TEXTURE
VL_MGV_DOMINANCE_FIELD

field mask
Using VL_CAP_TYPE and VL_RATE

filter, horizontal smoothing
VL_BLENDER
The Keyer

flat background
controls
Setting and Turning Off Flat Background
generator
The Blender Node
setting and turning off
Setting and Turning Off Flat Background

format, video
Broadcast Standards

frame
Interlacing
rate
Interlacing

framebuffer node
VL_FB
and CC1 memory
VL_FB

glBindTextureEXT
OpenGL Functions for Video Texture Mapping

glCopyTexSubImage2DEXT
OpenGL Functions for Video Texture Mapping

glEnable
OpenGL Functions for Video Texture Mapping

glGenTexturesEXT
OpenGL Functions for Video Texture Mapping

glGetError()
OpenGL Functions for Video Texture Mapping

glHint
OpenGL Functions for Video Texture Mapping

glitch
Avoiding Dynamic Switching Problems

glTexImage2D
OpenGL Functions for Video Texture Mapping

glTexParameteri
OpenGL Functions for Video Texture Mapping

glXMakeCurrentReadSGI
OpenGL Functions for Video Texture Mapping

GPI trigger, controls
VL_DEVICE

GST control access
Indigo2 IMPACT Video Nodes and Their Controls
Setting Up the Blender Node

header file
Indigo2 IMPACT Video
Library and Header Files
Performing Preliminary Steps
VL
Library and Header Files
Performing Preliminary Steps

horizontal smoothing filter
The Keyer
VL_BLENDER

I/O, direct to disk
Direct I/O to Disk

image data, getting from buffer
Getting DMediaInfo and Image Data From the Buffer

implicit and explicit routing
Setting Up the Data Path
See also connection
Setting Up the Data Path

interlacing
Interlacing

keyer
The Keyer
and alpha source A
The Blender Node
controls
VL_BLENDER
purpose
The Blender Node

keying
Blending, Keying, and Transitions
Keying
See also chroma keying, luma keying, transitions
Luma Keying

linking
Performing Preliminary Steps

luma keying
Blending, Keying, and Transitions
The Keyer
Luma Keying

luminance
YUV

LUT, selecting, control for
VL_DEVICE

memory
and data transfer
Setting Parameters for Data Transfer to or From Memory
node
VL_MEM
drain
VL_MEM Drain
drain:controls
VL_MEM Drain
drain:rounding
VL_MEM Drain
source
VL_MEM Source
source:CC1 and framebuffer
VL_FB
source:controls
VL_MEM Source
reading from buffer to
Reading the Frames to Memory From the Buffer
sending frames to video from
Sending Frames From Memory to Video

memtovid
Generic Video Tools

mipmap
Using Optional Video Texture Mapping
VL_MGV_TEXTURE_MIPMAP_MODE
VL_TEXTURE
and scaling
VL_MGV_HASPECT

monitor, noninterlaced
Interlacing

mtov.c (OpenGL)
Example Programs

multiple clients
Device Management

node
VL Architectural Model of Video Devices
Indigo2 IMPACT Video Nodes and Their Controls
adding
Adding a Node
blender
VL_BLENDER
The Blender Node
controls
VL_BLENDER
setting up
Setting Up the Blender Node
color-space conversion
VL_CSC
defined
Node
device
VL_DEVICE
controls
VL_DEVICE
framebuffer
VL_FB
memory
VL_MEM
drain, controls
VL_MEM Drain
source, controls
VL_MEM Source
screen
VL_SCREEN
drain, controls
VL_SCREEN Drain
source, controls
VL_SCREEN Source
setting controls
Setting Parameters for Data Transfer to or From Memory
specifying
Specifying Nodes on the Data Path
texture
Using Optional Video Texture Mapping
VL_TEXTURE
controls
Controls for Video Texture Mapping
VL_TEXTURE
video
VL_VIDEO
drain, controls
VL_VIDEO Drain
source, controls
VL_VIDEO Source

noninterlaced monitor
Interlacing

normalization
Setting Normalization
The Blender Node
VL_BLENDER

NTSC
Composite Video
Broadcast Standards
digital recording
Broadcast Standards
resolution
Broadcast Standards
YIQ encoding
YIQ

OpenGL
functions for texture mapping
OpenGL Functions for Video Texture Mapping
programs
Example Programs

packings
Using VL_PACKING
color-space conversion
Color-Space Conversion Packings

PAL
Composite Video
Broadcast Standards
digital recording
Broadcast Standards
resolution
Broadcast Standards
YUV encoding
YUV

path
VL Architectural Model of Video Devices
blending
Node
creating
Creating the Path
creating and setting up
Creating and Setting Up the Data Path
defined
Path
setting up
Setting Up the Data Path
specifying events
Specifying the Path-Related Events to Be Captured
specifying nodes on
Specifying Nodes on the Data Path

picture glitch
Avoiding Dynamic Switching Problems

playback
Video Real-Time Capture and Playback

port
defined
Port
VL_BLENDER
VL_BLENDER
VL_CSC
VL_CSC Ports
VL_DEVICE
VL_DEVICE
VL_FB
VL_FB
VL_MEM
drain
VL_MEM Drain
source
VL_MEM Source
VL_SCREEN
drain
VL_SCREEN Drain
source
VL_SCREEN Source
VL_TEX
VL_TEXTURE
VL_VIDEO
drain
VL_VIDEO Drain
source
VL_VIDEO Source

Porter-Duff model
Setting Up the Blender Node
VL_BLENDER
See also normalization
Setting Normalization

positioning windows
VL_SCREEN Drain
VL_SCREEN Source

R-Y video signal
YUV

resolution
Broadcast Standards

restart policy
VL_MEM Source
VL_MEM Drain

return codes
Return Codes

RGB
RGB

rounding for memory drain
VL_MEM Drain

S-VHS
YC, YC-358, YC-443, or S-Video

S-Video
YC, YC-358, YC-443, or S-Video

sample programs
Generic Video Tools
Examples
Example Program: vidtotex.c
Video Library Capabilities
Creating a Main Loop With Callbacks

screen node
VL_SCREEN
drain, controls
VL_SCREEN Drain
source, controls
VL_SCREEN Source

SECAM
Broadcast Standards

shadow
Adding Shadows
controls
Adding Shadows
VL_BLENDER

simpleccapt.c
Example Programs

simplegrab.c
Example Programs

simplem2v.c
Example Programs

simplev2s.c
Example Programs

source
Node
blending and zooming
Using VL_ZOOM
control for default
Specifying Nodes on the Data Path
VL_DEVICE
node controls, setting
Setting Parameters for Data Transfer to or From Memory
See also memory node, screen node, video node
Creating Video Programs With the Video Library

starvation policy
VL_MEM Source

status information
Status Information

streamusage
Setting Up the Data Path

sync burst
Video Signals

syntax
The VL Programming Model

syssgi
syssgi

tape formats
Videotape Formats

texture
mapping
VL_TEXTURE
Using Optional Video Texture Mapping
block diagram
Using Optional Video Texture Mapping
controls
Controls for Video Texture Mapping
OpenGL functions
OpenGL Functions for Video Texture Mapping
node
VL_TEXTURE
Using Optional Video Texture Mapping
timing
Timing Issues
RAM
Using Optional Video Texture Mapping

Texture Upgrade to 4 MB of Texture Memory for Indigo2 IMPACT graphics
Using Optional Video Texture Mapping

tiles
Fades, Tiles, and Wipes

timing
glitch
Avoiding Dynamic Switching Problems
texture node
Timing Issues

tools, VL
Generic Video Tools

TRAM
Using Optional Video Texture Mapping

transitions
Fades, Tiles, and Wipes
Blending, Keying, and Transitions

trigger
Starting Data Transfer

U-V signal. See chrominance
YC, YC-358, YC-443, or S-Video

VBAR mux
Getting Connections
Crosspoint Mux Timing Restrictions

vcp
Generic Video Tools

VGI1
memory drain node
VL_MEM Drain
memory source
node
VL_MEM Source
timing restrictions
VGI1 Memory Source Timing Restrictions

video
broadcast standards
Broadcast Standards
composite
Composite Video
Video Signals
daemon
Video Daemon
opening connection to
Opening a Connection to the Video Daemon
data transfer
Transferring Video Data to and From Devices
ending
Ending Data Transfer
starting
Starting Data Transfer
to and from memory
Setting Parameters for Data Transfer to or From Memory
digital recording
Broadcast Standards
displaying data onscreen
Displaying Video Data Onscreen
drain
Node
encoding
Color Encoding
field
Interlacing
format
Broadcast Standards
and color encoding methods
Composite Video
and videotape formats
Videotape Formats
converting
Using VL_PACKING
for color-space conversion
Features of the Color-Space Conversion Node
Indigo2 IMPACT Video
Indigo2 IMPACT Video Formats
frame
Interlacing
interlacing
Interlacing
luminance
YUV
node
VL_VIDEO
drain
VL_VIDEO Drain
drain:controls
VL_VIDEO Drain
source
VL_VIDEO Source
source:controls
VL_VIDEO Source
resolution
Broadcast Standards
S-Video
YC, YC-358, YC-443, or S-Video
sending frames from memory to
Sending Frames From Memory to Video
signal
Video Signals
source
Node
sync burst
Video Signals
unit, defined
VL_MEM Source

Video Library. See VL
VL System Software Architecture

videod
Video Daemon

videoin
Generic Video Tools

videoout
Generic Video Tools

videopanel
Generic Video Tools

videotape formats
Videotape Formats

vidtomem
Generic Video Tools

vidtomem.c (OpenGL)
Example Programs

vidtotex.c
Example Program: vidtotex.c

vintovout
Generic Video Tools

VL
capabilities
Video Library Capabilities
control
Setting Parameters for Data Transfer to or From Memory
Using VL Controls
blending
The Blender Node
Setting Up the Blender Node
keying
Keying
See also control
VL Control Type and Values
device management
Device Management
header files
Performing Preliminary Steps
Library and Header Files
programming model
The VL Programming Model
requirements for running
Performing Preliminary Steps
status information
Status Information
syntax
The VL Programming Model
system software architecture
VL System Software Architecture
tools
Generic Video Tools

VL buffer
Creating a Buffer for Video Data

vl.h
Performing Preliminary Steps
Library and Header Files

VL_BLENDER
VL_BLENDER
See also blender
Indigo2 IMPACT Video Nodes and Their Controls

VL_CAP_TYPE
Using VL_CAP_TYPE and VL_RATE
See also control and node
VL_VIDEO Drain
texture node
VL_CAP_TYPE

VL_CSC
Using Optional Color-Space Conversion
VL_CSC
See also color space conversion
Indigo2 IMPACT Video Nodes and Their Controls

VL_DEVICE
VL_DEVICE
See also device node
Indigo2 IMPACT Video Nodes and Their Controls

VL_FB
VL_FB
See also framebuffer node
VL_FB

VL_FORMAT
Using VL_FORMAT
See also control and node
VL_VIDEO Drain

VL_MEM
VL_MEM
See also memory node
Indigo2 IMPACT Video Nodes and Their Controls

vl_mgv.h
Library and Header Files
Performing Preliminary Steps

VL_OFFSET
Using VL_OFFSET
See also control and node
VL_VIDEO Drain
texture node
VL_OFFSET
VL_ZOOM

VL_ORIGIN
Using VL_OFFSET
See also control and node
VL_VIDEO Drain

VL_PACKING
Using VL_PACKING
Setting Parameters for Data Transfer to or From Memory
See also control and node
VL_VIDEO Drain
texture node
VL_PACKING

VL_RATE
Using VL_CAP_TYPE and VL_RATE
See also control and node
VL_VIDEO Drain
texture node
VL_RATE

VL_SCREEN
VL_SCREEN
See also screen node
Indigo2 IMPACT Video Nodes and Their Controls

VL_SIZE
Using VL_OFFSET
Using VL_SIZE
See also control and node
VL_VIDEO Drain
texture node
VL_SIZE
VL_ZOOM

VL_TEXTURE
Using Optional Video Texture Mapping
VL_TEXTURE
See also texture node
Indigo2 IMPACT Video Nodes and Their Controls

VL_TIMING
Using VL_TIMING
See also control and node
VL_VIDEO Drain

VL_VIDEO
VL_VIDEO
See also video node
Indigo2 IMPACT Video Nodes and Their Controls

VL_ZOOM
Using VL_OFFSET
Using VL_ZOOM
See also control and node
VL_VIDEO Drain
texture node
VL_ZOOM
VL_ZOOM

vlAddCallback()
Event Handling

vlAddNode()
Adding a Node

vlBeginTransfer()
Starting Data Transfer

vlCheckEvent()
Querying VL Events

vlCloseVideo()
Ending Data Transfer

vlcmd
Generic Video Tools

vlCreateBuffer()
Creating a Buffer for Video Data

vlCreatePath()
Creating the Path

vlDeregisterBuffer()
Ending Data Transfer

vlDestroyBuffer()
Ending Data Transfer

vlDestroyPath()
Ending Data Transfer

vlEndTransfer()
Ending Data Transfer
Starting Data Transfer

vlEventToName()
Querying VL Events

vlGetActiveRegion()
Getting DMediaInfo and Image Data From the Buffer

vlGetControl()
Setting Parameters for Data Transfer to or From Memory

vlGetDevice()
Getting the Device ID

vlGetDMediaInfo()
Getting DMediaInfo and Image Data From the Buffer

vlGetFD()
Querying VL Events

vlGetImageInfo()
Getting DMediaInfo and Image Data From the Buffer

vlGetLatestValid()
Reading the Frames to Memory From the Buffer
Reading Data From the Buffer

vlGetNextFree()
Sending Frames From Memory to Video

vlGetNextValid()
Reading the Frames to Memory From the Buffer
Reading Data From the Buffer

vlGetNode()
Setting Up the Blender Node
Specifying Nodes on the Data Path

vlGetTransferSize()
Creating a Buffer for Video Data

vlinfo
Generic Video Tools

vlMainLoop()
Event Handling

vlNextEvent()
Querying VL Events

vlOpenVideo()
Opening a Connection to the Video Daemon

vlPeekEvent()
Querying VL Events

vlPutFree()
Reading Data From the Buffer
Reading the Frames to Memory From the Buffer

vlPutValid()
Sending Frames From Memory to Video

vlRegisterBuffer()
Registering the VL Buffer

vlSelectEvents()
Specifying the Path-Related Events to Be Captured
Event Handling
Querying VL Events
Creating a VL Event Loop

vlSetConnection()
Specifying Connectivity
Setting Up the Data Path

vlSetControl()
Setting Parameters for Data Transfer to or From Memory

vlSetupPaths()
Setting Up the Data Path

window positioning
VL_SCREEN Source
VL_SCREEN Drain

wipes
Fades, Tiles, and Wipes
Setting Normalization
controls
VL_BLENDER

Y signal. See luminance
YUV

YC
YC, YC-358, YC-443, or S-Video

YC-358
YC, YC-358, YC-443, or S-Video

YC-443
YC, YC-358, YC-443, or S-Video

YIQ
YIQ
equations
YIQ

YUV
YUV
equation
YUV

zoom
Using VL_OFFSET
Using VL_ZOOM
before or after blending
Using VL_ZOOM