xref: /reactos/sdk/include/psdk/tvout.h (revision 4561998a)
1 /*
2  * tvout.h
3  *
4  * Definitions for TV-out support
5  *
6  * This file is part of the w32api package.
7  *
8  * Contributors:
9  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAIMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22 
23 #pragma once
24 
25 #ifndef GUID_DEFINED
26 #include <guiddef.h>
27 #endif
28 
29 /* VIDEOPARAMETERS.dwCommand constants */
30 #define VP_COMMAND_GET                    0x00000001
31 #define VP_COMMAND_SET                    0x00000002
32 
33 /* VIDEOPARAMETERS.dwFlags constants */
34 #define VP_FLAGS_TV_MODE                  0x00000001
35 #define VP_FLAGS_TV_STANDARD              0x00000002
36 #define VP_FLAGS_FLICKER                  0x00000004
37 #define VP_FLAGS_OVERSCAN                 0x00000008
38 #define VP_FLAGS_MAX_UNSCALED             0x00000010
39 #define VP_FLAGS_POSITION                 0x00000020
40 #define VP_FLAGS_BRIGHTNESS               0x00000040
41 #define VP_FLAGS_CONTRAST                 0x00000080
42 #define VP_FLAGS_COPYPROTECT              0x00000100
43 
44 /* VIDEOPARAMETERS.dwMode constants */
45 #define VP_MODE_WIN_GRAPHICS              0x00000001
46 #define VP_MODE_TV_PLAYBACK               0x00000002
47 
48 /* VIDEOPARAMETERS.dwTVStandard/dwAvailableTVStandard constants */
49 #define VP_TV_STANDARD_NTSC_M             0x00000001
50 #define VP_TV_STANDARD_NTSC_M_J           0x00000002
51 #define VP_TV_STANDARD_PAL_B              0x00000004
52 #define VP_TV_STANDARD_PAL_D              0x00000008
53 #define VP_TV_STANDARD_PAL_H              0x00000010
54 #define VP_TV_STANDARD_PAL_I              0x00000020
55 #define VP_TV_STANDARD_PAL_M              0x00000040
56 #define VP_TV_STANDARD_PAL_N              0x00000080
57 #define VP_TV_STANDARD_SECAM_B            0x00000100
58 #define VP_TV_STANDARD_SECAM_D            0x00000200
59 #define VP_TV_STANDARD_SECAM_G            0x00000400
60 #define VP_TV_STANDARD_SECAM_H            0x00000800
61 #define VP_TV_STANDARD_SECAM_K            0x00001000
62 #define VP_TV_STANDARD_SECAM_K1           0x00002000
63 #define VP_TV_STANDARD_SECAM_L            0x00004000
64 #define VP_TV_STANDARD_WIN_VGA            0x00008000
65 #define VP_TV_STANDARD_NTSC_433           0x00010000
66 #define VP_TV_STANDARD_PAL_G              0x00020000
67 #define VP_TV_STANDARD_PAL_60             0x00040000
68 #define VP_TV_STANDARD_SECAM_L1           0x00080000
69 
70 /* VIDEOPARAMETERS.dwMode constants */
71 #define VP_CP_TYPE_APS_TRIGGER            0x00000001
72 #define VP_CP_TYPE_MACROVISION            0x00000002
73 
74 /* VIDEOPARAMETERS.dwCPCommand constants */
75 #define VP_CP_CMD_ACTIVATE                0x00000001
76 #define VP_CP_CMD_DEACTIVATE              0x00000002
77 #define VP_CP_CMD_CHANGE                  0x00000004
78 
79 typedef struct _VIDEOPARAMETERS {
80   GUID Guid;
81   ULONG dwOffset;
82   ULONG dwCommand;
83   ULONG dwFlags;
84   ULONG dwMode;
85   ULONG dwTVStandard;
86   ULONG dwAvailableModes;
87   ULONG dwAvailableTVStandard;
88   ULONG dwFlickerFilter;
89   ULONG dwOverScanX;
90   ULONG dwOverScanY;
91   ULONG dwMaxUnscaledX;
92   ULONG dwMaxUnscaledY;
93   ULONG dwPositionX;
94   ULONG dwPositionY;
95   ULONG dwBrightness;
96   ULONG dwContrast;
97   ULONG dwCPType;
98   ULONG dwCPCommand;
99   ULONG dwCPStandard;
100   ULONG dwCPKey;
101   ULONG bCP_APSTriggerBits;
102   UCHAR bOEMCopyProtection[256];
103 } VIDEOPARAMETERS, *PVIDEOPARAMETERS, *LPVIDEOPARAMETERS;
104