topical media & game development
lib-of-vs-libs-QTDevWin-CIncludes-ZoomedVideo.h / h
/*
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 <MacTypes.h>
endif
ifndef __DEVICES__
include <Devices.h>
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__ */
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.