Index

1080i HD timing chart
Common Video Standards

422x CbYCr Examples
422x CbYCr Examples

720p HD timing chart
Common Video Standards

array values
Array Values

ASC parameters
Application Stream Count (ASC) Parameters

audio buffer layout
Audio Buffer Layout

audio buffer size computation
Uncompressed Audio Buffer Size Computation

audio parameters
Audio Parameters Summary
ML_AUDIO_BUFFER_POINTER
ML_AUDIO_BUFFER_POINTER
ML_AUDIO_CHANNELS_INT32
ML_AUDIO_CHANNELS_INT32
ML_AUDIO_COMPRESSION_INT32
ML_AUDIO_COMPRESSION_INT32
ML_AUDIO_FORMAT_INT32
ML_AUDIO_FORMAT_INT32
ML_AUDIO_FRAMESIZE_INT32
ML_AUDIO_FRAME_SIZE_INT32
ML_AUDIO_GAINS_REAL64_ARRAY
ML_AUDIO_GAINS_REAL64_ARRAY
ML_AUDIO_PRECISION_INT32
ML_AUDIO_PRECISION_INT32
ML_AUDIO_SAMPLE_RATE_REAL64
ML_AUDIO_SAMPLE_RATE_REAL64

audio/video jacks
Audio/Video Jacks

audio/visual paths
Audio/Visual Paths

bit reordering
ML_SWAP_BYTES_INT32

buffer
allocation
Step 4: Allocate Buffers
how to send to device for processing
Step 6: Send Buffer to Device for Processing
refill
Step 8: Refill the Buffer for Further Processing
sending
Send Buffers

capabilities access
Accessing and Freeing Capabilities

capabilities access via function calls
Manual Access to Capabilities

capabilities list
Finding a Parameter in a Capabilities List

capabilities tree
ML Terminology
Capabilities Tree

capabilities utility functions
Utility Functions for Capabilities

CbYCr examples
CbYCr Examples

clock
ML Terminology

colorspace parameter format
ML_IMAGE_COLORSPACE_INT32

colorspace values
ML_VIDEO_COLORSPACE_INT32

common video standards
Common Video Standards

constant identification numbers
Identification Numbers

control query
Get Controls

controls query
Query Controls

controls sending
Send Controls

controls setting
Set Controls

destination pipes
Transcoders

device location
Step 2: Locate a Device

device open
Step 3: Open the Device Output Path

device open options
Device Open Options

device output path
Step 3: Open the Device Output Path

device path controls
Step 5: Set Controls on Audio Device Path

device path set up
Step 4: Set Up the Audio Device Path

device states
Device States
Device States

example programs online
Introduction

exception events
Processing Exception Events

FI-dominant vs F2-dominant
ML_IMAGE_DOMINANCE_INT32

field dominance
ML_IMAGE_DOMINANCE_INT32

freeing capabilities
Freeing Capabilities Lists

get version
Get Version

graphics/video distinction between
ML Terminology

greyscale examples
Greyscale Examples

high definition (HD) timings
High Definition (HD) Timings

identification numbers
Identification Numbers

image buffer
Image Buffer Layouts

image buffer parameters
ML_IMAGE_BUFFER_POINTER
ML_IMAGE_BUFFER_POINTER
ML_IMAGE_BUFFER_SIZE_INT32
ML_IMAGE_BUFFER_SIZE_INT32
ML_IMAGE_COLORSPACE_INT32
ML_IMAGE_COLORSPACE_INT32
ML_IMAGE_COMPRESSION_FACTOR_REAL32
ML_IMAGE_COMPRESSION_FACTOR_REAL32
ML_IMAGE_COMPRESSION_INT32
ML_IMAGE_COMPRESSION_INT32
ML_IMAGE_DOMINANCE_INT32
ML_IMAGE_DOMINANCE_INT32
ML_IMAGE_HEIGHT_1_INT32
ML_IMAGE_HEIGHT_1_INT32
ML_IMAGE_HEIGHT_2_INT32
ML_IMAGE_HEIGHT_2_INT32
ML_IMAGE_INTERLEAVE_MODE_INT32
ML_IMAGE_INTERLEAVE_MODE_INT32
ML_IMAGE_ORIENTATION_INT32
ML_IMAGE_ORIENTATION_INT32
ML_IMAGE_PACKING_INT32
ML_IMAGE_PACKING_INT32
ML_IMAGE_ROW_BYTES_INT32
ML_IMAGE_ROW_BYTES_INT32
ML_IMAGE_SAMPLING_INT32
ML_IMAGE_SAMPLING_INT32
ML_IMAGE_SKIP_PIXELS_INT32
ML_IMAGE_SKIP_PIXELS_INT32
ML_IMAGE_SKIP_ROWS_INT32
ML_IMAGE_SKIP_ROWS_INT32
ML_IMAGE_TEMPORAL_SAMPLING_INT32
ML_IMAGE_TEMPORAL_SAMPLING_INT32
ML_IMAGE_WIDTH_INT32
ML_IMAGE_WIDTH_INT32
ML_SWAP_BYTES_INT32
ML_SWAP_BYTES_INT32

image parameters
Video Parameters
Image Buffer Parameters

in-band messages
Sending In-Band Messages
Processing In-Band Messages

in-band reply messages
Processing In-Band Reply Messages

individual parameters of logical devices
Query Individual Parameters of Logical Devices

interlaced
ML_IMAGE_HEIGHT_1_INT32

interlaced sampling
Interlaced Sampling

interleaved
ML_IMAGE_HEIGHT_1_INT32

interpretation of a video timing parameter
Example: Printing the Interpretation of a Video Timing Parameter

introduction to ML
Introduction

jack
ML Terminology

jack closing
Close a Jack

jack controls
Set Jack Controls

jack direction
Jack Logical Device Capabilities

jack logical device capabilities
Jack Logical Device Capabilities
Jack Logical Device Capabilities

jack open parameters
Jack Open Parameters

jack opening
Open a Jack

local system capabilities
Get Local System Capabilities

logical device
ML Terminology

logical device capabilities
Logical Device Capabilities

logical device individual parameters
Query Individual Parameters of Logical Devices

logical devices
Get Logical Devices

logical path closing
Closing a Logical Path

logical path opening
Opening a Logical Path

media stream count
ML Terminology

message construction
Construct a Message
Constructing a Message

message name
Message Name

message processing
Step 7: Begin Message Processing

message reception
Step 8: Receive the Reply Message

messages
param/value Pairs in an MLpv Message

messages, description
param/value Pairs in an MLpv Message

ML processing
ML Processing

ML program structure
ML Program Structure

ML_BUFFERS_xxx
Send Buffers

ML_CHANNELS_xxx
ML_AUDIO_CHANNELS_INT32

ML_COMPRESSION_xxx
ML_AUDIO_COMPRESSION_INT32

ML_DOMINANCE_xxx
ML_IMAGE_DOMINANCE_INT32

ML_EVENT_xxx
Processing Exception Events

ML_FORMAT_xxx
ML_AUDIO_FORMAT_INT32

ML_IMAGE_BUFFER_POINTER
Image Buffer Layouts

ML_INTERLEAVE_MODE_XXX
ML_IMAGE_INTERLEAVE_MODE_INT32

ML_JACK_TYPE_xxxx
Jack Logical Device Capabilities

ML_MODE_xxx
Jack Open Parameters

ML_PATH_BUFFER_ALIGNMENT_INT32
Image Buffer Layouts

ML_PATH_COMPONENT_ALIGNMENT_INT32
Image Buffer Layouts

ML_SAMPLING_xxx
ML_VIDEO_SAMPLING_INT32

ML_SIGNAL_xxx
ML_VIDEO_OUTPUT_DEFAULT_SIGNAL_INT64

ML_SYSTEM_LOCALHOST
ML Terminology

ML_TIMING_xxx
ML_VIDEO_GENLOCK_SIGNAL_PRESENT_INT32
ML_VIDEO_SIGNAL_PRESENT_INT32

ML_VIDEO
Construct a Message

ML_VIDEO_xxx
Video Parameter Descriptions

mlBeginTransfer
Step 6: Begin the Transfer
Beginning and Ending Transfers
Starting a Transfer
Begin Transfer

mlBeginTransfer call
Step 7: Begin Message Processing

mlclose
Step 10: Close the Path
Close a Jack
Closing a Logical Path

mlClose call
Step 9: Close the Path

mlEndTransfer
Step 9: End the Transfer
Closing a Logical Path
Ending Transfers
Closing a Transcoder

mlFreeCapabilities
Manual Access to Capabilities

mlGetCapabilites
Finding a Suitable Transcoder

mlGetCapabilities
Manual Access to Capabilities
Get Parameters Accepted by a Path

mlGetControls
Set Jack Controls
Get Scalar Values
Get the Size of an Array Parameter
Get Controls

mlGetControls call
Get the Value of an Array Parameter

mlGetSystemUST
Time Representation

ML.h
Step 1: Include the ml.h and mlu.h Files

mlOpen
Step 3: Open the Device Output Path
Open a Jack
Opening a Jack, Path, or Transcoder

MLpv
and scalar parameters
Set Scalar Values

MLpv string conversion routines
MLpv String Conversion Routines

mlPvGetCapabilities
Manual Access to Capabilities

mlquery
system inventory tool
Getting Started with ML

mlReceiveMessage
Sending In-Band Messages
Processing In-Band Reply Messages

mlSendBuffers
Open a Jack
Pointer Values
Sending In-Band Messages
Sending Buffers

mlSendBuffers call
Step 6: Send Buffer to Device for Processing

mlSendControls
Open a Jack
Set the Value of an Array Parameter
Set the Value of an Array Parameter
Send Controls

mlSendControls call
Sending In-Band Messages

mlSetControls
Open a Jack
Set Jack Controls
Set Controls

mlSetControls call
Set Scalar Values

MLstatus return Value
MLstatus Return Value

mlu.h
Step 1: Include the ml.h and mlu.h Files

mlXcodeWork call
Work Functions

MSC
ML Terminology

MSC parameters
Media Stream Count (MSC) Parameters

MSC/UST and corresponding messages
UST/MSC and Corresponding Messages

NTSC timing chart
Common Video Standards

online ML example programs
Introduction

open identification numbers
Identification Numbers

open options
Device Open Options

open path identifier
Step 3: Open the Device Output Path

out-of-band messages
Processing Out-of-Band Messages

PAL timing chart
Common Video Standards

parameter syntax and semantics
Parameters

parameters that describe parameters
Query Parameters That Describe Parameters

param/value pairs
param/value Pairs in an MLpv Message

path
ML Terminology

path closing
Step 9: Close the Path

path logical device capabilities
Path Logical Device Capabilities

path open parameters
Path Open Parameters

physical device
ML Terminology

physical device capabilities
Physical Device Capabilities
Physical Device Capabilities

physical devices
Get Physical Devices

pipe
ML Terminology

pipe logical device capabilities
Pipe Logical Device Capabilities

pixels in memory
Pixels in Memory
422x examples
10-bit 422 CbYCr (5 Bytes Per 2 Pixels)
CbYCr examples
8-bit CbYCr (3 Bytes Per Pixel)
greyscale examples
8-bit Greyscale (1 Byte Per Pixel)
RGB examples
8-bit RGB (3 Bytes Per Pixel)

pointer values
Pointer Values

predicate controls
Predicate Controls

program examples
realistic audio output program
Realistic Audio Output Program
simple audio output program
Simple Audio Output Program

progressive sampling
Progressive Sampling

realistic audio output program
Realistic Audio Output Program

Rec 709
ML_IMAGE_COLORSPACE_INT32

RED 601
ML_IMAGE_COLORSPACE_INT32

refill the buffer
Step 8: Refill the Buffer for Further Processing

reply message
Receiving a Reply Message

RGB examples
RGB Examples

sample frame
Audio Buffer Layout

sampling of video
Temporal Video Sampling

sampling parameter format
ML_IMAGE_SAMPLING_INT32

sampling values
ML_VIDEO_SAMPLING_INT32

scalar values
Scalar Values

select
Step 6: Begin the Transfer
Step 7: Receive Replies from the Device

simple audio output program
Simple Audio Output Program

SMPTE 240
ML_IMAGE_COLORSPACE_INT32

source pipes
Transcoders

spatial sampling
Temporal Video Sampling

standard definition (SD) timings
Standard Definition (SD) Timings

standards
Common Video Standards

static identification numbers
Identification Numbers

status name
Status Name

string conversion routines
MLpv String Conversion Routines

supported timings
ML_VIDEO_TIMING_INT32

synchronization
Synchronization

synchronize media streams
ML Terminology

system capabilities
System Capabilities

system clock
ML Terminology

system level
ML Terminology

temporal sampling
Temporal Video Sampling

terminology
ML Terminology

time representation
Time Representation

time stamp
Step 7: Receive Replies from the Device

timing charts
1080i
Common Video Standards
525/60 (NTSC)
Common Video Standards
625/50 (PAL)
Common Video Standards
720p
Common Video Standards

timings
ML_VIDEO_TIMING_INT32
Standard Definition (SD) Timings
High Definition (HD) Timings

tools
mlquery system inventory
Getting Started with ML

transcoder
ML Terminology

transcoder logical device capabilities
Transcoder Logical Device Capabilities

transcoder open parameters
Transcoder Open Parameters

transcoders
Transcoders

transfer
Step 6: Begin the Transfer
Step 9: End the Transfer

transfers
Beginning and Ending Transfers
Begin Transfer

unadjusted system time
ML Terminology

UST
ML Terminology
Step 5: Send Buffers to the Open Path
Get Unadjusted System Time (UST)

UST parameters
Unadjusted System Time (UST) Parameters

UST synchronization
Time Representation

UST/MSC and corresponding messages
UST/MSC and Corresponding Messages

UST/MSC example
UST/MSC Example

versions
Get Version

video example
Video Example

video field dominance
ML_IMAGE_DOMINANCE_INT32

video frame
Interlaced Sampling

video parameters
Video Parameter Descriptions
ML_VIDEO_ALPHA_SETUP_INT32
ML_VIDEO_ALPHA_SETUP_INT32
ML_VIDEO_BLUE_SETUP_INT32
ML_VIDEO_BLUE_SETUP_INT32
ML_VIDEO_BRIGHTNESS_INT32
ML_VIDEO_BRIGHTNESS_INT32
ML_VIDEO_COLORSPACE_INT32
ML_VIDEO_COLORSPACE_INT32
ML_VIDEO_CONTRAST_INT32
ML_VIDEO_CONTRAST_INT32
ML_VIDEO_DITHER_FILTER_INT32
ML_VIDEO_DITHER_FILTER_INT32
ML_VIDEO_FILL_ALPHA_REAL32
ML_VIDEO_FILL_ALPHA_REAL32
ML_VIDEO_FILL_BLUE_REAL32
ML_VIDEO_FILL_BLUE_REAL32
ML_VIDEO_FILL_Cb_REAL32
ML_VIDEO_FILL_Cb_REAL32
ML_VIDEO_FILL_Cr_REAL32
ML_VIDEO_FILL_Cr_REAL32
ML_VIDEO_FILL_GREEN_REAL32
ML_VIDEO_FILL_GREEN_REAL32
ML_VIDEO_FILL_RED_REAL32
ML_VIDEO_FILL_RED_REAL32
ML_VIDEO_FILL_Y_REAL32
ML_VIDEO_FILL_Y_REAL32
ML_VIDEO_FLICKER_FILTER_INT32
ML_VIDEO_FLICKER_FILTER_INT32
ML_VIDEO_GENLOCK_SIGNAL_PRESENT_INT32
ML_VIDEO_GENLOCK_SIGNAL_PRESENT_INT32
ML_VIDEO_GENLOCK_SOURCE_TIMING_INT32
ML_VIDEO_GENLOCK_SOURCE_TIMING_INT32
ML_VIDEO_GENLOCK_TYPE_INT32
ML_VIDEO_GENLOCK_TYPE_INT32
ML_VIDEO_GREEN_SETUP_INT32
ML_VIDEO_GREEN_SETUP_INT32
ML_VIDEO_H_PHASE_INT32
ML_VIDEO_H_PHASE_INT32
ML_VIDEO_HEIGHT_F1_INT32
ML_VIDEO_HEIGHT_F1_INT32
ML_VIDEO_HEIGHT_F2_INT32
ML_VIDEO_HEIGHT_F2_INT32
ML_VIDEO_HUE_INT32
ML_VIDEO_HUE_INT32
ML_VIDEO_INPUT_DEFAULT_SIGNAL_INT64
ML_VIDEO_INPUT_DEFAULT_SIGNAL_INT64
ML_VIDEO_NOTCH_FILTER_INT32
ML_VIDEO_NOTCH_FILTER_INT32
ML_VIDEO_OUTPUT_DEFAULT_SIGNAL_INT64
ML_VIDEO_OUTPUT_DEFAULT_SIGNAL_INT64
ML_VIDEO_OUTPUT_REPEAT_INT32
ML_VIDEO_OUTPUT_REPEAT_INT32
ML_VIDEO_PRECISION_INT32
ML_VIDEO_PRECISION_INT32
ML_VIDEO_RED_SETUP_INT32
ML_VIDEO_RED_SETUP_INT32
ML_VIDEO_SAMPLING_INT32
ML_VIDEO_SAMPLING_INT32
ML_VIDEO_SATURATION_INT32
ML_VIDEO_SATURATION_INT32
ML_VIDEO_SIGNAL_PRESENT_INT32
ML_VIDEO_SIGNAL_PRESENT_INT32
ML_VIDEO_START_X_INT32
ML_VIDEO_START_X_INT32
ML_VIDEO_START_Y_F1_INT32
ML_VIDEO_START_Y_F1_INT32
ML_VIDEO_START_Y_F2_INT32
ML_VIDEO_START_Y_F2_INT32
ML_VIDEO_TIMING_INT32
ML_VIDEO_TIMING_INT32
ML_VIDEO_V_PHASE_INT32
ML_VIDEO_V_PHASE_INT32
ML_VIDEO_WIDTH_INT32
ML_VIDEO_WIDTH_INT32

video sampling
Temporal Video Sampling

video standards
Common Video Standards

video/graphics distinction
ML Terminology

wait handle
Step 6: Begin the Transfer
Get Wait Handle

WaitForSingleObject
Step 6: Begin the Transfer

work functions for transcoders
Work Functions