ZoomedVideo.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:5k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       ZoomedVideo.h
  3.  
  4.      Contains:   PC Card Family Zoomed Video Driver Interface
  5.  
  6.      Version:    Technology: System 7.5
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1996-2001 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:      For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __ZOOMEDVIDEO__
  18. #define __ZOOMEDVIDEO__
  19. #ifndef __MACTYPES__
  20. #include "MacTypes.h"
  21. #endif
  22. #ifndef __DEVICES__
  23. #include "Devices.h"
  24. #endif
  25. #if PRAGMA_ONCE
  26. #pragma once
  27. #endif
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. #if PRAGMA_IMPORT
  32. #pragma import on
  33. #endif
  34. #if PRAGMA_STRUCT_ALIGN
  35.     #pragma options align=mac68k
  36. #elif PRAGMA_STRUCT_PACKPUSH
  37.     #pragma pack(push, 2)
  38. #elif PRAGMA_STRUCT_PACK
  39.     #pragma pack(2)
  40. #endif
  41. #define kZVDriverName "p.ZVPort"
  42. /* Control codes */
  43. enum {
  44.     cscZVVideoEnable            = 2,                            /* Used to enable or disable ZV Video*/
  45.     cscZVSetCurrentAnalogValue  = 3,                            /* Used to set brightness, contrast, etc.*/
  46.     cscZVSetInput               = 9,                            /* Set video source to selected input*/
  47.     cscZVSetInputStandard       = 11,                           /* Set the input to NTSC, PAL, or SECAM*/
  48.     cscZVGetMaxSourceRect       = 12                            /* Get Maximum Source Rect*/
  49. };
  50. /* Status codes*/
  51. enum {
  52.     cscZVGetVideoEnable         = 2,                            /* Indicates whether ZV Video is enabled*/
  53.     cscZVGetCurrentAnalogValue  = 3,                            /* Used to get brightness, contrast, etc.*/
  54.     cscZVGetDefaultAnalogValue  = 4,
  55.     cscZVGetVSyncState          = 5,                            /* Used to look for a Vertical Sync on ZV Video*/
  56.     cscZVGetInfo                = 6,                            /* Returns the ZV Information*/
  57.     cscZVGetInputFlags          = 7,                            /* Returns the input flags.*/
  58.     cscZVGetNumberOfInputs      = 8,                            /* Returns the number of video inputs*/
  59.     cscZVGetInput               = 9,                            /* Zero-based input number*/
  60.     cscZVGetInputFormat         = 10                            /* Returns whether input is compsite/s-video*/
  61. };
  62. /*
  63.   -----------------------------------------------------------------
  64.    Additional parameters for csInfoZV control call
  65.     A pointer to ZVInfo is passed in csParam[0] (and csParam[1])
  66.     which must be filled by the driver in response to this call.
  67. */
  68. typedef UInt32                          ZVFeatures;
  69. enum {
  70.     kZVHasAudio                 = (1 << 0),
  71.     kZVHasTVTuner               = (1 << 1),
  72.     kZVHasContrast              = (1 << 16),
  73.     kZVHasBrightness            = (1 << 17),
  74.     kZVHasSharpness             = (1 << 18),
  75.     kZVHasSaturation            = (1 << 19),
  76.     kZVHasHue                   = (1 << 20)
  77. };
  78. struct ZVInfo {
  79.     ZVFeatures                      features;
  80.     UInt32                          currentFlags;
  81.     Rect                            activeRect;
  82.     Boolean                         isInterlaced;
  83.     SInt8                           filler;
  84.     UInt32                          reserved1;
  85.     UInt32                          reserved2;
  86. };
  87. typedef struct ZVInfo                   ZVInfo;
  88. struct ZVFlagRecord {
  89.     Boolean                         csFlag;
  90.     SInt8                           filler;
  91. };
  92. typedef struct ZVFlagRecord             ZVFlagRecord;
  93. /*
  94.   -----------------------------------------------------------------
  95.    Additional definitions for "AnalogCtlZV" control calls
  96.     A pointer to a ZVSetAnalogControlParam is passed to the driver
  97.     whenever the system needs to adjust one of the analog settings.
  98. */
  99. typedef UInt16                          ZVAnalogControlSelector;
  100. enum {
  101.     kZVContrast                 = 1,                            /* Range:  0x0 <= no change to image, larger values increase the contrast*/
  102.     kZVBrightness               = 2,                            /* Range:  0x0 <= darkest setting, 0xffff = lightest setting*/
  103.     kZVSharpness                = 3,                            /* Range:  0x0 <= no sharpness filtering, 0xffff <= full sharpness filtering*/
  104.     kZVSaturation               = 4,                            /* Range:  0x0 <= min saturation, 0xffff <= max saturation       */
  105.     kZVHue                      = 5,                            /* Range:  0x0 <= -180. shift in hue, 0xffff <= 179. shift, 0x8000 <=0. shift*/
  106.     kZVBlackLevel               = 6,                            /* Range:  0x0 <= max black, 0xffff <= min black level*/
  107.     kZVWhiteLevel               = 7                             /* Range:  0x0 <= min white, 0xffff <= max white level*/
  108. };
  109. struct ZVAnalogControlRecord {
  110.     ZVAnalogControlSelector         whichControl;
  111.     UInt16                          value;
  112. };
  113. typedef struct ZVAnalogControlRecord    ZVAnalogControlRecord;
  114. #if PRAGMA_STRUCT_ALIGN
  115.     #pragma options align=reset
  116. #elif PRAGMA_STRUCT_PACKPUSH
  117.     #pragma pack(pop)
  118. #elif PRAGMA_STRUCT_PACK
  119.     #pragma pack()
  120. #endif
  121. #ifdef PRAGMA_IMPORT_OFF
  122. #pragma import off
  123. #elif PRAGMA_IMPORT
  124. #pragma import reset
  125. #endif
  126. #ifdef __cplusplus
  127. }
  128. #endif
  129. #endif /* __ZOOMEDVIDEO__ */