Summary of Video Digitizer Components
C Summary
Constants
enum {
videoDigitizerComponentType = 'vdig',/* standard type for video
digitizer components */
/* input format standards */
ntscIn = 0, /* National Television System Committee */
palIn = 1, /* Phase Alternation Line */
secamIn = 2, /* Sequential Color with Memory */
/* input formats */
compositeIn = 0, /* no color separation of channels */
sVideoIn = 1, /* s-video (super VHS) */
rgbComponentIn = 2, /* separate channels for red, green, & blue */
/* video digitizer component PlayThru states */
vdPlayThruOff = 0, /* playthrough off */
vdPlayThruOn = 1, /* playthrough on */
/* field preference options in VDGetFieldPreference function */
vdUseAnyField = 0, /* digitizer component decides which field to use */
vdUseOddField = 1, /* digitizer component uses odd field */
vdUseEvenField = 2, /* digitizer component uses even field */
/* input color space modes */
vdDigitizerBW = 0, /* digitizer component uses black and white */
vdDigitizerRGB = 1, /* digitizer component uses red, green, & blue */
/* phase lock loop modes */
vdBroadcastMode = 0, /* broadcast (laser disk) video mode */
vdVTRMode = 1, /* VCR (magnetic media) mode */
/* video digitizer component types */
vdTypeBasic = 0,/* basic component does not support clipping */
vdTypeAlpha = 1,/* component supports clipping with alpha channel */
vdTypeMask = 2,/* component supports clipping with mask plane */
vdTypeKey = 3, /* component supports clipping with one or more key
colors */
/* digitizer input capability/current flags */
digiInDoesNTSC = (1L<<0), /* NTSC input */
digiInDoesPAL = (1L<<1), /* PAL input */
digiInDoesSECAM = (1L<<2), /* SECAM format */
digiInDoesGenLock = (1L<<7), /* digitizer performs genlock */
digiInDoesComposite = (1L<<8), /* composite input */
digiInDoesSVideo = (1L<<9), /* s-video input type */
digiInDoesComponent = (1L<<10), /* component (RGB) input type */
digiInVTR_Broadcast = (1L<<11),/* differentiates between magnetic
media and broadcast input */
digiInDoesColor = (1L<<12),/* digitizer supports color */
digiInDoesBW = (1L<<13),/* digitizer supports black & white */
/* digitizer input current flags (these are valid only during active
operating conditions) */
digiInSignalLock = (1L<<31), /* digitizer detects locked input signal
- this bit =
horiz lock || vertical lock */
/* digitizer output capability/current flags */
digiOutDoes1 = (1L<<0), /* digitizer supports 1-bit pixels */
digiOutDoes2 = (1L<<1), /* digitizer supports 2-bit pixels */
digiOutDoes4 = (1L<<2), /* digitizer supports 4-bit pixels */
digiOutDoes8 = (1L<<3), /* digitizer supports 8-bit pixels */
digiOutDoes16 = (1L<<4), /* digitizer supports 16-bit pixels */
digiOutDoes32 = (1L<<5), /* digitizer supports 32-bit pixels */
digiOutDoesDither = (1L<<6), /* digitizer dithers in indexed modes */
digiOutDoesStretch= (1L<<7), /* digitizer can arbitrarily stretch */
digiOutDoesShrink = (1L<<8), /* digitizer can arbitrarily shrink */
digiOutDoesMask = (1L<<9), /* masks to clipping regions */
digiOutDoesDouble = (1L<<11),/* stretches to exactly double size */
digiOutDoesQuad = (1L<<12),/* stretches to exactly quadruple size */
digiOutDoesQuarter = (1L<<13),/* shrinks to exactly one-quarter size */
digiOutDoesSixteenth = (1L<<14),/* shrinks to exactly one-sixteenth */
digiOutDoesRotate = (1L<<15),/* supports rotation transformations */
digiOutDoesHorizFlip = (1L<<16),/* supports horizontal flips Sx < 0 */
digiOutDoesVertFlip = (1L<<17),/* supports vertical flips Sy < 0 */
digiOutDoesSkew = (1L<<18),/* supports skew (shear,twist) */
digiOutDoesBlend = (1L<<19),/* supports blend operations */
digiOutDoesWarp = (1L<<20),/* supports warp operations */
digiOutDoesHW_DMA = (1L<<21),/* not constrained to local device */
digiOutDoesHWPlayThru= (1L<<22),/* doesn't need time to play */
digiOutDoesILUT = (1L<<23),/* does lookup table for index modes */
digiOutDoesKeyColor = (1L<<24),/* performs key color functions too */
digiOutDoesAsyncGrabs= (1L<<25),/* supports asynchronous grabs */
digiOutDoesUnreadableScreenBits
= (1L<<26),/* playthru doesn't generate readable
bits on screen */
digiOutDoesCompress = (1L<<27),/* supports compressed source devices */
digiOutDoesCompressOnly
= (1L<<28),/* can't draw images */
digiOutDoesPlayThruDuringCompress
= (1L<<29) /* can play while providing compressed
data */
};
enum {
/* video digitizer interface */
kSelectVDGetMaxSrcRect = 0x1,/* VDGetMaxSrcRect (required) */
kSelectVDGetActiveSrcRect = 0x2,/* VDGetActiveSrcRect
(required) */
kSelectVDSetDigitizerRect = 0x3,/* VDSetDigitizerRect
(required) */
kSelectVDGetDigitizerRect = 0x4,/* VDGetDigitizerRect
(required) */
kSelectVDGetVBlankRect = 0x5,/* VDGetVBlankRect (required) */
kSelectVDGetMaskPixMap = 0x6,/* VDGetMaskPixMap */
/* 1 available selector here */
kSelectVDGetPlayThruDestination = 0x8,/* VDGetPlayThruDestination
(required) */
kSelectVDUseThisCLUT = 0x9,/* VDUseThisCLUT */
kSelectVDSetInputGammaValue = 0xA,/* VDSetInputGammaValue */
kSelectVDGetInputGammaValue = 0xB,/* VDGetInputGammaValue */
kSelectVDSetBrightness = 0xC,/* VDSetBrightness */
kSelectVDGetBrightness = 0xD,/* VDGetBrightness */
kSelectVDSetContrast = 0xE,/* VDSetContrast */
kSelectVDSetHue = 0xF,/* VDSetHue */
kSelectVDSetSharpness = 0x10,/* VDSetSharpness */
kSelectVDSetSaturation = 0x11,/* VDSetSaturation */
kSelectVDGetContrast = 0x12,/* VDGetContrast */
kSelectVDGetHue = 0x13,/* VDGetHue */
kSelectVDGetSharpness = 0x14,/* VDGetSharpness */
kSelectVDGetSaturation = 0x15,/* VDGetSaturation */
kSelectVDGrabOneFrame = 0x16,/* VDGrabOneFrame
(required) */
kSelectVDGetMaxAuxBuffer = 0x17,/* VDGetMaxAuxBuffer */
kSelectVDGetDigitizerInfo = 0x19,/* VDGetDigitizerInfo
(required) */
kSelectVDGetCurrentFlags = 0x1A,/* VDGetCurrentFlags
(required) */
kSelectVDSetKeyColor = 0x1B,/* VDSetKeyColor */
kSelectVDGetKeyColor = 0x1C,/* VDGetKeyColor */
kSelectVDAddKeyColor = 0x1D,/* VDAddKeyColor */
kSelectVDGetNextKeyColor = 0x1E,/* VDGetNextKeyColor */
kSelectVDSetKeyColorRange = 0x1F,/* VDSetKeyColorRange */
kSelectVDGetKeyColorRange = 0x20,/* VDGetKeyColorRange */
kSelectVDSetDigitizerUserInterrupt = 0x21,
/* VDSetDigitizerUserInterrupt */
kSelectVDSetInputColorSpaceMode = 0x22,/* VDSetInputColorSpaceMode */
kSelectVDGetInputColorSpaceMode = 0x23,/* VDGetInputColorSpaceMode */
kSelectVDSetClipState = 0x24,/* VDSetClipState */
kSelectVDGetClipState = 0x25,/* VDGetClipState */
kSelectVDSetClipRgn = 0x26,/* VDSetClipRgn */
kSelectVDClearClipRgn = 0x27,/* VDClearClipRgn */
kSelectVDGetCLUTInUse = 0x28,/* VDGetCLUTInUse */
kSelectVDSetPLLFilterType = 0x29,/* VDSetPLLFilterType */
kSelectVDGetPLLFilterType = 0x2A,/* VDGetPLLFilterType */
kSelectVDGetMaskandValue = 0x2B,/* VDGetMaskandValue */
kSelectVDSetMasterBlendLevel = 0x2C,/* VDSetMasterBlendLevel */
kSelectVDSetPlayThruDestination = 0x2D,/* VDSetPlayThruDestination */
kSelectVDSetPlayThruOnOff = 0x2E,/* VDSetPlayThruOnOff */
kSelectVDSetFieldPreference = 0x2F,/* VDSetFieldPreference
(required) */
kSelectVDGetFieldPreference = 0x30,/* VDGetFieldPreference
(required) */
kSelectVDPreflightDestination = 0x32,/* VDPreflightDestination
(required) */
kSelectVDPreflightGlobalRect = 0x33,/* VDPreflightGlobalRect */
kSelectVDSetPlayThruGlobalRect = 0x34,/* VDSetPlayThruGlobalRect */
kSelectVDSetInputGammaRecord = 0x35,/* VDSetInputGammaRecord */
kSelectVDGetInputGammaRecord = 0x36,/* VDGetInputGammaRecord */
kSelectVDSetBlackLevelValue = 0x37,/* VDSetBlackLevelValue */
kSelectVDGetBlackLevelValue = 0x38,/* VDGetBlackLevelValue */
kSelectVDSetWhiteLevelValue = 0x39,/* VDSetWhiteLevelValue */
kSelectVDGetWhiteLevelValue = 0x3A,/* VDGetWhiteLevelValue */
kSelectVDGetVideoDefaults = 0x3B,/* VDGetVideoDefaults */
kSelectVDGetNumberOfInputs = 0x3C,/* VDGetNumberOfInputs */
kSelectVDGetInputFormat = 0x3D,/* VDGetInputFormat */
kSelectVDSetInput = 0x3E,/* VDSetInput */
kSelectVDGetInput = 0x3F,/* VDGetInput */
kSelectVDSetInputStandard = 0x40,/* VDSetInputStandard */
kSelectVDSetupBuffers = 0x41,/* VDSetupBuffers */
kSelectVDGrabOneFrameAsync = 0x42,/* VDGrabOneFrameAsync */
kSelectVDDone = 0x43,/* VDDone */
kSelectVDSetCompression = 0x44,/* VDSetCompression */
kSelectVDCompressOneFrameAsync = 0x45,/* VDCompressOneFrameAsync */
kSelectVDCompressDone = 0x46,/* VDCompressDone */
kSelectVDReleaseCompressBuffer = 0x47,/* VDReleaseCompressBuffer */
kSelectVDGetImageDescription = 0x48,/* VDGetImageDescription */
kSelectVDResetCompressSequence = 0x49,/* VDResetCompressSequence */
kSelectVDSetCompressionOnOff = 0x4A,/* VDSetCompressionOnOff */
kSelectVDGetCompressionTypes = 0x4B,/* VDGetCompressionTypes */
kSelectVDSetTimeBase = 0x4C,/* VDSetTimeBase */
kSelectVDSetFrameRate = 0x4D,/* VDSetFrameRate */
kSelectVDGetDataRate = 0x4E,/* VDGetDataRate */
kSelectVDGetSoundInputDriver = 0x4F,/* VDGetSoundInputDriver */
kSelectVDGetDMADepths = 0x50,/* VDGetDMADepths */
kSelectVDGetPreferredTimeScale = 0x51,/* VDGetPreferredTimeScale */
kSelectVDReleaseAsyncBuffers = 0x52,/* VDReleaseAsyncBuffers */
};
/* flags for VDGetDMADepths depthArray parameter */
enum {
dmaDepth1 = 1, /* supports black and white */
dmaDepth2 = 2, /* supports 2-bit color */
dmaDepth4 = 4, /* supports 4-bit color */
dmaDepth8 = 8, /* supports 8-bit color */
dmaDepth16 = 16, /* supports 16-bit color */
dmaDepth32 = 32, /* supports 32-bit color */
dmaDepth2Gray = 64, /* supports 2-bit grayscale */
dmaDepth4Gray = 128, /* supports 4-bit grayscale */
dmaDepth8Gray = 256 /* supports 8-bit grayscale */
};
Data Types
typedef ComponentInstance VideoDigitizerComponent;/* video digitizer
component */
typedef ComponentResult VideoDigitizerError; /* video digitizer error */
struct DigitizerInfo {
short vdigType; /* type of digitizer component */
long inputCapabilityFlags;/* input video signal features */
long outputCapabilityFlags;/* output digitized video data features
of digitizer component */
long inputCurrentFlags; /* status of input video signal */
long outputCurrentFlags; /* status of output digitized video data */
short slot; /* temporary for connection purposes */
GDHandle gdh; /* temporary for digitizers with
preferred screen */
GDHandle maskgdh; /* temporary for digitizers with
mask planes */
short minDestHeight; /* smallest resizable height */
short minDestWidth; /* smallest resizable width */
short maxDestHeight; /* largest resizable height */
short maxDestWidth; /* largest resizable width */
short blendLevels; /* number of blend levels supported
(2 if 1 bit mask) */
long Private; /* reserved--set to 0 */
};
typedef struct DigitizerInfo DigitizerInfo;
struct VdigBufferRecList {
short count; /* # of buffers defined by this structure */
MatrixRecordPtr matrix; /* tranformation matrix applied to dest rects
before video image is displayed */
RgnHandle mask; /* clip region applied to dest rect before
video image is displayed */
VdigBufferRec list[1]; /* array of output buffer specifications */
};
typedef struct {
PixMapHandle dest; /* handle to pixel map for destination buffer */
Point location;/* location of video destination in pixel map */
long reserved;/* reserved--set to 0 */
} VdigBufferRec;
typedef struct VDCompressionList {
CodecComponent codec; /* component ID */
CodecType cType; /* compressor type */
Str63 typeName; /* compression algorithm */
Str63 name; /* compressor name string */
long formatFlags; /* data format flags */
long compressFlags; /* capabilities flags */
long reserved; /* set to 0 */
} VDCompressionList, *VDCompressionListPtr, **VDCompressionListHandle;
Video Digitizer Component Functions
Getting Information About Video Digitizer Components
pascal VideoDigitizerError VDGetDigitizerInfo
(VideoDigitizerComponent ci,
DigitizerInfo *info);
pascal VideoDigitizerError VDGetCurrentFlags
(VideoDigitizerComponent ci,
long *inputCurrentFlag,
long *outputCurrentFlag);
Setting Source Characteristics
pascal VideoDigitizerError VDGetMaxSrcRect
(VideoDigitizerComponent ci, short inputStd,
Rect *maxSrcRect);
pascal VideoDigitizerError VDGetActiveSrcRect
(VideoDigitizerComponent ci,
short inputStd, Rect *activeSrcRect);
pascal VideoDigitizerError VDGetVBlankRect
(VideoDigitizerComponent ci,
short inputStd, Rect *vBlankRect);
pascal VideoDigitizerError VDSetDigitizerRect
(VideoDigitizerComponent ci,
Rect *digitizerRect);
pascal VideoDigitizerError VDGetDigitizerRect
(VideoDigitizerComponent ci,
Rect *digitizerRect);
Selecting an Input Source
pascal VideoDigitizerError VDGetNumberOfInputs
(VideoDigitizerComponent ci, short *inputs);
pascal VideoDigitizerError VDSetInput
(VideoDigitizerComponent ci, short input);
pascal VideoDigitizerError VDGetInput
(VideoDigitizerComponent ci, short *input);
pascal VideoDigitizerError VDGetInputFormat
(VideoDigitizerComponent ci, short input,
short *format);
pascal VideoDigitizerError VDSetInputStandard
(VideoDigitizerComponent ci,
short inputStandard);
Setting Video Destinations
pascal VideoDigitizerError VDSetPlayThruDestination
(VideoDigitizerComponent ci,
PixMapHandle dest, Rect *destRect,
MatrixRecord *m, RgnHandle mask);
pascal VideoDigitizerError VDPreflightDestination
(VideoDigitizerComponent ci,
Rect *digitizerRect, PixMapHandle dest,
Rect *destRect, MatrixRecord *m);
pascal VideoDigitizerError VDGetPlayThruDestination
(VideoDigitizerComponent ci,
PixMapHandle *dest, Rect *destRect, MatrixRecord *m, RgnHandle *mask);
pascal VideoDigitizerError VDSetPlayThruGlobalRect
(VideoDigitizerComponent ci,
GrafPtr theWindow, Rect *globalRect);
pascal VideoDigitizerError VDPreflightGlobalRect
(VideoDigitizerComponent ci,
GrafPtr theWindow, Rect *globalRect);
pascal VideoDigitizerError VDGetMaxAuxBuffer
(VideoDigitizerComponent ci,
PixMapHandle *pm, Rect *r);
Controlling Compressed Source Devices
pascal VideoDigitizerError VDGetCompressionTypes
(VideoDigitizerComponent ci, VDCompressionListHandle h);
pascal VideoDigitizerError VDSetCompression
(VideoDigitizerComponent ci,
OSType compressType, short depth,
Rect *bounds, CodecQ spatialQuality,
CodecQ temporalQuality, long keyFrameRate);
pascal VideoDigitizerError VDSetCompressionOnOff
(VideoDigitizerComponent ci, Boolean state);
pascal VideoDigitizerError VDCompressOneFrameAsync
(VideoDigitizerComponent ci);
pascal VideoDigitizerError VDCompressDone
(VideoDigitizerComponent ci, Boolean *done,
Ptr *theData, long *dataSize,
unsigned char *similarity, TimeRecord *t);
pascal VideoDigitizerError VDReleaseCompressBuffer
(VideoDigitizerComponent ci, Ptr bufferAddr);
pascal VideoDigitizerError VDGetImageDescription
(VideoDigitizerComponent ci, ImageDescriptionHandle desc);
pascal VideoDigitizerError VDResetCompressSequence
(VideoDigitizerComponent ci);
pascal VideoDigitizerError VDSetTimeBase
(VideoDigitizerComponent ci, TimeBase t);
Controlling Digitization
pascal VideoDigitizerError VDSetPlayThruOnOff
(VideoDigitizerComponent ci, short state);
pascal VideoDigitizerError VDGrabOneFrame
(VideoDigitizerComponent ci);
pascal VideoDigitizerError VDSetupBuffers
(VideoDigitizerComponent ci,
VdigBufferRecListHandle bufferList);
pascal VideoDigitizerError VDReleaseAsyncBuffers
(VideoDigitizerComponent ci);
pascal VideoDigitizerError VDGrabOneFrameAsync
(VideoDigitizerComponent ci, short buffer);
pascal long VDDone(VideoDigitizerComponent ci, short buffer);
pascal VideoDigitizerError VDSetFrameRate
(VideoDigitizerComponent ci,
Fixed framesPerSecond);
pascal VideoDigitizerError VDGetDataRate
(VideoDigitizerComponent ci,
long *milliSecPerFrame,
Fixed *framesPerSecond, long *bytesPerSecond);
Controlling Color
pascal VideoDigitizerError VDUseThisCLUT
(VideoDigitizerComponent ci,
CTabHandle colorTableHandle);
pascal VideoDigitizerError VDGetCLUTInUse
(VideoDigitizerComponent ci,
CTabHandle *colorTableHandle);
pascal VideoDigitizerError VDSetInputColorSpaceMode
(VideoDigitizerComponent ci,
short colorSpaceMode);
pascal VideoDigitizerError VDGetInputColorSpaceMode
(VideoDigitizerComponent ci,
short *colorSpaceMode);
pascal VideoDigitizerError VDGetDMADepths
(VideoDigitizerComponent ci,
long *depthArray, long *preferredDepth);
Controlling Analog Video
pascal VideoDigitizerError VDGetVideoDefaults
(VideoDigitizerComponent ci,
unsigned short *blackLevel,
unsigned short *whiteLevel,
unsigned short *brightness,
unsigned short *hue,
unsigned short *saturation,
unsigned short *contrast,
unsigned short *sharpness);
pascal VideoDigitizerError VDSetBlackLevelValue
(VideoDigitizerComponent ci,
unsigned short *blackLevel);
pascal VideoDigitizerError VDGetBlackLevelValue
(VideoDigitizerComponent ci,
unsigned short *blackLevel);
pascal VideoDigitizerError VDSetWhiteLevelValue
(VideoDigitizerComponent ci,
unsigned short *whiteLevel);
pascal VideoDigitizerError VDGetWhiteLevelValue
(VideoDigitizerComponent ci,
unsigned short *whiteLevel);
pascal VideoDigitizerError VDSetHue
(VideoDigitizerComponent ci,
unsigned short *hue);
pascal VideoDigitizerError VDGetHue
(VideoDigitizerComponent ci,
unsigned short *hue);
pascal VideoDigitizerError VDSetSaturation
(VideoDigitizerComponent ci,
unsigned short *saturation);
pascal VideoDigitizerError VDGetSaturation
(VideoDigitizerComponent ci,
unsigned short *saturation);
pascal VideoDigitizerError VDSetBrightness
(VideoDigitizerComponent ci,
unsigned short *brightness);
pascal VideoDigitizerError VDGetBrightness
(VideoDigitizerComponent ci,
unsigned short *brightness);
pascal VideoDigitizerError VDSetContrast
(VideoDigitizerComponent ci,
unsigned short *contrast);
pascal VideoDigitizerError VDGetContrast
(VideoDigitizerComponent ci,
unsigned short *contrast);
pascal VideoDigitizerError VDSetSharpness
(VideoDigitizerComponent ci,
unsigned short *sharpness);
pascal VideoDigitizerError VDGetSharpness
(VideoDigitizerComponent ci,
unsigned short *sharpness);
pascal VideoDigitizerError VDSetInputGammaRecord
(VideoDigitizerComponent ci,
VDGamRecPtr inputGammaPtr);
pascal VideoDigitizerError VDGetInputGammaRecord
(VideoDigitizerComponent ci,
VDGamRecPtr *inputGammaPtr);
pascal VideoDigitizerError VDSetInputGammaValue
(VideoDigitizerComponent ci,
Fixed channel1, Fixed channel2,
Fixed channel3);
pascal VideoDigitizerError VDGetInputGammaValue
(VideoDigitizerComponent ci,
Fixed *channel1, Fixed *channel2,
Fixed *channel3);
Selectively Displaying Video
pascal VideoDigitizerError VDSetKeyColor
(VideoDigitizerComponent ci,long index);
pascal VideoDigitizerError VDGetKeyColor
(VideoDigitizerComponent ci, long *index);
pascal VideoDigitizerError VDSetKeyColorRange
(VideoDigitizerComponent ci,
RGBColor *minRGB, RGBColor *maxRGB);
pascal VideoDigitizerError VDAddKeyColor
(VideoDigitizerComponent ci, long *index);
pascal VideoDigitizerError VDGetKeyColorRange
(VideoDigitizerComponent ci,
RGBColor *minRGB, RGBColor *maxRGB);
pascal VideoDigitizerError VDGetNextKeyColor
(VideoDigitizerComponent ci, long index);
pascal VideoDigitizerError VDSetMasterBlendLevel
(VideoDigitizerComponent ci,
unsigned short *blendLevel);
pascal VideoDigitizerError VDGetMaskandValue
(VideoDigitizerComponent ci,
unsigned short blendLevel, long *mask,
long *value);
pascal VideoDigitizerError VDGetMaskPixMap
(VideoDigitizerComponent ci,
PixMapHandle maskPixMap);
Clipping
pascal VideoDigitizerError VDSetClipRgn
(VideoDigitizerComponent ci,
RgnHandle clipRegion);
pascal VideoDigitizerError VDClearClipRgn
(VideoDigitizerComponent ci,
RgnHandle clipRegion);
pascal VideoDigitizerError VDSetClipState
(VideoDigitizerComponent ci, short clipEnable);
pascal VideoDigitizerError VDGetClipState
(VideoDigitizerComponent ci, short *clipEnable);
Utility Functions
pascal VideoDigitizerError VDSetPLLFilterType
(VideoDigitizerComponent ci, short pllType);
pascal VideoDigitizerError VDGetPLLFilterType
(VideoDigitizerComponent ci, short *pllType);
pascal VideoDigitizerError VDSetFieldPreference
(VideoDigitizerComponent ci, short fieldFlag);
pascal VideoDigitizerError VDGetFieldPreference
(VideoDigitizerComponent ci, short *fieldFlag);
pascal VideoDigitizerError VDSetDigitizerUserInterrupt
(VideoDigitizerComponent ci, long flags, VdigIntProc userInterruptProc, long refcon);
pascal VideoDigitizerError VDGetSoundInputDriver
(VideoDigitizerComponent ci,
Str255 soundDriverName);
pascal VideoDigitizerError VDGetPreferredTimeScale
(VideoDigitizerComponent ci,
TimeScale *preferred);
Application-Defined Function
pascal void MyInterruptProc (long flags, long refcon);
Pascal Summary
Constants
CONST
videoDigitizerComponentType = 'vdig'; {standard type for video }
{ digitizer components}
{input format standards}
ntscIn = 0; {National Television System Committee}
palIn = 1; {Phase Alternation Line}
secamIn = 2; {Sequential Color with Memory}
{input formats}
compositeIn = 0; {no color separation of channels}
sVideoIn = 1; {s-video (Super VHS)}
rgbComponentIn = 2; {separate channels for red, green, & blue}
{video digitizer PlayThru states}
vdPlayThruOff = 0; {playthrough off}
vdPlayThruOn = 1; {playthrough on}
{field preference options in VDGetFieldPreference function}
vdUseAnyField = 0; {digitizer component decides which field to use}
vdUseOddField = 1; {digitizer component uses odd field}
vdUseEvenField = 2; {digitizer component uses even field}
{input color space modes}
vdDigitizerBW = 0; {digitizer component uses black and white}
vdDigitizerRGB = 1; {digitizer component uses red, green, and blue}
{phase lock loop modes}
vdBroadcastMode = 0; {broadcast or laser disk video mode}
vdVTRMode = 1; {video cassette recorder or magnetic media mode}
{video digitizer component types}
vdTypeBasic = 0; {basic component does not support clipping}
vdTypeAlpha = 1; {component supports clipping with alpha channel}
vdTypeMask = 2; {component supports clipping with mask plane}
vdTypeKey = 3; {supports clipping with one or more key colors}
{digitizer input capability/current flags}
digiInDoesNTSC = $1; {digitizer supports NTSC input}
digiInDoesPAL = $2; {digitizer supports PAL input}
digiInDoesSECAM = $4; {digitizer supports SECAM input}
digiInDoesGenLock = $80; {digitizer supports genlock}
digiInDoesComposite = $100; {digitizer supports composite input type}
digiInDoesSVideo = $200; {digitizer supports s-video input type}
digiInDoesComponent = $400; {digitizer supports component input type}
digiInVTR_Broadcast = $800; {digitizer can differentiate between }
{ magnetic media & broadcast}
digiInDoesColor = $1000; {digitizer supports color}
digiInDoesBW = $2000; {digitizer supports black and white}
{digitizer input current flag (valid only during active operating }
{ conditions)}
digiInSignalLock = $80000000;{digitizer detects input signal is }
{ locked--this bit equals }
{ horiz lock || vertical lock}
{digitizer output capability/current flags}
digiOutDoes1 = $1; {digitizer supports 1-bit pixels}
digiOutDoes2 = $2; {digitizer supports 2-bit pixels}
digiOutDoes4 = $4; {digitizer supports 4-bit pixels}
digiOutDoes8 = $8; {digitizer supports 8-bit pixels}
digiOutDoes16 = $10; {digitizer supports 16-bit pixels}
digiOutDoes32 = $20; {digitizer supports 32-bit pixels}
digiOutDoesDither = $40; {digitizer dithers in indexed modes}
digiOutDoesStretch = $80; {digitizer can arbitrarily stretch}
digiOutDoesShrink = $100; {digitizer can arbitrarily shrink}
digiOutDoesMask = $200; {digitizer can mask to clipping }
{ regions}
digiOutDoesDouble = $800; {can stretch to exactly double size}
digiOutDoesQuad = $1000; {can stretch to exactly quadruple }
{ size}
digiOutDoesQuarter = $2000; {can shrink to exactly 1/4 size}
digiOutDoesSixteenth = $4000; {can shrink to exactly 1/16 size}
digiOutDoesRotate = $8000; {supports rotation transformations}
digiOutDoesHorizFlip = $10000; {supports horizontal flips Sx < 0}
digiOutDoesVertFlip = $20000; {supports vertical flips Sy < 0}
digiOutDoesSkew = $40000; {supports skew (shear, twist)}
digiOutDoesBlend = $80000; {digitizer performs blend operations}
digiOutDoesWarp = $100000; {digitizer performs warp operations}
digiOutDoesHW_DMA = $200000; {not constrained to logical device}
digiOutDoesHWPlayThru= $400000; {doesn't need time to play through}
digiOutDoesILUT = $800000; {does lookup for index modes}
digiOutDoesKeyColor = $1000000; {performs key color functions too}
digiOutDoesAsyncGrabs= $2000000; {performs asynchronous grabs}
digiOutDoesUnreadableScreenBits
= $4000000; {playthru doesn't generate readable }
{ bits on screen}
digiOutDoesCompress = $8000000; {supports compressed source devices}
digiOutDoesCompressOnly
= $10000000; {can't draw images}
digiOutDoesPlayThruDuringCompress
= $2000000; {can play while providing compressed }
{ data}
{video digitizer interface}
kSelectVDGetMaxSrcRect = $1; {VDGetMaxSrcRect (required)}
kSelectVDGetActiveSrcRect = $2; {VDGetActiveSrcRect (required)}
kSelectVDSetDigitizerRect = $3; {VDSetDigitizerRect (required)}
kSelectVDGetDigitizerRect = $4; {VDGetDigitizerRect (required)}
kSelectVDGetVBlankRect = $5; {VDGetVBlankRect (required)}
kSelectVDGetMaskPixMap = $6; {VDGetMaskPixMap}
kSelectVDGetPlayThruDestination = $8; {VDGetPlayThruDestination }
{ (required)}
kSelectVDUseThisCLUT = $9; {VDUseThisCLUT}
kSelectVDSetInputGammaValue = $A; {VDSetInputGammaValue}
kSelectVDGetInputGammaValue = $B; {VDGetInputGammaValue}
kSelectVDSetBrightness = $C; {VDSetBrightness}
kSelectVDGetBrightness = $D; {VDGetBrightness}
kSelectVDSetContrast = $E; {VDSetContrast}
kSelectVDSetHue = $F; {VDSetHue}
kSelectVDSetSharpness = $10;{VDSetSharpness}
kSelectVDSetSaturation = $11;{VDSetSaturation}
kSelectVDGetContrast = $12;{VDGetContrast}
kSelectVDGetHue = $13;{VDGetHue}
kSelectVDGetSharpness = $14;{VDGetSharpness}
kSelectVDGetSaturation = $15;{VDGetSaturation}
kSelectVDGrabOneFrame = $16;{VDGrabOneFrame (required)}
kSelectVDGetMaxAuxBuffer = $17;{VDGetMaxAuxBuffer}
kSelectVDGetDigitizerInfo = $19;{VDGetDigitizerInfo}
kSelectVDGetCurrentFlags = $1A;{VDGetCurrentFlags}
kSelectVDSetKeyColor = $1B;{VDSetKeyColor}
kSelectVDGetKeyColor = $1C;{VDGetKeyColor}
kSelectVDAddKeyColor = $1D;{VDAddKeyColor}
kSelectVDGetNextKeyColor = $1E;{VDGetNextKeyColor}
kSelectVDSetKeyColorRange = $1F;{VDSetKeyColorRange}
kSelectVDGetKeyColorRange = $20;{VDGetKeyColorRange}
kSelectVDSetDigitizerUserInterrupt
= $21;{VDSetDigitizerUserInterrupt}
kSelectVDSetInputColorSpaceMode = $22;{VDSetInputColorSpaceMode}
kSelectVDGetInputColorSpaceMode = $23;{VDGetInputColorSpaceMode}
kSelectVDSetClipState = $24;{VDSetClipState}
kSelectVDGetClipState = $25;{VDGetClipState}
kSelectVDSetClipRgn = $26;{VDSetClipRgn}
kSelectVDClearClipRgn = $27;{VDClearClipRgn}
kSelectVDGetCLUTInUse = $28;{VDGetCLUTInUse}
kSelectVDSetPLLFilterType = $29;{VDSetPLLFilterType}
kSelectVDGetPLLFilterType = $2A;{VDGetPLLFilterType}
kSelectVDGetMaskandValue = $2B;{VDGetMaskandValue}
kSelectVDSetMasterBlendLevel = $2C;{VDSetMasterBlendLevel}
kSelectVDSetPlayThruDestination = $2D;{VDSetPlayThruDestination}
kSelectVDSetPlayThruOnOff = $2E;{VDSetPlayThruOnOff}
kSelectVDSetFieldPreference = $2F;{VDSetFieldPreference }
{ (required)}
kSelectVDGetFieldPreference = $30;{VDGetFieldPreference }
{ (required)}
kSelectVDPreflightDestination = $32;{VDPreflightDestination }
{ (required)}
kSelectVDPreflightGlobalRect = $33;{VDPreflightGlobalRect}
kSelectVDSetPlayThruGlobalRect = $34;{VDSetPlayThruGlobalRect}
kSelectVDSetInputGammaRecord = $35;{VDSetInputGammaRecord}
kSelectVDGetInputGammaRecord = $36;{VDGetInputGammaRecord}
kSelectVDSetBlackLevelValue = $37;{VDSetBlackLevelValue}
kSelectVDGetBlackLevelValue = $38;{VDGetBlackLevelValue}
kSelectVDSetWhiteLevelValue = $39;{VDSetWhiteLevelValue}
kSelectVDGetWhiteLevelValue = $3A;{VDGetWhiteLevelValue}
kSelectVDGetVideoDefaults = $3B;{VDGetVideoDefaults}
kSelectVDGetNumberOfInputs = $3C;{VDGetNumberOfInputs}
kSelectVDGetInputFormat = $3D;{VDGetInputFormat}
kSelectVDSetInput = $3E;{VDSetInput}
kSelectVDGetInput = $3F;{VDGetInput}
kSelectVDSetInputStandard = $40;{VDSetInputStandard}
kSelectVDSetupBuffers = $41;{VDSetupBuffers}
kSelectVDGrabOneFrameAsync = $42;{VDGrabOneFrameAsync}
kSelectVDDone = $43;{VDDone}
kSelectVDSetCompression = $44;{VDSetCompression}
kSelectVDCompressOneFrameAsync = $45;{VDCompressOneFrameAsync}
kSelectVDCompressDone = $46;{VDCompressDone}
kSelectVDReleaseCompressBuffer = $47;{VDReleaseCompressBuffer}
kSelectVDGetImageDescription = $48;{VDGetImageDescription}
kSelectVDResetCompressSequence = $49;{VDResetCompressSequence}
kSelectVDSetCompressionOnOff = $4A;{VDSetCompressionOnOff}
kSelectVDGetCompressionTypes = $4B;{VDGetCompressionTypes}
kSelectVDSetTimeBase = $4C;{VDSetTimeBase}
kSelectVDSetFrameRate = $4D;{VDSetFrameRate}
kSelectVDGetDataRate = $4E;{VDGetDataRate}
kSelectVDGetSoundInputDriver = $4F;{VDGetSoundInputDriver}
kSelectVDGetDMADepths = $50;{VDGetDMADepths}
kSelectVDGetPreferredTimeScale = $51;{VDGetPreferredTimeScale}
kSelectVDReleaseAsyncBuffers = $52;{VDReleaseAsyncBuffers}
Data Types
TYPE
VideoDigitizerComponent = ComponentInstance; {video digitizer }
{ component}
VideoDigitizerError = ComponentResult; {video digitizer }
{ error}
VdigIntProc = ComponentResult;
DigitizerInfo =
RECORD
vdigType: Integer; {type of digitizer component}
inputCapabilityFlags: LongInt; {input video signal features}
outputCapabilityFlags: LongInt; {output digitized video data features}
inputCurrentFlags: LongInt; {status of input video signal}
outputCurrentFlags: LongInt; {status of output digitized data}
slot: Integer; {temporary for connection purposes}
gdh: GDHandle;{temporary for digitizers with }
{ preferred screen}
maskgdh: GDHandle;{temporary for digitizers }
{ with mask planes}
minDestHeight: Integer; {smallest resizable height}
minDestWidth: Integer; {smallest resizable width}
maxDestHeight: Integer; {largest resizable height}
maxDestWidth: Integer; {largest resizable width}
blendLevels: Integer; {number of blend levels supported (2 }
{ if 1 bit mask)}
Private: LongInt; {reserved--set to 0}
END;
VdigBufferRec =
RECORD
dest: PixMapHandle; {handle to pixel map for destination buffer}
location: Point; {location of video destination in pixel map}
reserved: LongInt; {reserved--set to 0}
END;
VdigBufferRecListPtr = ^VdigBufferRecList;
VdigBufferRecListHandle = ^VdigBufferRecListPtr;
VdigBufferRecList =
RECORD
count: Integer; {buffers defined by this record}
matrix: MatrixRecordPtr ; {transformation matrix applied to }
{ dest rect before image displayed}
mask: RgnHandle; {clip rgn applied to dest rect }
{ before image displayed}
list: ARRAY[0..0] OF VdigBufferRec;
{array of output buffer specs}
END;
VDCompressionListHandle = ^VDCompressionListPtr;
VDCompressionList =
RECORD
codec: CodecComponent; {component ID}
cType: CodecType; {compressor type}
typeName: Str63; {compression algorithm}
name: Str63; {compressor name string}
formatFlags: LongInt; {data format flags}
compressFlags: LongInt; {capabilities flags}
reserved: LongInt; {set to 0}
END;
Video Digitizer Component Routines
Getting Information About Video Digitizer Components
FUNCTION VDGetDigitizerInfo
(ci: VideoDigitizerComponent;
VAR info: DigitizerInfo): VideoDigitizerError;
FUNCTION VDGetCurrentFlags (ci: VideoDigitizerComponent;
VAR inputCurrentFlag: LongInt;
VAR outputCurrentFlag: LongInt):
VideoDigitizerError;
Setting Source Characteristics
FUNCTION VDGetMaxSrcRect (ci: VideoDigitizerComponent;
VAR maxSrcRect: Rect): VideoDigitizerError;
FUNCTION VDGetActiveSrcRect
(ci: VideoDigitizerComponent; inputStd: Integer;
VAR activeSrcRect: Rect): VideoDigitizerError;
FUNCTION VDGetVBlankRect (ci: VideoDigitizerComponent;
VAR vBlankRect: Rect): VideoDigitizerError;
FUNCTION VDSetDigitizerRect
(ci: VideoDigitizerComponent;
VAR digitizerRect: Rect): VideoDigitizerError;
FUNCTION VDGetDigitizerRect
(ci: VideoDigitizerComponent;
VAR digitizerRect: Rect): VideoDigitizerError;
Selecting an Input Source
FUNCTION VDGetNumberOfInputs
(ci: VideoDigitizerComponent;
VAR inputs: Integer): VideoDigitizerError;
FUNCTION VDSetInput (ci: VideoDigitizerComponent;
input: Integer): VideoDigitizerError;
FUNCTION VDGetInput (ci: VideoDigitizerComponent;
VAR input: Integer): VideoDigitizerError;
FUNCTION VDGetInputFormat (ci: VideoDigitizerComponent; input: Integer;
VAR format: Integer): VideoDigitizerError;
FUNCTION VDSetInputStandard
(ci: VideoDigitizerComponent;
inputStandard: Integer): VideoDigitizerError;
Setting Video Destinations
FUNCTION VDSetPlayThruDestination
(ci: VideoDigitizerComponent;
dest: PixMapHandle; VAR destRect: Rect;
VAR m: MatrixRecord;
mask: RgnHandle): VideoDigitizerError;
FUNCTION VDPreflightDestination
(ci: VideoDigitizerComponent;
VAR digitizerRect: Rect; dest: PixMapHandle; VAR destRect: Rect;
VAR m: MatrixRecord): VideoDigitizerError;
FUNCTION VDGetPlayThruDestination
(ci: VideoDigitizerComponent;
VAR dest: PixMapHandle; VAR destRect: Rect; VAR m: MatrixRecord;
VAR mask: RgnHandle): VideoDigitizerError;
FUNCTION VDSetPlayThruGlobalRect
(ci: VideoDigitizerComponent;
theWindow: GrafPtr; VAR globalRect: Rect): VideoDigitizerError;
FUNCTION VDPreflightGlobalRect
(ci: VideoDigitizerComponent;
theWindow: GrafPtr; VAR globalRect: Rect): VideoDigitizerError;
FUNCTION VDGetMaxAuxBuffer (ci: VideoDigitizerComponent;
VAR pm: PixMapHandle; VAR r: Rect):
VideoDigitizerError;
Controlling Compressed Source Devices
FUNCTION VDGetCompressionTypes
(ci: VideoDigitizerComponent;
h: VDCompressionListHandle): VideoDigitizerError;
FUNCTION VDSetCompression(ci: VideoDigitizerComponent;
compressType: OSType; depth: Integer;
VAR bounds: Rect; spatialQuality: CodecQ;
temporalQuality: CodecQ;
keyFrameRate: LongInt): VideoDigitizerError;
FUNCTION VDSetCompressionOnOff
(ci: VideoDigitizerComponent; state: Boolean): VideoDigitizerError;
FUNCTION VDGrabOneFrameAsync
(ci: VideoDigitizerComponent; buffer: Integer): VideoDigitizerError;
FUNCTION VDCompressDone(ci: VideoDigitizerComponent;
VAR done: Boolean; VAR theData: Ptr;
VAR dataSize: LongInt; VAR similarity: Byte;
VAR t: TimeRecord): VideoDigitizerError;
FUNCTION VDReleaseCompressBuffer
(ci: VideoDigitizerComponent;
bufferAddr: Ptr): VideoDigitizerError;
FUNCTION VDGetImageDescription
(ci: VideoDigitizerComponent;
desc: ImageDescriptionHandle): VideoDigitizerError;
FUNCTION VDResetCompressSequence
(ci: VideoDigitizerComponent): VideoDigitizerError;
FUNCTION VDSetTimeBase(ci: VideoDigitizerComponent; t: TimeBase):
VideoDigitizerError;
Controlling Digitization
FUNCTION VDSetPlayThruOnOff (ci: VideoDigitizerComponent;
state: Integer): VideoDigitizerError;
FUNCTION VDGrabOneFrame (ci: VideoDigitizerComponent):
VideoDigitizerError;
FUNCTION VDSetupBuffers (ci: VideoDigitizerComponent;
bufferList: VdigBufferRecListHandle):
VideoDigitizerError;
FUNCTION VDReleaseAsyncBuffers
(ci: VideoDigitizerComponent): VideoDigitizerError;
FUNCTION VDGrabOneFrameAsync
(ci: VideoDigitizerComponent;
nextBuffer: Integer): VideoDigitizerError;
FUNCTION VDDone (ci: VideoDigitizerComponent,
buffer: Integer): LongInt;
FUNCTION VDSetFrameRate(ci: VideoDigitizerComponent;
framesPerSecond: Fixed): VideoDigitizerError;
FUNCTION VDGetDataRate(ci: VideoDigitizerComponent;
VAR milliSecPerFrame: LongInt;
VAR framesPerSecond: Fixed;
VAR bytesPerSecond: LongInt):
VideoDigitizerError;
Controlling Color
FUNCTION VDUseThisCLUT (ci: VideoDigitizerComponent;
colorTableHandle: CTabHandle):
VideoDigitizerError;
FUNCTION VDGetCLUTInUse (ci: VideoDigitizerComponent;
VAR colorTableHandle: CTabHandle):
VideoDigitizerError;
FUNCTION VDSetInputColorSpaceMode
(ci: VideoDigitizerComponent;
colorSpaceMode: Integer): VideoDigitizerError;
FUNCTION VDGetInputColorSpaceMode
(ci: VideoDigitizerComponent;
VAR colorSpaceMode: Integer): VideoDigitizerError;
FUNCTION VDGetDMADepths(ci: VideoDigitizerComponent;
VAR depthArray: LongInt; VAR preferredDepth:
LongInt): VideoDigitizerError;
Controlling Analog Video
FUNCTION VDGetVideoDefaults (ci: VideoDigitizerComponent;
VAR blackLevel: Integer;
VAR whiteLevel: Integer;
VAR brightness: Integer; VAR hue: Integer;
VAR saturation: Integer; VAR contrast: Integer;
VAR sharpness: Integer): VideoDigitizerError;
FUNCTION VDSetBlackLevelValue
(ci: VideoDigitizerComponent;
VAR blackLevel: Integer): VideoDigitizerError;
FUNCTION VDGetBlackLevelValue
(ci: VideoDigitizerComponent;
VAR blackLevel: Integer): VideoDigitizerError;
FUNCTION VDSetWhiteLevelValue
(ci: VideoDigitizerComponent;
VAR whiteLevel: Integer): VideoDigitizerError;
FUNCTION VDGetWhiteLevelValue
(ci: VideoDigitizerComponent;
VAR whiteLevel: Integer): VideoDigitizerError;
FUNCTION VDSetHue (ci: VideoDigitizerComponent;
VAR hue: Integer): VideoDigitizerError;
FUNCTION VDGetHue (ci: VideoDigitizerComponent;
VAR hue: Integer): VideoDigitizerError;
FUNCTION VDSetSaturation (ci: VideoDigitizerComponent;
VAR saturation: Integer): VideoDigitizerError;
FUNCTION VDGetSaturation (ci: VideoDigitizerComponent;
VAR saturation: Integer): VideoDigitizerError;
FUNCTION VDSetBrightness (ci: VideoDigitizerComponent;
VAR brightness: Integer): VideoDigitizerError;
FUNCTION VDGetBrightness (ci: VideoDigitizerComponent;
VAR brightness: Integer): VideoDigitizerError;
FUNCTION VDSetContrast (ci: VideoDigitizerComponent;
VAR contrast: Integer): VideoDigitizerError;
FUNCTION VDGetContrast (ci: VideoDigitizerComponent;
VAR contrast: Integer): VideoDigitizerError;
FUNCTION VDSetSharpness (ci: VideoDigitizerComponent;
VAR sharpness: Integer): VideoDigitizerError;
FUNCTION VDGetSharpness (ci: VideoDigitizerComponent;
VAR sharpness: Integer): VideoDigitizerError;
FUNCTION VDSetInputGammaRecord
(ci: VideoDigitizerComponent;
inputGammaPtr: VDGamRecPtr): VideoDigitizerError;
FUNCTION VDGetInputGammaRecord
(ci: VideoDigitizerComponent;
VAR inputGammaPtr: VDGamRecPtr): VideoDigitizerError;
FUNCTION VDSetInputGammaValue
(ci: VideoDigitizerComponent; channel1: Fixed; channel2: Fixed; channel3: Fixed): VideoDigitizerError;
FUNCTION VDGetInputGammaValue
(ci: VideoDigitizerComponent;
VAR channel1: Fixed; VAR channel2: Fixed;
VAR channel3: Fixed): VideoDigitizerError;
Selectively Displaying Video
FUNCTION VDSetKeyColor (ci: VideoDigitizerComponent;
index: LongInt): VideoDigitizerError;
FUNCTION VDGetKeyColor (ci: VideoDigitizerComponent;
VAR index: LongInt): VideoDigitizerError;
FUNCTION VDSetKeyColorRange
(ci: VideoDigitizerComponent;
VAR minRGB: RGBColor; VAR maxRGB: RGBColor): VideoDigitizerError;
FUNCTION VDAddKeyColor (ci: VideoDigitizerComponent;
VAR index: LongInt): VideoDigitizerError;
FUNCTION VDGetKeyColorRange
(ci: VideoDigitizerComponent;
VAR minRGB: RGBColor; VAR maxRGB: RGBColor): VideoDigitizerError;
FUNCTION VDGetNextKeyColor (ci: VideoDigitizerComponent;
index: LongInt): VideoDigitizerError;
FUNCTION VDSetMasterBlendLevel
(ci: VideoDigitizerComponent;
VAR blendLevel: Integer): VideoDigitizerError;
FUNCTION VDGetMaskandValue (ci: VideoDigitizerComponent;
blendLevel: Integer; VAR mask: LongInt;
VAR value: LongInt): VideoDigitizerError;
FUNCTION VDGetMaskPixMap (ci: VideoDigitizerComponent;
maskPixMap: PixMapHandle): VideoDigitizerError;
Clipping
FUNCTION VDSetClipRgn (ci: VideoDigitizerComponent;
clipRegion: RgnHandle): VideoDigitizerError;
FUNCTION VDClearClipRgn (ci: VideoDigitizerComponent;
clipRegion: RgnHandle): VideoDigitizerError;
FUNCTION VDSetClipState (ci: VideoDigitizerComponent;
clipEnable: Integer): VideoDigitizerError;
FUNCTION VDGetClipState (ci: VideoDigitizerComponent;
VAR clipEnable: Integer): VideoDigitizerError;
Utility Functions
FUNCTION VDSetPLLFilterType
(ci: VideoDigitizerComponent;
pllType: Integer): VideoDigitizerError;
FUNCTION VDGetPLLFilterType
(ci: VideoDigitizerComponent;
VAR pllType: Integer): VideoDigitizerError;
FUNCTION VDSetFieldPreference
(ci: VideoDigitizerComponent;
fieldFlag: Integer): VideoDigitizerError;
FUNCTION VDGetFieldPreference
(ci: VideoDigitizerComponent;
VAR fieldFlag: Integer): VideoDigitizerError;
FUNCTION VDSetDigitizerUserInterrupt
(ci: VideoDigitizerComponent;
flags: LongInt; userInterruptProc: ProcPtr;
refcon: LongInt): VideoDigitizerError;
FUNCTION VDGetSoundInputDriver
(ci: VideoDigitizerComponent;
soundDriverName: Str255): VideoDigitizerError;
FUNCTION VDGetPreferredTimeScale
(ci: VideoDigitizerComponent;
preferred: TimeScale): VideoDigitizerError;
Application-Defined Routine
PROCEDURE MyInterruptProc (flags: LongInt; refcon: LongInt);
Result Codes