Index

-lvl
Performing Preliminary Steps

0 bit in packing
Packing Diagram Conventions

4
2
2:4 sampling
4:2:2 and 4:2:2:4 Sampling
2:sampling
4:2:2 and 4:2:2:4 Sampling
2:video, converting
4:2:2 and 4:2:2:4 Sampling
4
4:4 sampling
4:4:4 and 4:4:4:4 Sampling
4:sampling
4:4:4 and 4:4:4:4 Sampling
4:video, converting
4:2:2 and 4:2:2:4 Sampling

application
creating
Setting Up Your VL Application
sample, location
Video Library Capabilities
Generic Video Tools

asynchronous I/O
Asynchronous I/O

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

caching
Caching

camera controls
Camera Controls

capture
Video Real-Time Capture and Playback

client
Device Management

color space
VL_COLORSPACE
control
Determining the Color Space
conversion
OCTANE Personal Video Color-Space Conversions
and image processing
Color-Space Converter for Image Processing
math operations
Mathematical Operations Performed During Conversions
precision
Precision of Color Conversions Done by the OCTANE
Personal Video Option
range
Range Issues For Color Conversions Done by Any Means

constant hue
Constant Hue

contcapt.c (OpenGL)
Example Programs

control
VL Architectural Model of Video Devices
OCTANE Personal Video Nodes and Their Controls
Using VL Controls
Device-Independent Controls for OCTANE Personal Video
access
OCTANE Personal Video Nodes and Their Controls
and nodes
OCTANE Personal Video Nodes and Their Controls
classes
VL Control Classes
default values explained
OCTANE Personal Video Nodes and Their Controls
fraction ranges
VL Control Fraction Ranges
groupings
VL Control Groupings
in header file
Using VL Controls
type and values
VL Control Type and Values
type explained
OCTANE Personal Video Nodes and Their Controls

conventions
Conventions

ctrlusage
Setting Up the Data Path

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
Starting Data Transfer

decimation
VL_ZOOM
VL_OFFSET

dev_evo.h
Library and Header Files
Performing Preliminary Steps
Using VL Controls

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

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

DMbuffer
Using Buffers

DMediaInfo, getting from buffer
Reading Data From the VL Buffer

drain
Node
control for default
VL_DEVICE
Specifying Nodes on the Data Path
node controls, setting
Device-Independent Controls for OCTANE Personal Video
See also memory node, screen node, video node.
Transferring Video Data and Ending Data Transfer

Dynamic value
OCTANE Personal Video Nodes and Their Controls

error codes
Return Codes

event
handling
Event Handling
routines
Querying VL Events
listed
OCTANE Personal Video VL Events
masks
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

field dominance
memory drain node control
VL_MEM Drain
memory source node control
VL_MEM Source

field mask
VL_CAP_TYPE and VL_RATE

GST control access
OCTANE Personal Video Nodes and Their Controls

header file
OCTANE Personal Video
Library and Header Files
Performing Preliminary Steps
VL
Library and Header Files
Performing Preliminary Steps

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

image data, getting from buffer
Reading Data From the VL Buffer

Internal Video Sync
Using the Internal Video Sync Signal

ksyncset()
Setting the Internal Video Sync Signal Producer

ksyncstat()
Setting the Internal Video Sync Signal Producer

linking
Performing Preliminary Steps

loopback
Selecting the Input Connector
Selecting the Input Connector
Selecting the Input Connector

media stream count. See MSC.
Synchronizing Data Streams and Signals

memory
node
VL_MEM
drain
VL_MEM Drain
drain:controls
VL_MEM Drain
source
VL_MEM Source
source:controls
VL_MEM Source
reading from buffer to
Reading Data From the VL Buffer
sending frames to video from
Reading Data From the VL Buffer

memtovid
Generic Video Tools

MSC
Synchronizing Data Streams and Signals

mtov.c (OpenGL)
Example Programs

multiple clients
Device Management

node
OCTANE Personal Video Nodes and Their Controls
VL Architectural Model of Video Devices
adding
Adding a Node
defined
Node
device
VL_DEVICE
controls
VL_DEVICE
memory
VL_MEM
drain, controls
VL_MEM Drain
source, controls
VL_MEM Source
screen
VL_SCREEN
source, controls
VL_SCREEN
setting controls
Device-Independent Controls for OCTANE Personal Video
specifying
Specifying Nodes on the Data Path
video
VL_VIDEO
drain, controls
VL_VIDEO Drain
source, controls
VL_VIDEO Source

OpenGL programs
Example Programs

packing
VL_PACKING
Pixel Packings and Color Spaces
0 bit
Packing Diagram Conventions
24-bit
24-Bit Pixel Packings
32-bit
32-Bit Pixel Packings
8-bit
8-Bit Pixel Packings
and sampling pattern
Packings and Color Spaces
native
VL_PACKING
Packing Diagram Conventions
x bit
Packing Diagram Conventions

path
VL Architectural Model of Video Devices
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

Persistent value
OCTANE Personal Video Nodes and Their Controls

playback
Video Real-Time Capture and Playback

restart policy
VL_MEM Drain
VL_MEM Source

return codes
Return Codes

sample programs
Creating a Main Loop With Callbacks
Video Library Capabilities
Generic Video Tools

sampling pattern
Sampling Patterns
and packing
Packings and Color Spaces

screen node
VL_SCREEN
source, controls
VL_SCREEN

simpleccapt.c
Example Programs

simplegrab.c
Example Programs

simplem2v.c
Example Programs

simplev2s.c
Example Programs

source
Node
control for default
VL_DEVICE
Specifying Nodes on the Data Path
VL_DEVICE
node controls, setting
Device-Independent Controls for OCTANE Personal Video
See also memory node, screen node, video node.
Transferring Video Data and Ending Data Transfer

starvation policy
VL_MEM Source

status information
Status Information

streamusage
Setting Up the Data Path

synchronizing data streams
Synchronizing Data Streams and Signals

syntax
The VL Programming Model

syssgi
syssgi

tools, VL
Generic Video Tools

trigger
Starting Data Transfer

unadjusted system time. See UST.
Synchronizing Data Streams and Signals

UST
Synchronizing Data Streams and Signals

vcp
Generic Video Tools
and Persistent value
OCTANE Personal Video Nodes and Their Controls

video
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
Starting Data Transfer
drain
Node
format
OCTANE Personal Video Formats
converting
VL_PACKING
node
VL_VIDEO
drain
VL_VIDEO Drain
drain:controls
VL_VIDEO Drain
source
VL_VIDEO Source
source:controls
VL_VIDEO Source
sending frames from memory to
Reading Data From the VL Buffer
source
Node
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

vidtomem
Generic Video Tools

vidtomem.c (OpenGL)
Example Programs

vintovout
Generic Video Tools

VL
capabilities
Video Library Capabilities
control
Device-Independent Controls for OCTANE Personal Video
Using VL Controls
See also control.
VL Control Type and Values
device management
Device Management
header files
Library and Header Files
Performing Preliminary Steps
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
Using Buffers

vl.h
Library and Header Files
Performing Preliminary Steps

VL_ASPECT
VL_MEM Drain
Device-Independent Controls for OCTANE Personal Video
VL_MEM Source
VL_SCREEN
VL_ZOOM on Memory Nodes
VL_ZOOM on Memory Nodes

VL_CAP_TYPE
VL_CAP_TYPE and VL_RATE
VL_MEM Source
Device-Independent Controls for OCTANE Personal Video
VL_MEM Drain
See also control and node.
VL_VIDEO Drain

VL_COLORSPACE
VL_MEM Drain
VL_COLORSPACE
Device-Independent Controls for OCTANE Personal Video
VL_MEM Source

VL_DEFAULT_DRAIN
VL_DEVICE

VL_DEFAULT_SOURCE
VL_DEVICE

VL_DEVICE
VL_DEVICE
See also device node.
OCTANE Personal Video Nodes and Their Controls

VL_DITHER_FILTER
VL_VIDEO Drain

vl_evo.h
Library and Header Files
Using VL Controls

VL_EVO_ALPHA_NOT_PIXEL
VL_VIDEO Drain

VL_EVO_BUFFER_QUANTUM
VL_MEM Drain
VL_MEM Source

VL_EVO_COLOR_BAR_ENABLE
VL_VIDEO Drain

VL_EVO_COLOR_FRAME_LOCK
VL_VIDEO Drain

VL_EVO_COLOR_HPHASE
VL_VIDEO Drain

VL_EVO_CSC_ALPHA_CORRECTION
Constant Hue
VL_MEM Drain
VL_MEM Source

VL_EVO_CSC_COEF
VL_MEM Drain
VL_MEM Source
VL_VIDEO Drain
Color-Space Converter for Image Processing
Coefficients

VL_EVO_CSC_CONST_HUE
VL_MEM Source
Constant Hue
VL_MEM Drain

VL_EVO_CSC_LUT_ALPHA
VL_MEM Source
VL_MEM Drain
Color-Space Converter for Image Processing
VL_VIDEO Drain

VL_EVO_CSC_LUT_ALPHA_PAGE
VL_MEM Drain
VL_MEM Source
Selecting the Active LUT
VL_VIDEO Drain
Color-Space Converter for Image Processing

VL_EVO_CSC_LUT_IN_PAGE
Color-Space Converter for Image Processing
VL_MEM Drain
Selecting the Active LUT
VL_VIDEO Drain
VL_MEM Source

VL_EVO_CSC_LUT_IN_UB
VL_VIDEO Drain
Using Input and Alpha LUTs
Color-Space Converter for Image Processing
VL_MEM Source
VL_MEM Drain

VL_EVO_CSC_LUT_IN_VR
Using Input and Alpha LUTs
VL_VIDEO Drain
VL_MEM Drain
VL_MEM Source
Color-Space Converter for Image Processing

VL_EVO_CSC_LUT_IN_YG
VL_MEM Source
VL_VIDEO Drain
Using Input and Alpha LUTs
VL_MEM Drain
Color-Space Converter for Image Processing

VL_EVO_CSC_LUT_OUT_UB
VL_VIDEO Drain
VL_MEM Source
VL_MEM Drain
Color-Space Converter for Image Processing

VL_EVO_CSC_LUT_OUT_VR
VL_MEM Drain
VL_VIDEO Drain
VL_MEM Source
Color-Space Converter for Image Processing

VL_EVO_CSC_LUT_OUT_YG
VL_MEM Source
VL_VIDEO Drain
VL_MEM Drain
Color-Space Converter for Image Processing

VL_EVO_DMA_ERROR_RESTART
VL_MEM Source
VL_MEM Drain

VL_EVO_DMA_VOUT_BLANK
VL_MEM Source

VL_EVO_DMA_VOUT_STARVATION
VL_MEM Source

VL_EVO_FILTER_QUALITY
VL_MEM Drain

VL_EVO_FILTER_TYPE
VL_EVO_FILTER_TYPE
VL_VIDEO Drain
VL_MEM Drain

VL_EVO_FORMAT_LOOPBACK
Selecting the Input Connector
Selecting the Input Connector

VL_EVO_VIN_APERTURE_BAND_PASS
VL_VIDEO Source

VL_EVO_VIN_APERTURE_FACTOR
VL_VIDEO Source

VL_EVO_VIN_CHROMA_BANDWIDTH
VL_VIDEO Source

VL_EVO_VIN_CHROMA_HUE
VL_VIDEO Source

VL_EVO_VIN_CHROMA_SATURATION
VL_VIDEO Source

VL_EVO_VIN_COLOR_STANDARD
VL_VIDEO Source

VL_EVO_VIN_FAST_COLOR_TIME_CNSTNT
VL_VIDEO Source

VL_EVO_VIN_GAIN_CH1
VL_VIDEO Source

VL_EVO_VIN_GAIN_CH2
VL_VIDEO Source

VL_EVO_VIN_GAIN_HOLD
VL_VIDEO Source

VL_EVO_VIN_GAIN_HYSTERESIS
VL_VIDEO Source

VL_EVO_VIN_HSYNC_START
VL_VIDEO Source

VL_EVO_VIN_HSYNC_STOP
VL_VIDEO Source

VL_EVO_VIN_LUMA_BRIGHTNESS
VL_VIDEO Source

VL_EVO_VIN_LUMA_CONTRAST
VL_VIDEO Source

VL_EVO_VIN_LUMA_DELAY_COMPENSATE
VL_VIDEO Source

VL_EVO_VIN_PREFILTER_ACTIVE
VL_VIDEO Source

VL_EVO_VIN_TV_VTR_SEL
VL_VIDEO Source

VL_EVO_VIN_VERT_BLANK_SEL
VL_VIDEO Source

VL_EVO_VIN_VERT_NOISE_REDUCT
VL_VIDEO Source

VL_EVO_VIN_WHITE_PEAK
VL_VIDEO Source

VL_EVO_VOUT_ACTIVE_LINE
VL_VIDEO Drain

VL_EVO_VOUT_BLACK_LEVEL
VL_VIDEO Drain

VL_EVO_VOUT_CAP_1ST_BYTE_ODD
VL_VIDEO Drain

VL_EVO_VOUT_CAP_2ND_BYTE_ODD
VL_VIDEO Drain

VL_EVO_VOUT_CC_ENCODING
VL_VIDEO Drain

VL_EVO_VOUT_COLOR_BURST_AMP
VL_VIDEO Drain

VL_EVO_VOUT_LUMA_WT_GN_92_5
VL_VIDEO Drain

VL_EVO_VOUT_U_GAIN
VL_VIDEO Drain

VL_EVO_VOUT_V_GAIN
VL_VIDEO Drain

VL_EVO_VOUT_XTN_1ST_BYTE_EVN
VL_VIDEO Drain

VL_EVO_VOUT_XTN_2ND_BYTE_EVN
VL_VIDEO Drain

VL_FIELD_DOMINANCE
VL_MEM Source
VL_MEM Drain

VL_FLICKER_FILTER
Device-Independent Controls for OCTANE Personal Video
VL_SCREEN

VL_FORMAT
VL_VIDEO Source
VL_VIDEO Drain
VL_MEM Source
VL_MEM Drain
Device-Independent Controls for OCTANE Personal Video
VL_FORMAT
See also control and node.
VL_VIDEO Drain

VL_FREEZE
VL_VIDEO Drain
VL_SCREEN
VL_VIDEO Source
Device-Independent Controls for OCTANE Personal Video

VL_H_PHASE
VL_VIDEO Drain

VL_MEM
VL_MEM
See also memory node.
OCTANE Personal Video Nodes and Their Controls

VL_OFFSET
VL_MEM Source
VL_SCREEN
VL_VIDEO Source
VL_OFFSET
Device-Independent Controls for OCTANE Personal Video
VL_MEM Drain
VL_VIDEO Drain
See also control and node.
VL_VIDEO Drain

VL_ORIGIN
Device-Independent Controls for OCTANE Personal Video
VL_SCREEN

VL_PACKING
VL_MEM Source
VL_MEM Drain
Device-Independent Controls for OCTANE Personal Video
VL_PACKING
Determining the Color Space
See also control and node.
VL_VIDEO Drain

VL_PACKING_4444_8
Packings and Color Spaces
32-Bit Pixel Packings

VL_PACKING_444_8
Packing Diagram Conventions
24-Bit Pixel Packings

VL_PACKING_4_8
8-Bit Pixel Packings
8-Bit Pixel Packings

VL_PACKING_ABGR_8
32-Bit Pixel Packings
VL_PACKING

VL_PACKING_AUYV_4444_8
VL_PACKING

VL_PACKING_AUYV_8
32-Bit Pixel Packings

VL_PACKING_BGR_8_P
24-Bit Pixel Packings
VL_PACKING

VL_PACKING_R0444_8
32-Bit Pixel Packings

VL_PACKING_R242_10_in_16_L
32-Bit Pixel Packings

VL_PACKING_R242_8
16-Bit Pixel Packing
16-Bit Pixel Packing

VL_PACKING_R4444_8
32-Bit Pixel Packings

VL_PACKING_R444_332
8-Bit Pixel Packings
8-Bit Pixel Packings

VL_PACKING_RGB_332_P
VL_PACKING

VL_PACKING_RGB_8
VL_PACKING
32-Bit Pixel Packings

VL_PACKING_RGBA_8
32-Bit Pixel Packings
VL_PACKING

VL_PACKING_UYV_8_P
24-Bit Pixel Packings
VL_PACKING

VL_PACKING_Y_8_P
VL_PACKING

VL_PACKING_YUVA_4444_8
32-Bit Pixel Packings
VL_PACKING

VL_PACKING_YVYU_422_10
VL_PACKING
32-Bit Pixel Packings

VL_PACKING_YVYU_422_8
VL_PACKING

VL_RATE
VL_CAP_TYPE and VL_RATE
Device-Independent Controls for OCTANE Personal Video
VL_MEM Source
VL_MEM Drain
See also control and node.
VL_VIDEO Drain

VL_SCREEN
VL_SCREEN
See also screen node.
OCTANE Personal Video Nodes and Their Controls

VL_SIZE
VL_MEM Source
VL_VIDEO Drain
VL_SCREEN
VL_SIZE
Device-Independent Controls for OCTANE Personal Video
VL_MEM Drain
VL_VIDEO Source
VL_OFFSET
See also control and node.
VL_VIDEO Drain

VL_SYNC
VL_DEVICE

VL_SYNC_SOURCE
VL_DEVICE

VL_TIMING
VL_VIDEO Drain
VL_MEM Drain
Device-Independent Controls for OCTANE Personal Video
VL_SCREEN
VL_DEVICE
VL_MEM Source
VL_VIDEO Source
VL_TIMING
See also control and node.
VL_VIDEO Drain

VL_VIDEO
VL_VIDEO
See also video node.
OCTANE Personal Video Nodes and Their Controls

VL_ZOOM
VL_ZOOM
VL_OFFSET
Device-Independent Controls for OCTANE Personal Video
VL_MEM Source
VL_MEM Drain
VL_SCREEN
VL_VIDEO Source
VL_VIDEO Drain
See also control and node.
VL_VIDEO Drain

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()
Reading Data From the VL Buffer

vlGetControl()
Device-Independent Controls for OCTANE Personal Video

vlGetDevice()
Getting the Device ID

vlGetDMediaInfo()
Reading Data From the VL Buffer

vlGetFD()
Querying VL Events

vlGetFrontierMSC()
Media Library Interfaces for UST and MSC

vlGetImageInfo()
Reading Data From the VL Buffer

vlGetLatestValid()
Reading Data From the VL Buffer
Reading Data From the VL Buffer

vlGetNextFree()
Reading Data From the VL Buffer

vlGetNextValid()
Reading Data From the VL Buffer
Reading Data From the VL Buffer

vlGetNode()
Specifying Nodes on the Data Path

vlGetTransferSize()
Creating a Buffer for Video Data

vlGetUSTMSCPair()
Media Library Interfaces for UST and MSC

vlGetUSTPerMSC()
Media Library Interfaces for UST and MSC

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 VL Buffer
Reading Data From the VL Buffer

vlPutValid()
Reading Data From the VL Buffer

vlRegisterBuffer()
Registering the VL Buffer

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

vlSetControl()
Device-Independent Controls for OCTANE Personal Video

vlSetupPaths()
Setting Up the Data Path

x bit in packing
Packing Diagram Conventions

zoom
VL_OFFSET
VL_ZOOM