home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / tvout.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  3.9 KB  |  93 lines

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