RetroArch
video_types.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------
2 
3 video_types.h -- support header
4 
5 Copyright (C) 2004
6 Michael Wiedenbauer (shagkur)
7 Dave Murphy (WinterMute)
8 
9 This software is provided 'as-is', without any express or implied
10 warranty. In no event will the authors be held liable for any
11 damages arising from the use of this software.
12 
13 Permission is granted to anyone to use this software for any
14 purpose, including commercial applications, and to alter it and
15 redistribute it freely, subject to the following restrictions:
16 
17 1. The origin of this software must not be misrepresented; you
18 must not claim that you wrote the original software. If you use
19 this software in a product, an acknowledgment in the product
20 documentation would be appreciated but is not required.
21 
22 2. Altered source versions must be plainly marked as such, and
23 must not be misrepresented as being the original software.
24 
25 3. This notice may not be removed or altered from any source
26 distribution.
27 
28 -------------------------------------------------------------*/
29 
30 
31 #ifndef __VIDEO_TYPES_H__
32 #define __VIDEO_TYPES_H__
33 
39 #include <gctypes.h>
40 
47 #define VI_DISPLAY_PIX_SZ 2
54 #define VI_INTERLACE 0
55 #define VI_NON_INTERLACE 1
56 #define VI_PROGRESSIVE 2
68 #define VI_NTSC 0
69 #define VI_PAL 1
70 #define VI_MPAL 2
71 #define VI_DEBUG 3
72 #define VI_DEBUG_PAL 4
73 #define VI_EURGB60 5
80 #define VI_XFBMODE_SF 0
81 #define VI_XFBMODE_DF 1
82 
83 
89 #define VI_FIELD_ABOVE 1
90 #define VI_FIELD_BELOW 0
97 // Maximum screen space
98 #define VI_MAX_WIDTH_NTSC 720
99 #define VI_MAX_HEIGHT_NTSC 480
100 
101 #define VI_MAX_WIDTH_PAL 720
102 #define VI_MAX_HEIGHT_PAL 576
103 
104 #define VI_MAX_WIDTH_MPAL 720
105 #define VI_MAX_HEIGHT_MPAL 480
106 
107 #define VI_MAX_WIDTH_EURGB60 VI_MAX_WIDTH_NTSC
108 #define VI_MAX_HEIGHT_EURGB60 VI_MAX_HEIGHT_NTSC
109 
110 #define VIDEO_PadFramebufferWidth(width) ((u16)(((u16)(width) + 15) & ~15))
117 #define VI_TVMODE(fmt, mode) ( ((fmt) << 2) + (mode) )
118 
119 #define VI_TVMODE_NTSC_INT VI_TVMODE(VI_NTSC, VI_INTERLACE)
120 #define VI_TVMODE_NTSC_DS VI_TVMODE(VI_NTSC, VI_NON_INTERLACE)
121 #define VI_TVMODE_NTSC_PROG VI_TVMODE(VI_NTSC, VI_PROGRESSIVE)
122 
123 #define VI_TVMODE_PAL_INT VI_TVMODE(VI_PAL, VI_INTERLACE)
124 #define VI_TVMODE_PAL_DS VI_TVMODE(VI_PAL, VI_NON_INTERLACE)
125 #define VI_TVMODE_PAL_PROG VI_TVMODE(VI_PAL, VI_PROGRESSIVE)
126 
127 #define VI_TVMODE_EURGB60_INT VI_TVMODE(VI_EURGB60, VI_INTERLACE)
128 #define VI_TVMODE_EURGB60_DS VI_TVMODE(VI_EURGB60, VI_NON_INTERLACE)
129 #define VI_TVMODE_EURGB60_PROG VI_TVMODE(VI_EURGB60, VI_PROGRESSIVE)
130 
131 #define VI_TVMODE_MPAL_INT VI_TVMODE(VI_MPAL, VI_INTERLACE)
132 #define VI_TVMODE_MPAL_DS VI_TVMODE(VI_MPAL, VI_NON_INTERLACE)
133 #define VI_TVMODE_MPAL_PROG VI_TVMODE(VI_MPAL, VI_PROGRESSIVE)
134 
135 #define VI_TVMODE_DEBUG_INT VI_TVMODE(VI_DEBUG, VI_INTERLACE)
136 
137 #define VI_TVMODE_DEBUG_PAL_INT VI_TVMODE(VI_DEBUG_PAL, VI_INTERLACE)
138 #define VI_TVMODE_DEBUG_PAL_DS VI_TVMODE(VI_DEBUG_PAL, VI_NON_INTERLACE)
139 
140 
152 extern GXRModeObj TVNtsc240Ds;
153 extern GXRModeObj TVNtsc240DsAa;
154 extern GXRModeObj TVNtsc240Int;
155 extern GXRModeObj TVNtsc240IntAa;
156 extern GXRModeObj TVNtsc480Int;
157 extern GXRModeObj TVNtsc480IntDf;
158 extern GXRModeObj TVNtsc480IntAa;
159 extern GXRModeObj TVNtsc480Prog;
162 extern GXRModeObj TVMpal240Ds;
164 extern GXRModeObj TVMpal480IntDf;
167 extern GXRModeObj TVPal264Ds;
168 extern GXRModeObj TVPal264DsAa;
169 extern GXRModeObj TVPal264Int;
170 extern GXRModeObj TVPal264IntAa;
171 extern GXRModeObj TVPal524IntAa;
172 extern GXRModeObj TVPal528Int;
173 extern GXRModeObj TVPal528IntDf;
186 
195 #endif
GXRModeObj TVNtsc480IntAa
Definition: video.c:297
GXRModeObj TVMpal240DsAa
Definition: video.c:468
GXRModeObj TVPal576ProgScale
Definition: video.c:874
Data type definitions.
GXRModeObj TVEurgb60Hz240IntAa
Definition: video.c:1006
GXRModeObj TVPal264Ds
Definition: video.c:604
GXRModeObj TVMpal240Ds
Definition: video.c:434
GXRModeObj TVPal264Int
Definition: video.c:672
Definition: gx_struct.h:58
GXRModeObj TVNtsc240Int
Definition: video.c:161
GXRModeObj TVNtsc240Ds
Definition: video.c:93
GXRModeObj TVPal524IntAa
Definition: video.c:740
GXRModeObj TVEurgb60Hz480Prog
Definition: video.c:1138
GXRModeObj TVEurgb60Hz480IntDf
Definition: video.c:1072
GXRModeObj TVPal264DsAa
Definition: video.c:638
GXRModeObj TVEurgb60Hz240Ds
Definition: video.c:907
GXRModeObj TVMpal480Prog
Definition: video.c:570
GXRModeObj TVNtsc480IntDf
Definition: video.c:263
GXRModeObj TVNtsc480ProgSoft
Definition: video.c:366
GXRModeObj TVEurgb60Hz480Int
Definition: video.c:1039
GXRModeObj TVEurgb60Hz480ProgAa
Definition: video.c:1204
GXRModeObj TVPal528IntDf
Definition: video.c:808
GXRModeObj TVNtsc240DsAa
Definition: video.c:127
GXRModeObj TVNtsc240IntAa
Definition: video.c:195
GXRModeObj TVEurgb60Hz240Int
Definition: video.c:973
GXRModeObj TVNtsc480Prog
Definition: video.c:332
GXRModeObj TVEurgb60Hz480ProgSoft
Definition: video.c:1171
GXRModeObj TVMpal480IntAa
Definition: video.c:536
GXRModeObj TVMpal480IntDf
Definition: video.c:502
GXRModeObj TVNtsc480ProgAa
Definition: video.c:400
GXRModeObj TVPal264IntAa
Definition: video.c:706
GXRModeObj TVNtsc480Int
Definition: video.c:229
GXRModeObj TVPal528Int
Definition: video.c:774
GXRModeObj TVEurgb60Hz240DsAa
Definition: video.c:940
GXRModeObj TVEurgb60Hz480IntAa
Definition: video.c:1105
GXRModeObj TVPal576IntDfScale
Definition: video.c:841