3 * @copy 2012 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
30 * Definitions for TV-out support
39 /* VIDEOPARAMETERS.dwCommand constants */
40 #define VP_COMMAND_GET 0x00000001
41 #define VP_COMMAND_SET 0x00000002
43 /* VIDEOPARAMETERS.dwFlags constants */
44 #define VP_FLAGS_TV_MODE 0x00000001
45 #define VP_FLAGS_TV_STANDARD 0x00000002
46 #define VP_FLAGS_FLICKER 0x00000004
47 #define VP_FLAGS_OVERSCAN 0x00000008
48 #define VP_FLAGS_MAX_UNSCALED 0x00000010
49 #define VP_FLAGS_POSITION 0x00000020
50 #define VP_FLAGS_BRIGHTNESS 0x00000040
51 #define VP_FLAGS_CONTRAST 0x00000080
52 #define VP_FLAGS_COPYPROTECT 0x00000100
54 /* VIDEOPARAMETERS.dwMode constants */
55 #define VP_MODE_WIN_GRAPHICS 0x00000001
56 #define VP_MODE_TV_PLAYBACK 0x00000002
58 /* VIDEOPARAMETERS.dwTVStandard/dwAvailableTVStandard constants */
59 #define VP_TV_STANDARD_NTSC_M 0x00000001
60 #define VP_TV_STANDARD_NTSC_M_J 0x00000002
61 #define VP_TV_STANDARD_PAL_B 0x00000004
62 #define VP_TV_STANDARD_PAL_D 0x00000008
63 #define VP_TV_STANDARD_PAL_H 0x00000010
64 #define VP_TV_STANDARD_PAL_I 0x00000020
65 #define VP_TV_STANDARD_PAL_M 0x00000040
66 #define VP_TV_STANDARD_PAL_N 0x00000080
67 #define VP_TV_STANDARD_SECAM_B 0x00000100
68 #define VP_TV_STANDARD_SECAM_D 0x00000200
69 #define VP_TV_STANDARD_SECAM_G 0x00000400
70 #define VP_TV_STANDARD_SECAM_H 0x00000800
71 #define VP_TV_STANDARD_SECAM_K 0x00001000
72 #define VP_TV_STANDARD_SECAM_K1 0x00002000
73 #define VP_TV_STANDARD_SECAM_L 0x00004000
74 #define VP_TV_STANDARD_WIN_VGA 0x00008000
75 #define VP_TV_STANDARD_NTSC_433 0x00010000
76 #define VP_TV_STANDARD_PAL_G 0x00020000
77 #define VP_TV_STANDARD_PAL_60 0x00040000
78 #define VP_TV_STANDARD_SECAM_L1 0x00080000
80 /* VIDEOPARAMETERS.dwMode constants */
81 #define VP_CP_TYPE_APS_TRIGGER 0x00000001
82 #define VP_CP_TYPE_MACROVISION 0x00000002
84 /* VIDEOPARAMETERS.dwCPCommand constants */
85 #define VP_CP_CMD_ACTIVATE 0x00000001
86 #define VP_CP_CMD_DEACTIVATE 0x00000002
87 #define VP_CP_CMD_CHANGE 0x00000004
89 typedef struct _VIDEOPARAMETERS {
96 DWORD dwAvailableModes;
97 DWORD dwAvailableTVStandard;
98 DWORD dwFlickerFilter;
101 DWORD dwMaxUnscaledX;
102 DWORD dwMaxUnscaledY;
111 BYTE bCP_APSTriggerBits;
112 BYTE bOEMCopyProtection[256];
113 } VIDEOPARAMETERS, *PVIDEOPARAMETERS, FAR *LPVIDEOPARAMETERS;
119 #endif /* __TVOUT_H */