Mercurial > mplayer.hg
annotate libvo/video_out.h @ 30811:50e0f6942e43
Implement Win32 mutexes.
Implement Win32 mutexes; they used to just be mapped on top of events, which
is not the same thing at all.
The implementation is pretty much the obvious one, similar to the
current critical section implementation and the semaphore implementation;
a single lock count protected by a pthread mutex, and an event lockers can
sleep on to know when the mutex is available.
Also make CreateMutexA and ReleaseMutex available even if QuickTime codecs
support is not configured.
author | sesse |
---|---|
date | Sat, 06 Mar 2010 10:13:37 +0000 |
parents | 3422423f2e20 |
children | fca6cfc4d5ca |
rev | line source |
---|---|
1 | 1 /* |
28446
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
2 * Copyright (C) Aaron Holtzman - Aug 1999 |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
3 * Strongly modified, most parts rewritten: A'rpi/ESP-team - 2000-2001 |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
4 * (C) MPlayer developers |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
5 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
6 * This file is part of MPlayer. |
1 | 7 * |
28446
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
8 * MPlayer is free software; you can redistribute it and/or modify |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
11 * (at your option) any later version. |
1 | 12 * |
28446
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
13 * MPlayer is distributed in the hope that it will be useful, |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
16 * GNU General Public License for more details. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
17 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
18 * You should have received a copy of the GNU General Public License along |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
19 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
1 | 21 */ |
28446
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28137
diff
changeset
|
22 |
26029 | 23 #ifndef MPLAYER_VIDEO_OUT_H |
24 #define MPLAYER_VIDEO_OUT_H | |
1 | 25 |
26 #include <inttypes.h> | |
4592
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
27 #include <stdarg.h> |
1 | 28 |
5294 | 29 //#include "font_load.h" |
19431
ac69ba536915
Explicitly include libmpcodecs/img_format.h and libvo/fastmemcpy.h.
diego
parents:
19108
diff
changeset
|
30 #include "libmpcodecs/img_format.h" |
13787
e047e70a9767
Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents:
13091
diff
changeset
|
31 //#include "vidix/vidix.h" |
1 | 32 |
31 | 33 #define VO_EVENT_EXPOSE 1 |
34 #define VO_EVENT_RESIZE 2 | |
35 #define VO_EVENT_KEYPRESS 4 | |
36 | |
7124
eca7dbad0166
finally removed query_vaa, bes_da and vo_tune_info - the obsoleted libvo api
alex
parents:
7069
diff
changeset
|
37 /* Obsolete: VOCTRL_QUERY_VAA 1 */ |
6781 | 38 /* does the device support the required format */ |
4592
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
39 #define VOCTRL_QUERY_FORMAT 2 |
4754 | 40 /* signal a device reset seek */ |
4592
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
41 #define VOCTRL_RESET 3 |
4618 | 42 /* true if vo driver can use GUI created windows */ |
43 #define VOCTRL_GUISUPPORT 4 | |
7009 | 44 #define VOCTRL_GUI_NOWINDOW 19 |
4731 | 45 /* used to switch to fullscreen */ |
46 #define VOCTRL_FULLSCREEN 5 | |
4754 | 47 /* signal a device pause */ |
48 #define VOCTRL_PAUSE 7 | |
49 /* start/resume playback */ | |
50 #define VOCTRL_RESUME 8 | |
4971 | 51 /* libmpcodecs direct rendering: */ |
52 #define VOCTRL_GET_IMAGE 9 | |
5502 | 53 #define VOCTRL_DRAW_IMAGE 13 |
6110 | 54 #define VOCTRL_SET_SPU_PALETTE 14 |
5002 | 55 /* decoding ahead: */ |
56 #define VOCTRL_GET_NUM_FRAMES 10 | |
57 #define VOCTRL_GET_FRAME_NUM 11 | |
58 #define VOCTRL_SET_FRAME_NUM 12 | |
6308 | 59 #define VOCTRL_GET_PANSCAN 15 |
60 #define VOCTRL_SET_PANSCAN 16 | |
6781 | 61 /* equalizer controls */ |
62 #define VOCTRL_SET_EQUALIZER 17 | |
63 #define VOCTRL_GET_EQUALIZER 18 | |
8450 | 64 //#define VOCTRL_GUI_NOWINDOW 19 |
65 /* Frame duplication */ | |
66 #define VOCTRL_DUPLICATE_FRAME 20 | |
67 // ... 21 | |
9560
ae2ce6ebc1fa
Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents:
8450
diff
changeset
|
68 #define VOCTRL_START_SLICE 21 |
7009 | 69 |
11542 | 70 #define VOCTRL_ONTOP 25 |
13091 | 71 #define VOCTRL_ROOTWIN 26 |
16968
e9d849bf8050
add a switch, slave command, and vo control to toggle borderless window.
joey
parents:
16280
diff
changeset
|
72 #define VOCTRL_BORDER 27 |
19576 | 73 #define VOCTRL_DRAW_EOSD 28 |
74 #define VOCTRL_GET_EOSD_RES 29 | |
75 typedef struct { | |
76 int w, h; // screen dimensions, including black borders | |
30065
d5d20b8256b7
Some ugly hacks to make compiling against a newer external version of libass work.
reimar
parents:
29862
diff
changeset
|
77 int srcw, srch; // unscaled source dimensions |
19576 | 78 int mt, mb, ml, mr; // borders (top, bottom, left, right) |
79 } mp_eosd_res_t; | |
11542 | 80 |
20973
c0bcec5150a3
Add deinterlace property, patch by Carl Eugen Hoyos
reimar
parents:
19576
diff
changeset
|
81 #define VOCTRL_SET_DEINTERLACE 30 |
c0bcec5150a3
Add deinterlace property, patch by Carl Eugen Hoyos
reimar
parents:
19576
diff
changeset
|
82 #define VOCTRL_GET_DEINTERLACE 31 |
c0bcec5150a3
Add deinterlace property, patch by Carl Eugen Hoyos
reimar
parents:
19576
diff
changeset
|
83 |
22232 | 84 #define VOCTRL_UPDATE_SCREENINFO 32 |
85 | |
9569
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
86 // Vo can be used by xover |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
87 #define VOCTRL_XOVERLAY_SUPPORT 22 |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
88 |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
89 #define VOCTRL_XOVERLAY_SET_COLORKEY 24 |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
90 typedef struct { |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
91 uint32_t x11; // The raw x11 color |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
92 uint16_t r,g,b; |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
93 } mp_colorkey_t; |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
94 |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
95 #define VOCTRL_XOVERLAY_SET_WIN 23 |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
96 typedef struct { |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
97 int x,y; |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
98 int w,h; |
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
99 } mp_win_t; |
6307 | 100 |
4592
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
101 #define VO_TRUE 1 |
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
102 #define VO_FALSE 0 |
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
103 #define VO_ERROR -1 |
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
104 #define VO_NOTAVAIL -2 |
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
105 #define VO_NOTIMPL -3 |
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
106 |
4736 | 107 #define VOFLAG_FULLSCREEN 0x01 |
108 #define VOFLAG_MODESWITCHING 0x02 | |
109 #define VOFLAG_SWSCALE 0x04 | |
110 #define VOFLAG_FLIPPING 0x08 | |
30465
3422423f2e20
Create the OpenGL probe window as a hidden Window on X11.
reimar
parents:
30065
diff
changeset
|
111 #define VOFLAG_HIDDEN 0x10 //< Use to create a hidden window |
9569
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9560
diff
changeset
|
112 #define VOFLAG_XOVERLAY_SUB_VO 0x10000 |
4736 | 113 |
1 | 114 typedef struct vo_info_s |
115 { | |
116 /* driver name ("Matrox Millennium G200/G400" */ | |
117 const char *name; | |
118 /* short name (for config strings) ("mga") */ | |
119 const char *short_name; | |
120 /* author ("Aaron Holtzman <aholtzma@ess.engr.uvic.ca>") */ | |
121 const char *author; | |
122 /* any additional comments */ | |
123 const char *comment; | |
124 } vo_info_t; | |
125 | |
126 typedef struct vo_functions_s | |
127 { | |
25216 | 128 const vo_info_t *info; |
4352 | 129 /* |
130 * Preinitializes driver (real INITIALIZATION) | |
131 * arg - currently it's vo_subdevice | |
132 * returns: zero on successful initialization, non-zero on error. | |
133 */ | |
16171
fd51fd1ff231
Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents:
13787
diff
changeset
|
134 int (*preinit)(const char *arg); |
1 | 135 /* |
4352 | 136 * Initialize (means CONFIGURE) the display driver. |
31 | 137 * params: |
138 * width,height: image source size | |
139 * d_width,d_height: size of the requested window size, just a hint | |
140 * fullscreen: flag, 0=windowd 1=fullscreen, just a hint | |
141 * title: window title, if available | |
142 * format: fourcc of pixel format | |
143 * returns : zero on successful initialization, non-zero on error. | |
1 | 144 */ |
16171
fd51fd1ff231
Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents:
13787
diff
changeset
|
145 int (*config)(uint32_t width, uint32_t height, uint32_t d_width, |
4433 | 146 uint32_t d_height, uint32_t fullscreen, char *title, |
7124
eca7dbad0166
finally removed query_vaa, bes_da and vo_tune_info - the obsoleted libvo api
alex
parents:
7069
diff
changeset
|
147 uint32_t format); |
1 | 148 |
4592
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
149 /* |
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
150 * Control interface |
5fbfd8545c3b
query_ stuff replaced by new control() - patch by David Holm
arpi
parents:
4433
diff
changeset
|
151 */ |
16171
fd51fd1ff231
Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents:
13787
diff
changeset
|
152 int (*control)(uint32_t request, void *data, ...); |
1 | 153 |
154 /* | |
31 | 155 * Display a new RGB/BGR frame of the video to the screen. |
156 * params: | |
157 * src[0] - pointer to the image | |
1 | 158 */ |
16171
fd51fd1ff231
Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents:
13787
diff
changeset
|
159 int (*draw_frame)(uint8_t *src[]); |
1 | 160 |
161 /* | |
31 | 162 * Draw a planar YUV slice to the buffer: |
163 * params: | |
164 * src[3] = source image planes (Y,U,V) | |
165 * stride[3] = source image planes line widths (in bytes) | |
166 * w,h = width*height of area to be copied (in Y pixels) | |
167 * x,y = position at the destination image (in Y pixels) | |
1 | 168 */ |
16171
fd51fd1ff231
Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents:
13787
diff
changeset
|
169 int (*draw_slice)(uint8_t *src[], int stride[], int w,int h, int x,int y); |
1 | 170 |
1501
d40f2b686846
changes according to -utf8 option, draw_osd() function added
atlka
parents:
1326
diff
changeset
|
171 /* |
d40f2b686846
changes according to -utf8 option, draw_osd() function added
atlka
parents:
1326
diff
changeset
|
172 * Draws OSD to the screen buffer |
d40f2b686846
changes according to -utf8 option, draw_osd() function added
atlka
parents:
1326
diff
changeset
|
173 */ |
d40f2b686846
changes according to -utf8 option, draw_osd() function added
atlka
parents:
1326
diff
changeset
|
174 void (*draw_osd)(void); |
d40f2b686846
changes according to -utf8 option, draw_osd() function added
atlka
parents:
1326
diff
changeset
|
175 |
1 | 176 /* |
31 | 177 * Blit/Flip buffer to the screen. Must be called after each frame! |
1 | 178 */ |
179 void (*flip_page)(void); | |
180 | |
31 | 181 /* |
182 * This func is called after every frames to handle keyboard and | |
183 * other events. It's called in PAUSE mode too! | |
184 */ | |
185 void (*check_events)(void); | |
186 | |
187 /* | |
188 * Closes driver. Should restore the original state of the system. | |
189 */ | |
1 | 190 void (*uninit)(void); |
191 | |
192 } vo_functions_t; | |
193 | |
25219
e82ecde2cbd4
Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents:
25216
diff
changeset
|
194 const vo_functions_t* init_best_video_out(char** vo_list); |
e82ecde2cbd4
Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents:
25216
diff
changeset
|
195 int config_video_out(const vo_functions_t *vo, uint32_t width, uint32_t height, |
22232 | 196 uint32_t d_width, uint32_t d_height, uint32_t flags, |
197 char *title, uint32_t format); | |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
16968
diff
changeset
|
198 void list_video_out(void); |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
199 |
1 | 200 // NULL terminated array of all drivers |
25219
e82ecde2cbd4
Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents:
25216
diff
changeset
|
201 extern const vo_functions_t* const video_out_drivers[]; |
1 | 202 |
4811
38a9cddd9e4d
added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents:
4754
diff
changeset
|
203 extern int vo_flags; |
38a9cddd9e4d
added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents:
4754
diff
changeset
|
204 |
5511 | 205 extern int vo_config_count; |
206 | |
18116 | 207 extern int xinerama_screen; |
208 extern int xinerama_x; | |
209 extern int xinerama_y; | |
210 | |
4618 | 211 // correct resolution/bpp on screen: (should be autodetected by vo_init()) |
388 | 212 extern int vo_depthonscreen; |
213 extern int vo_screenwidth; | |
214 extern int vo_screenheight; | |
213 | 215 |
388 | 216 // requested resolution/bpp: (-x -y -bpp options) |
4811
38a9cddd9e4d
added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents:
4754
diff
changeset
|
217 extern int vo_dx; |
38a9cddd9e4d
added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents:
4754
diff
changeset
|
218 extern int vo_dy; |
388 | 219 extern int vo_dwidth; |
220 extern int vo_dheight; | |
221 extern int vo_dbpp; | |
222 | |
7539
56ea9db91251
-nograbpointer, based on old patch by Christian Ohm <chr.ohm@gmx.net>
arpi
parents:
7435
diff
changeset
|
223 extern int vo_grabpointer; |
1268 | 224 extern int vo_doublebuffering; |
5431
013458752947
disabling direct rendering by default (too buggy and conflicts with osd/sub)
arpi
parents:
5294
diff
changeset
|
225 extern int vo_directrendering; |
4667 | 226 extern int vo_vsync; |
4981 | 227 extern int vo_fs; |
1268 | 228 extern int vo_fsmode; |
6304
ee65527096c2
pan&scan support with -vo xv by ?? <mplayer@svennevid.net>
arpi
parents:
6110
diff
changeset
|
229 extern float vo_panscan; |
12021
cd33d1e3b709
move refreshrate and adapter_num variables to video_out because they might be usefull for other drivers, too
faust3
parents:
11542
diff
changeset
|
230 extern int vo_adapter_num; |
cd33d1e3b709
move refreshrate and adapter_num variables to video_out because they might be usefull for other drivers, too
faust3
parents:
11542
diff
changeset
|
231 extern int vo_refresh_rate; |
12371
c000f4c23efd
keepaspect and nokeepaspect are now useable by all vos
faust3
parents:
12021
diff
changeset
|
232 extern int vo_keepaspect; |
12912
1f6bb2356d18
add var vo_rootwin and -rootwin switch for mac osx
nplourde
parents:
12371
diff
changeset
|
233 extern int vo_rootwin; |
16280
7f34acc96aa4
remove extern for variables that are already in headers.
reimar
parents:
16171
diff
changeset
|
234 extern int vo_ontop; |
16968
e9d849bf8050
add a switch, slave command, and vo control to toggle borderless window.
joey
parents:
16280
diff
changeset
|
235 extern int vo_border; |
1268 | 236 |
24027
0530865bb02a
Declare all vo_gamma variables in libvo/video_out.h and remove them from
diego
parents:
23689
diff
changeset
|
237 extern int vo_gamma_gamma; |
6755 | 238 extern int vo_gamma_brightness; |
239 extern int vo_gamma_saturation; | |
240 extern int vo_gamma_contrast; | |
241 extern int vo_gamma_hue; | |
242 extern int vo_gamma_red_intensity; | |
243 extern int vo_gamma_green_intensity; | |
244 extern int vo_gamma_blue_intensity; | |
245 | |
10785 | 246 extern int vo_nomouse_input; |
5651
b8d8d72776f2
fix playlist bug with gui and rewrite mousecursor show/hide code
pontscho
parents:
5511
diff
changeset
|
247 |
2707 | 248 extern int vo_pts; |
3201 | 249 extern float vo_fps; |
2707 | 250 |
1184 | 251 extern char *vo_subdevice; |
252 | |
10988 | 253 extern int vo_colorkey; |
254 | |
29862
fbb1f57a313e
Added -name, -title and -use-filename-title options and implementation in X11 vos
ptt
parents:
29524
diff
changeset
|
255 extern char *vo_winname; |
fbb1f57a313e
Added -name, -title and -use-filename-title options and implementation in X11 vos
ptt
parents:
29524
diff
changeset
|
256 extern char *vo_wintitle; |
fbb1f57a313e
Added -name, -title and -use-filename-title options and implementation in X11 vos
ptt
parents:
29524
diff
changeset
|
257 |
28760
dec2bc0855e8
Make WinID a 64 bit integer, this should avoid issues with valid Window
reimar
parents:
28598
diff
changeset
|
258 extern int64_t WinID; |
16280
7f34acc96aa4
remove extern for variables that are already in headers.
reimar
parents:
16171
diff
changeset
|
259 |
7069 | 260 typedef struct { |
261 float min; | |
262 float max; | |
263 } range_t; | |
264 | |
28051 | 265 float range_max(range_t *r); |
266 int in_range(range_t *r, float f); | |
267 range_t *str2range(char *s); | |
7069 | 268 extern char *monitor_hfreq_str; |
269 extern char *monitor_vfreq_str; | |
270 extern char *monitor_dotclock_str; | |
271 | |
28137
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28051
diff
changeset
|
272 struct keymap { |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28051
diff
changeset
|
273 int from; |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28051
diff
changeset
|
274 int to; |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28051
diff
changeset
|
275 }; |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28051
diff
changeset
|
276 int lookup_keymap_table(const struct keymap *map, int key); |
28511
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
277 struct vo_rect { |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
278 int left, right, top, bottom, width, height; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
279 }; |
28598
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28592
diff
changeset
|
280 void calc_src_dst_rects(int src_width, int src_height, struct vo_rect *src, struct vo_rect *dst, |
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28592
diff
changeset
|
281 struct vo_rect *borders, const struct vo_rect *crop); |
28137
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28051
diff
changeset
|
282 |
29524
b1a437cdc60d
Add infrastructure and test code to enable aspect scaling and panscan in windowed mode.
reimar
parents:
28760
diff
changeset
|
283 static inline int aspect_scaling(void) |
b1a437cdc60d
Add infrastructure and test code to enable aspect scaling and panscan in windowed mode.
reimar
parents:
28760
diff
changeset
|
284 { |
b1a437cdc60d
Add infrastructure and test code to enable aspect scaling and panscan in windowed mode.
reimar
parents:
28760
diff
changeset
|
285 return vo_fs; |
b1a437cdc60d
Add infrastructure and test code to enable aspect scaling and panscan in windowed mode.
reimar
parents:
28760
diff
changeset
|
286 } |
b1a437cdc60d
Add infrastructure and test code to enable aspect scaling and panscan in windowed mode.
reimar
parents:
28760
diff
changeset
|
287 |
26029 | 288 #endif /* MPLAYER_VIDEO_OUT_H */ |