Index

-lvl
Performing Preliminary Steps

API, Compression Library
Programming With the Compression Library

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

audio compression
OCTANE Compression Features

blending, before or after zooming
Using VL_ZOOM

bufCompression Library
buffered interface
Using the Buffering Interface

buffer
VL Architectural Model of Video Devices
CL
Using the Buffering Interface
creating
Creating a Buffer
creating for video data
Creating a Buffer for Video Data
flushing
Hardware Buffer Flushing and Latency
getting DMediaInfo and image data from
Getting DMediaInfo and Image Data From the Buffer
internal versus external
Creating a Buffer
managing
Managing Buffers
architecture
Producing and Consuming Data in Buffers
non-blocking playback
Creating a Nonblocking Buffered Playback Application
non-blocking recording application
Creating a Nonblocking Buffered Record Application
playback application
Creating a Basic Buffered Playback Application
reading data from
Reading Data From the Buffer
reading frames to memory from
Reading the Frames to Memory From the Buffer
record application
Creating a Buffered Record Application
registering
Registering the VL Buffer
ring
Using the Buffering Interface

capture type, specifying in application
Video-to-Memory Compression

CL. See Compression Library
OCTANE Compression and the Compression Library

CL_ALGORITHM_ID
Compression Ratio and Quality Parameters

CL_BITS_PER_COMPONENT
Data Format Parameters

CL_BLOCK_SIZE
Buffer Parameters

CL_CODEC
Determining the JPEG Codec

CL_COMPONENTS
Data Format Parameters

CL_COMPRESSED_BUFFER_SIZE
Buffer Parameters

CL_COMPRESSION_RATIO
Controlling JPEG Compressed Image Quality

CL_CONTINUOUS_BLOCK
Compressing Frames
Controlling Compression and Decompression Operation

CL_CONTINUOUS_NONBLOCK
Video-to-Memory Compression
Controlling Compression and Decompression Operation
Compressing Frames

CL_ENABLE_IMAGEINFO
Getting Compressed Image Information
Getting Compressed Image Information
Adding OCTANE Compression Support to an Application
Video-to-Memory Compression

CL_END_OF_SEQUENCE
JPEG and MPEG Parameters

CL_EXACT_COMPRESSION_RATIO
Compression Ratio and Quality Parameters

CL_EXTERNAL_DEVICE
Compressing Frames

CL_FRAME_BUFFER_SIZE
Buffer Parameters

CL_FRAME_RATE
Buffer Parameters

CL_FRAME_TYPE
Buffer Parameters
Using Frame Type Parameters

CL_IMAGE_HEIGHT
Image Frame Dimension Parameters
Memory-to-Memory Decompression
Memory-to-Video Decompression
Memory-to-Memory Compression
Video-to-Memory Compression
Using OCTANE Compression Image Formats
Getting Stream Information
Using OCTANE Compression Image Formats

CL_IMAGE_WIDTH
Memory-to-Video Decompression
Video-to-Memory Compression
Video-to-Memory Compression
Getting Stream Information
Image Frame Dimension Parameters
Using OCTANE Compression Image Formats
Memory-to-Memory Decompression
Using OCTANE Compression Image Formats
Memory-to-Memory Compression

CL_IMPACT_CODEC_CONTROL
Controlling Compression and Decompression Operation
Memory-to-Video Decompression

CL_IMPACT_FRAME_INTERLEAVE
Interleaving

CL_IMPACT_INTERLEAVE_MODE
Interleaving

CL_IMPACT_VIDEO_INPUT_CONTROL
Determining the JPEG Codec

CL_INTERNAL_FORMAT
Data Format Parameters

CL_INTERNAL_IMAGE_HEIGHT
Memory-to-Memory Compression
Video-to-Memory Compression
Using OCTANE Compression Image Formats
Memory-to-Memory Decompression
Memory-to-Video Decompression
Using OCTANE Compression Image Formats

CL_INTERNAL_IMAGE_WIDTH
Memory-to-Video Decompression
Video-to-Memory Compression
Video-to-Memory Compression
Memory-to-Memory Compression
Memory-to-Memory Decompression
Using OCTANE Compression Image Formats
Using OCTANE Compression Image Formats

CL_JPEG_COMPONENT_TABLES
Defining and Using Custom JPEG Quantization Tables
JPEG and MPEG Parameters

CL_JPEG_QUALITY_FACTOR
JPEG and MPEG Parameters
Specifying a JPEG Quality Factor

CL_JPEG_QUANTIZATION_TABLES
Defining and Using Custom JPEG Quantization Tables
JPEG and MPEG Parameters

CL_MVC1
Closing a Decompressor
Closing a Compressor

CL_ORIENTATION
Using OCTANE Compression Image Formats
Data Format Parameters

CL_ORIGINAL_FORMAT
Using OCTANE Compression Image Formats
Data Format Parameters

CL_PREROLL
Buffer Parameters

clCloseCompressor()
Closing a Compressor

clCloseDecompressor()
Closing a Decompressor

clCompress()
Creating a Nonblocking Buffered Record Application
Compressing Frames
Compressing Frames
Creating a Buffered Record Application

clCompressImage()
Using the Still Image Interface

clCreateBuf()
Getting Stream Information
Creating a Buffer

clDecompress()
Decompressing Frames
Decompressing Frames
Creating a Basic Buffered Playback Application

clDecompressImage()
Using the Still Image Interface

clDestroyBuf()
Creating a Buffer

clDoneUpdatingHead()
Creating a Basic Buffered Playback Application
Managing Buffers

clGetAlgorithmName()
Getting an Algorithm Scheme or Name

client
Video Daemon

clipping
compression
Video-to-Memory Compression
decompression
Memory-to-Video Decompression
VL control
Padding and Scaling

clOpenCompressor()
Opening a Compressor

clOpenDecompressor()
Opening a Decompressor

clQuery()
Creating a Basic Buffered Playback Application
Creating a Buffered Record Application

clQueryAlgorithms()
Getting a List of Algorithms

clQueryBufferHdl()
Creating a Buffer

clQueryFree()
Managing Buffers
Producing and Consuming Data in Buffers

clQueryHandle()
Creating a Buffer

clQueryLicense()
Getting License Information

clQueryMaxHeaderSize()
Getting Stream Information

clQueryScheme()
Getting Stream Information

clQuerySchemeFromHandle()
Getting an Algorithm Scheme or Name

clQuerySchemeFromName()
Getting an Algorithm Scheme or Name
Opening a Compression Session

clQueryValid()
Creating a Nonblocking Buffered Record Application
Producing and Consuming Data in Buffers
Creating a Buffered Record Application
Managing Buffers
Creating a Basic Buffered Playback Application

clReadHeader()
Getting Stream Information

clUpdateHead()
Creating a Buffered Record Application
Creating a Basic Buffered Playback Application
Managing Buffers

clUpdateTail()
Creating a Basic Buffered Playback Application
Creating a Buffered Record Application
Managing Buffers

codec
available
Adding OCTANE Compression Support to an Application
JPEG, determining
Determining the JPEG Codec
node
Specifying Nodes on the Data Path

COMPRESSED_BUFFER_SIZE
Compressing Frames

compression
format
OCTANE Compression Formats
hardware acceleration
Using the Buffering Interface
image
Using the Still Image Interface
multiprocessing example
Creating Buffered Multiprocess Record and Play Applications
multithreading
Using the Buffering Interface
performance
Choosing a Compression Library Algorithm

Compression Library
API
Programming With the Compression Library
error handling
Error Handling
file I/O
Error Handling

Compression Library
OCTANE Compression and the Compression Library
OCTANE Compression Features
algorithms
Using Compression Library Algorithms
choosing
Choosing a Compression Library Algorithm
independence
Querying Compression Library Algorithms
performance statistics
Choosing a Compression Library Algorithm
querying
Querying Compression Library Algorithms
buffered interface
Using the Buffering Interface
parameters
Using Compression Library Parameters
Video Library Controls and Compression Library Parameters for the OCTANE Compression Option
definitions
Compression Library Parameter Definitions
frame type
Using Frame Type Parameters
setting, querying
Setting and Querying Compression Library Parameters
sequential interface
Using the Sequential Frame Interface
Using the Sequential Frame Interface
still-frame interface
Using the Still Image Interface

compressor
Compressing a Sequence of Frames

connection
Port

consuming
Using the Buffering Interface
Producing and Consuming Data in Buffers

contcapt.c (OpenGL)
Example Programs

control
Using Video Library Controls
Setting Node Controls for Data Transfer
VL Architectural Model of Video Devices
Device Node Controls
classes
VL Control Classes
fraction ranges
VL Control Fraction Ranges
groupings
VL Control Groupings
in header file
Using Video Library Controls
type and values
VL Control Type and Values

conventions
Conventions

ctrlusage
Setting Up the Data Path

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

data transfer
ending
Ending Data Transfer
starting
Starting Data Transfer
to and from memory
Setting Parameters for Data Transfer to or From Memory or Codec Nodes

decimation
Using VL_ZOOM
Using VL_OFFSET
compression
Video-to-Memory Compression

decompressor
Decompressing a Sequence of Frames

dev_mgv.h
Library and Header Files

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

DM_IMAGE_INTERLACING
Using OCTANE Compression Image Formats
Setting Interlacing for NTSC and PAL

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

documentation, other
Other Documents

drain
Node
blending and zooming
Using VL_ZOOM
contrrol for default
Specifying Nodes on the Data Path
node controls, setting
Setting Node Controls for Data Transfer
See also memory node, screen node, video node
Programming With the Video Library

error handling, Compression Library
Error Handling

event
masks
Specifying the Path-Related Events to Be Captured
specifying path-related
Specifying the Path-Related Events to Be Captured
trigger
Starting Data Transfer

explicit routing
Setting Up the Data Path

external buffer
Creating a Buffer

field dominance, memory source node control
Memory Node DMA Controls
Setting Field Dominance

field mask
Using VL_CAP_TYPE and VL_RATE

file I/O in the Compression Library
Error Handling

format, compression
OCTANE Compression Formats

gray-scale
Choosing a Compression Library Algorithm

hardware acceleration
Padding and Scaling
compression
Using the Buffering Interface

header
reading
Getting Stream Information
structure
Getting Stream Information

header file
Library and Header Files
VL
Library and Header Files

Huffman encoding
JPEG and MPEG Parameters
JPEG and MPEG Parameters
Controlling JPEG Compressed Image Quality
Defining and Using Custom JPEG Quantization Tables

image compression
Using the Still Image Interface

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
Setting Interlacing for NTSC and PAL

interleaving
Interleaving

internal buffer
Creating a Buffer

JPEG
Using the Still Image Interface
data
getting
Getting Compressed Image Information
invalid
Using the Still Image Interface
Getting Compressed Image Information

latency
Hardware Buffer Flushing and Latency

license, algorithms
Getting License Information

linking
Performing Preliminary Steps

malloc()
Getting an Algorithm Scheme or Name

manuals, other
Other Documents

memory
and data transfer
Setting Parameters for Data Transfer to or From Memory or Codec Nodes
node
Specifying Nodes on the Data Path
node controls
Memory Node Controls
node DMA controls
Memory Node DMA Controls
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

MPEG
Choosing a Compression Library Algorithm

mtov.c (OpenGL)
Example Programs

multimedia applications, choosing a compression method
Choosing a Compression Library Algorithm

multiple clients
Video Daemon

multiprocessing compression
Using the Buffering Interface
example
Creating Buffered Multiprocess Record and Play Applications

MVC1
Choosing a Compression Library Algorithm
Choosing a Compression Library Algorithm

node
VL Architectural Model of Video Devices
adding
Adding a Node
defined
Node
setting controls
Setting Node Controls for Data Transfer
specifying
Specifying Nodes on the Data Path

NTSC interlacing
Setting Interlacing for NTSC and PAL

OCTANE Compression
and video options
OCTANE Compression and Video Options
features
OCTANE Compression Features and Capabilities

OpenGL programs
Example Programs

padding
compression
Video-to-Memory Compression
decompression
Memory-to-Video Decompression
VL controls
Padding and Scaling

PAL interlacing
Setting Interlacing for NTSC and PAL

parameters, Compression Library
Using Compression Library Parameters
definitions
Compression Library Parameter Definitions
frame type
Using Frame Type Parameters
setting, querying
Setting and Querying Compression Library Parameters

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

playback, non-blocking
Creating a Nonblocking Buffered Playback Application

port, defined
Port

predefined scheme value
Opening a Compression Session

producing
Using the Buffering Interface
Producing and Consuming Data in Buffers

recording
using buffers for non-blocking compression
Creating a Nonblocking Buffered Record Application
using buffers to compress for
Creating a Buffered Record Application

ring buffer
head and tail
Using the Buffering Interface
See also buffer
Using the Buffering Interface

RTR1
Choosing a Compression Library Algorithm
Choosing a Compression Library Algorithm

sample programs
Video Library Capabilities
Generic Video Tools

scaling
Video-to-Memory Compression
compression
Video-to-Memory Compression
decompression
Memory-to-Video Decompression
Memory-to-Video Decompression
VL controls
Padding and Scaling

scheme pound define
Opening a Compression Session

sequential interface of the Compression Library
Using the Sequential Frame Interface

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
node controls, setting
Setting Node Controls for Data Transfer
See also memory node, screen node, video node
Programming With the Video Library

sproc()
Creating Buffered Multiprocess Record and Play Applications
Creating a Nonblocking Buffered Record Application

starvation policy
Memory Node DMA Controls

streamusage
Setting Up the Data Path

syntax
The VL Programming Model

telecommunications, choosing a compression method
Choosing a Compression Library Algorithm

tools, VL
Generic Video Tools

trigger
Starting Data Transfer

vcp
Generic Video Tools

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
to and from memory
Setting Parameters for Data Transfer to or From Memory or Codec Nodes
drain
Node
format, converting
Using VL_PACKING
node
Specifying Nodes on the Data Path
sending frames from memory to
Sending Frames From Memory to Video
source
Node

Video Library
OCTANE Compression and the Video Library

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
Using Video Library Controls
Setting Node Controls for Data Transfer
See also control
VL Control Type and Values
controls
Video Library Controls and Compression Library Parameters for the OCTANE Compression Option
device management
Video Daemon
header files
Library and Header Files
programming model
The VL Programming Model
requirements for running
Performing Preliminary Steps
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
Library and Header Files

VL_CAP_TYPE
Using VL_CAP_TYPE and VL_RATE
and buffer size
Creating a Buffer for Video Data

VL_CODEC
Specifying Nodes on the Data Path

VL_FORMAT
Using VL_FORMAT

VL_MEM
Specifying Nodes on the Data Path

VL_MGC_HASPECT
Padding and Scaling

VL_MGC_PAD_BOTTOM
Padding and Scaling

VL_MGC_PAD_ENABLE
Padding and Scaling

VL_MGC_PAD_LEFT
Padding and Scaling

VL_MGC_PAD_RIGHT
Padding and Scaling

VL_MGC_PAD_TOP
Padding and Scaling

VL_MGC_PAD_Y/U/V
Padding and Scaling

VL_MGC_VASPECT
Padding and Scaling

VL_MGC_VIDEO_TOP_CLIP
Padding and Scaling

vl_mgv.h
Library and Header Files

VL_MGV_DOMINANCE_FIELD
VL_CAPTURE_INTERLEAVED

VL_OFFSET
Using VL_OFFSET

VL_PACKING
Setting Node Controls for Data Transfer
Using VL_PACKING

VL_RATE
Using VL_CAP_TYPE and VL_RATE

VL_SIZE
Using VL_OFFSET
Using VL_SIZE

VL_TIMING
Using VL_TIMING

VL_VIDEO
Specifying Nodes on the Data Path

VL_ZOOM
Using VL_ZOOM
Using VL_OFFSET

vlAddNode()
Adding a Node

vlBeginTransfer()
Starting Data Transfer

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

vlGetActiveRegion()
Getting DMediaInfo and Image Data From the Buffer

vlGetControl()
Setting Node Controls for Data Transfer

vlGetDevice()
Getting the Device ID

vlGetDMediaInfo()
Getting DMediaInfo and Image Data From the Buffer

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()
Specifying Nodes on the Data Path

vlGetTransferSize()
Creating a Buffer for Video Data

vlinfo
Generic Video Tools

vlOpenVideo()
Opening a Connection to the Video Daemon

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

vlSetConnection()
Setting Up the Data Path

vlSetControl()
Setting Node Controls for Data Transfer

vlSetupPaths()
Setting Up the Data Path

wrap
Managing Buffers
Producing and Consuming Data in Buffers

zoom
Using VL_OFFSET
Using VL_ZOOM
before or after blending
Using VL_ZOOM