/* File: ZoomedVideo.h Contains: PC Card Family Zoomed Video Driver Interface Version: Technology: System 7.5 Release: QuickTime 6.0.2 Copyright: (c) 1996-2001 by Apple Computer, Inc. All rights reserved. Bugs?: For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/ */ #ifndef __ZOOMEDVIDEO__ #define __ZOOMEDVIDEO__ #ifndef __MACTYPES__ #include #endif #ifndef __DEVICES__ #include #endif #if PRAGMA_ONCE #pragma once #endif #ifdef __cplusplus extern "C" { #endif #if PRAGMA_IMPORT #pragma import on #endif #if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(push, 2) #elif PRAGMA_STRUCT_PACK #pragma pack(2) #endif #define kZVDriverName "\p.ZVPort" /* Control codes */ enum { cscZVVideoEnable = 2, /* Used to enable or disable ZV Video*/ cscZVSetCurrentAnalogValue = 3, /* Used to set brightness, contrast, etc.*/ cscZVSetInput = 9, /* Set video source to selected input*/ cscZVSetInputStandard = 11, /* Set the input to NTSC, PAL, or SECAM*/ cscZVGetMaxSourceRect = 12 /* Get Maximum Source Rect*/ }; /* Status codes*/ enum { cscZVGetVideoEnable = 2, /* Indicates whether ZV Video is enabled*/ cscZVGetCurrentAnalogValue = 3, /* Used to get brightness, contrast, etc.*/ cscZVGetDefaultAnalogValue = 4, cscZVGetVSyncState = 5, /* Used to look for a Vertical Sync on ZV Video*/ cscZVGetInfo = 6, /* Returns the ZV Information*/ cscZVGetInputFlags = 7, /* Returns the input flags.*/ cscZVGetNumberOfInputs = 8, /* Returns the number of video inputs*/ cscZVGetInput = 9, /* Zero-based input number*/ cscZVGetInputFormat = 10 /* Returns whether input is compsite/s-video*/ }; /* ----------------------------------------------------------------- Additional parameters for csInfoZV control call A pointer to ZVInfo is passed in csParam[0] (and csParam[1]) which must be filled by the driver in response to this call. */ typedef UInt32 ZVFeatures; enum { kZVHasAudio = (1 << 0), kZVHasTVTuner = (1 << 1), kZVHasContrast = (1 << 16), kZVHasBrightness = (1 << 17), kZVHasSharpness = (1 << 18), kZVHasSaturation = (1 << 19), kZVHasHue = (1 << 20) }; struct ZVInfo { ZVFeatures features; UInt32 currentFlags; Rect activeRect; Boolean isInterlaced; SInt8 filler; UInt32 reserved1; UInt32 reserved2; }; typedef struct ZVInfo ZVInfo; struct ZVFlagRecord { Boolean csFlag; SInt8 filler; }; typedef struct ZVFlagRecord ZVFlagRecord; /* ----------------------------------------------------------------- Additional definitions for "AnalogCtlZV" control calls A pointer to a ZVSetAnalogControlParam is passed to the driver whenever the system needs to adjust one of the analog settings. */ typedef UInt16 ZVAnalogControlSelector; enum { kZVContrast = 1, /* Range: 0x0 <= no change to image, larger values increase the contrast*/ kZVBrightness = 2, /* Range: 0x0 <= darkest setting, 0xffff = lightest setting*/ kZVSharpness = 3, /* Range: 0x0 <= no sharpness filtering, 0xffff <= full sharpness filtering*/ kZVSaturation = 4, /* Range: 0x0 <= min saturation, 0xffff <= max saturation */ kZVHue = 5, /* Range: 0x0 <= -180. shift in hue, 0xffff <= 179. shift, 0x8000 <=0. shift*/ kZVBlackLevel = 6, /* Range: 0x0 <= max black, 0xffff <= min black level*/ kZVWhiteLevel = 7 /* Range: 0x0 <= min white, 0xffff <= max white level*/ }; struct ZVAnalogControlRecord { ZVAnalogControlSelector whichControl; UInt16 value; }; typedef struct ZVAnalogControlRecord ZVAnalogControlRecord; #if PRAGMA_STRUCT_ALIGN #pragma options align=reset #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(pop) #elif PRAGMA_STRUCT_PACK #pragma pack() #endif #ifdef PRAGMA_IMPORT_OFF #pragma import off #elif PRAGMA_IMPORT #pragma import reset #endif #ifdef __cplusplus } #endif #endif /* __ZOOMEDVIDEO__ */