Tvout.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:4k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*++
  2. Copyright (c) 1998-1999  Microsoft Corporation
  3. */
  4. #ifndef __TVOUT__
  5. #define __TVOUT__
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif
  9. #ifndef GUID_DEFINED
  10. #include <guiddef.h>
  11. #endif
  12. typedef struct _VIDEOPARAMETERS {
  13.     GUID  Guid;                         // GUID for this structure
  14.     ULONG dwOffset;                     // leave it 0 for now.
  15.     ULONG dwCommand;                    // VP_COMMAND_*            SET or GET
  16.     ULONG dwFlags;                      // bitfield, defined below SET or GET
  17.     ULONG dwMode;                       // bitfield, defined below SET or GET
  18.     ULONG dwTVStandard;                 // bitfield, defined below SET or GET
  19.     ULONG dwAvailableModes;             // bitfield, defined below GET
  20.     ULONG dwAvailableTVStandard;        // bitfield, defined below GET
  21.     ULONG dwFlickerFilter;              // value                   SET or GET
  22.     ULONG dwOverScanX;                  // value                   SET or GET
  23.     ULONG dwOverScanY;                  //                         SET or GET
  24.     ULONG dwMaxUnscaledX;               // value                   SET or GET
  25.     ULONG dwMaxUnscaledY;               //                         SET or GET
  26.     ULONG dwPositionX;                  // value                   SET or GET
  27.     ULONG dwPositionY;                  //                         SET or GET
  28.     ULONG dwBrightness;                 // value                   SET or GET
  29.     ULONG dwContrast;                   // value                   SET or GET
  30.     ULONG dwCPType;                     // copy protection type    SET or GET
  31.     ULONG dwCPCommand;                  // VP_CP_CMD_
  32.     ULONG dwCPStandard;                 // what TV standards CP is available on. GET
  33.     ULONG dwCPKey;
  34.     ULONG bCP_APSTriggerBits;           // (a dword for alignment) SET(bits 0 and 1 valid).
  35.     UCHAR bOEMCopyProtection[256];      // oem specific copy protection data SET or GET
  36. } VIDEOPARAMETERS, *PVIDEOPARAMETERS, *LPVIDEOPARAMETERS;
  37. #define VP_COMMAND_GET          0x0001  // size set, return caps.
  38.                                         // returned Flags = 0 if not supported.
  39. #define VP_COMMAND_SET          0x0002  // size and params set.
  40. #define VP_FLAGS_TV_MODE        0x0001
  41. #define VP_FLAGS_TV_STANDARD    0x0002
  42. #define VP_FLAGS_FLICKER        0x0004
  43. #define VP_FLAGS_OVERSCAN       0x0008
  44. #define VP_FLAGS_MAX_UNSCALED   0x0010  // do not use on SET
  45. #define VP_FLAGS_POSITION       0x0020
  46. #define VP_FLAGS_BRIGHTNESS     0x0040
  47. #define VP_FLAGS_CONTRAST       0x0080
  48. #define VP_FLAGS_COPYPROTECT    0x0100
  49. #define VP_MODE_WIN_GRAPHICS    0x0001
  50. #define VP_MODE_TV_PLAYBACK     0x0002  // optimize for TV video playback
  51. #define VP_TV_STANDARD_NTSC_M   0x0001  //        75 IRE Setup
  52. #define VP_TV_STANDARD_NTSC_M_J 0x0002  // Japan,  0 IRE Setup
  53. #define VP_TV_STANDARD_PAL_B    0x0004
  54. #define VP_TV_STANDARD_PAL_D    0x0008
  55. #define VP_TV_STANDARD_PAL_H    0x0010
  56. #define VP_TV_STANDARD_PAL_I    0x0020
  57. #define VP_TV_STANDARD_PAL_M    0x0040
  58. #define VP_TV_STANDARD_PAL_N    0x0080
  59. #define VP_TV_STANDARD_SECAM_B  0x0100
  60. #define VP_TV_STANDARD_SECAM_D  0x0200
  61. #define VP_TV_STANDARD_SECAM_G  0x0400
  62. #define VP_TV_STANDARD_SECAM_H  0x0800
  63. #define VP_TV_STANDARD_SECAM_K  0x1000
  64. #define VP_TV_STANDARD_SECAM_K1 0x2000
  65. #define VP_TV_STANDARD_SECAM_L  0x4000
  66. #define VP_TV_STANDARD_WIN_VGA  0x8000
  67. // and the rest
  68. #define VP_TV_STANDARD_NTSC_433 0x00010000
  69. #define VP_TV_STANDARD_PAL_G    0x00020000
  70. #define VP_TV_STANDARD_PAL_60   0x00040000
  71. #define VP_TV_STANDARD_SECAM_L1 0x00080000
  72. #define VP_CP_TYPE_APS_TRIGGER  0x0001  // DVD trigger bits only
  73. #define VP_CP_TYPE_MACROVISION  0x0002  // full macrovision data available
  74. #define VP_CP_CMD_ACTIVATE      0x0001  // CP command type
  75. #define VP_CP_CMD_DEACTIVATE    0x0002
  76. #define VP_CP_CMD_CHANGE        0x0004
  77. #endif