Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
3.7 KiB

  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