Mercurial > mplayer.hg
annotate libvo/video_out.c @ 36041:5f730ed5b3d2
Add workaround to allow compiling 64 bit MPlayer with clang on OSX.
author | reimar |
---|---|
date | Wed, 03 Apr 2013 09:40:30 +0000 |
parents | 906125680c06 |
children | 94979f661d38 |
rev | line source |
---|---|
28446
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
1 /* |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
2 * libvo common functions, variables used by many/all drivers. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
3 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
4 * This file is part of MPlayer. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
5 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
6 * MPlayer is free software; you can redistribute it and/or modify |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
7 * it under the terms of the GNU General Public License as published by |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
8 * the Free Software Foundation; either version 2 of the License, or |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
9 * (at your option) any later version. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
10 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
11 * MPlayer is distributed in the hope that it will be useful, |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
14 * GNU General Public License for more details. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
15 * |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
16 * You should have received a copy of the GNU General Public License along |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
17 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
7681eab10aea
Add standard license headers, unify header formatting.
diego
parents:
28367
diff
changeset
|
19 */ |
1 | 20 |
21 #include <stdio.h> | |
22 #include <stdlib.h> | |
23 #include <string.h> | |
24 | |
25 #include <unistd.h> | |
5296 | 26 //#include <sys/mman.h> |
1 | 27 |
28 #include "config.h" | |
29 #include "video_out.h" | |
22232 | 30 #include "aspect.h" |
31 #include "geometry.h" | |
1 | 32 |
31315
ad274a5b093b
For vos that support the new libvo API (provide UPDATE_SCREENINFO),
reimar
parents:
31313
diff
changeset
|
33 #ifdef CONFIG_GUI |
ad274a5b093b
For vos that support the new libvo API (provide UPDATE_SCREENINFO),
reimar
parents:
31313
diff
changeset
|
34 #include "gui/interface.h" |
ad274a5b093b
For vos that support the new libvo API (provide UPDATE_SCREENINFO),
reimar
parents:
31313
diff
changeset
|
35 #endif |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
36 #include "mp_msg.h" |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
37 #include "help_mp.h" |
31059 | 38 #include "input/input.h" |
13787
e047e70a9767
Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents:
13744
diff
changeset
|
39 #include "osdep/shmem.h" |
1 | 40 |
5074 | 41 //int vo_flags=0; |
4736 | 42 |
18116 | 43 int xinerama_screen = -1; |
44 int xinerama_x; | |
45 int xinerama_y; | |
46 | |
388 | 47 // currect resolution/bpp on screen: (should be autodetected by vo_init()) |
48 int vo_depthonscreen=0; | |
49 int vo_screenwidth=0; | |
50 int vo_screenheight=0; | |
51 | |
5511 | 52 int vo_config_count=0; |
53 | |
388 | 54 // requested resolution/bpp: (-x -y -bpp options) |
4811
38a9cddd9e4d
added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents:
4736
diff
changeset
|
55 int vo_dx=0; |
38a9cddd9e4d
added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents:
4736
diff
changeset
|
56 int vo_dy=0; |
388 | 57 int vo_dwidth=0; |
58 int vo_dheight=0; | |
59 int vo_dbpp=0; | |
4981 | 60 |
10785 | 61 int vo_nomouse_input = 0; |
7539
56ea9db91251
-nograbpointer, based on old patch by Christian Ohm <chr.ohm@gmx.net>
arpi
parents:
7536
diff
changeset
|
62 int vo_grabpointer = 1; |
14066
db6de212435b
it's stupid for the default to be something both slower (for xv+dr) and visually incorrect.. use -nodouble if you want old behavior
rfelker
parents:
13787
diff
changeset
|
63 int vo_doublebuffering = 1; |
4667 | 64 int vo_vsync = 0; |
4981 | 65 int vo_fs = 0; |
1269 | 66 int vo_fsmode = 0; |
6304
ee65527096c2
pan&scan support with -vo xv by ?? <mplayer@svennevid.net>
arpi
parents:
6069
diff
changeset
|
67 float vo_panscan = 0.0f; |
11542 | 68 int vo_ontop = 0; |
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
|
69 int vo_adapter_num=0; |
cd33d1e3b709
move refreshrate and adapter_num variables to video_out because they might be usefull for other drivers, too
faust3
parents:
11542
diff
changeset
|
70 int vo_refresh_rate=0; |
12371
c000f4c23efd
keepaspect and nokeepaspect are now useable by all vos
faust3
parents:
12129
diff
changeset
|
71 int vo_keepaspect=1; |
12912
1f6bb2356d18
add var vo_rootwin and -rootwin switch for mac osx
nplourde
parents:
12601
diff
changeset
|
72 int vo_rootwin=0; |
16968
e9d849bf8050
add a switch, slave command, and vo control to toggle borderless window.
joey
parents:
16181
diff
changeset
|
73 int vo_border=1; |
28760
dec2bc0855e8
Make WinID a 64 bit integer, this should avoid issues with valid Window
reimar
parents:
28653
diff
changeset
|
74 int64_t WinID = -1; |
388 | 75 |
2707 | 76 int vo_pts=0; // for hw decoding |
19021 | 77 float vo_fps=0; |
2707 | 78 |
1184 | 79 char *vo_subdevice = NULL; |
5431
013458752947
disabling direct rendering by default (too buggy and conflicts with osd/sub)
arpi
parents:
5296
diff
changeset
|
80 int vo_directrendering=0; |
6781 | 81 |
10988 | 82 int vo_colorkey = 0x0000ff00; // default colorkey is green |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
83 // (0xff000000 means that colorkey has been disabled) |
10988 | 84 |
29862
fbb1f57a313e
Added -name, -title and -use-filename-title options and implementation in X11 vos
ptt
parents:
29527
diff
changeset
|
85 // name to be used instead of the vo's default |
fbb1f57a313e
Added -name, -title and -use-filename-title options and implementation in X11 vos
ptt
parents:
29527
diff
changeset
|
86 char *vo_winname; |
fbb1f57a313e
Added -name, -title and -use-filename-title options and implementation in X11 vos
ptt
parents:
29527
diff
changeset
|
87 // title to be applied to movie window |
fbb1f57a313e
Added -name, -title and -use-filename-title options and implementation in X11 vos
ptt
parents:
29527
diff
changeset
|
88 char *vo_wintitle; |
fbb1f57a313e
Added -name, -title and -use-filename-title options and implementation in X11 vos
ptt
parents:
29527
diff
changeset
|
89 |
1 | 90 // |
91 // Externally visible list of all vo drivers | |
92 // | |
30926
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
93 extern const vo_functions_t video_out_mga; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
94 extern const vo_functions_t video_out_xmga; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
95 extern const vo_functions_t video_out_x11; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
96 extern const vo_functions_t video_out_xvmc; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
97 extern const vo_functions_t video_out_vdpau; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
98 extern const vo_functions_t video_out_xv; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
99 extern const vo_functions_t video_out_gl_nosw; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
100 extern const vo_functions_t video_out_gl; |
35015
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
101 extern const vo_functions_t video_out_gl_tiled; |
30926
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
102 extern const vo_functions_t video_out_matrixview; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
103 extern const vo_functions_t video_out_dga; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
104 extern const vo_functions_t video_out_sdl; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
105 extern const vo_functions_t video_out_3dfx; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
106 extern const vo_functions_t video_out_tdfxfb; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
107 extern const vo_functions_t video_out_s3fb; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
108 extern const vo_functions_t video_out_wii; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
109 extern const vo_functions_t video_out_null; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
110 extern const vo_functions_t video_out_zr; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
111 extern const vo_functions_t video_out_zr2; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
112 extern const vo_functions_t video_out_bl; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
113 extern const vo_functions_t video_out_fbdev2; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
114 extern const vo_functions_t video_out_png; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
115 extern const vo_functions_t video_out_ggi; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
116 extern const vo_functions_t video_out_aa; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
117 extern const vo_functions_t video_out_caca; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
118 extern const vo_functions_t video_out_mpegpes; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
119 extern const vo_functions_t video_out_yuv4mpeg; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
120 extern const vo_functions_t video_out_direct3d; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
121 extern const vo_functions_t video_out_directx; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
122 extern const vo_functions_t video_out_kva; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
123 extern const vo_functions_t video_out_dxr2; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
124 extern const vo_functions_t video_out_dxr3; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
125 extern const vo_functions_t video_out_ivtv; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
126 extern const vo_functions_t video_out_v4l2; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
127 extern const vo_functions_t video_out_jpeg; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
128 extern const vo_functions_t video_out_gif89a; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
129 extern const vo_functions_t video_out_directfb; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
130 extern const vo_functions_t video_out_dfbmga; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
131 extern const vo_functions_t video_out_tdfx_vid; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
132 extern const vo_functions_t video_out_xvr100; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
133 extern const vo_functions_t video_out_tga; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
134 extern const vo_functions_t video_out_corevideo; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
135 extern const vo_functions_t video_out_quartz; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
136 extern const vo_functions_t video_out_pnm; |
aff8622cf8a8
Add const to some video_out extern declarations to match their definitions.
reimar
parents:
30719
diff
changeset
|
137 extern const vo_functions_t video_out_md5sum; |
33389 | 138 extern const vo_functions_t video_out_mng; |
4124 | 139 |
32229
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
140 /* The following declarations are _not_ const because functions pointers |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
141 * get overloaded during (re)initialization. */ |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
142 extern vo_functions_t video_out_cvidix; |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
143 extern vo_functions_t video_out_fbdev; |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
144 extern vo_functions_t video_out_svga; |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
145 extern vo_functions_t video_out_vesa; |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
146 extern vo_functions_t video_out_winvidix; |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
147 extern vo_functions_t video_out_xover; |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
148 extern vo_functions_t video_out_xvidix; |
e7cd36fc291e
Do not falsely declare some vo_functions_t declarations as const.
diego
parents:
32201
diff
changeset
|
149 |
25219
e82ecde2cbd4
Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents:
24270
diff
changeset
|
150 const vo_functions_t* const video_out_drivers[] = |
1 | 151 { |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
152 #ifdef CONFIG_XVR100 |
23984
73c9e15e7341
add XVR-100 vo, patch by Balatoni Denes (dbalatoni interware hu)
reimar
parents:
23905
diff
changeset
|
153 &video_out_xvr100, |
73c9e15e7341
add XVR-100 vo, patch by Balatoni Denes (dbalatoni interware hu)
reimar
parents:
23905
diff
changeset
|
154 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
155 #ifdef CONFIG_TDFX_VID |
9546
8feb4bb5b334
vo tdfx vid, even faster than tdfxfb and that's just the beginning ;)
albeu
parents:
9380
diff
changeset
|
156 &video_out_tdfx_vid, |
8feb4bb5b334
vo tdfx vid, even faster than tdfxfb and that's just the beginning ;)
albeu
parents:
9380
diff
changeset
|
157 #endif |
27922
ea21f6e033ec
100l, the video_out_drivers list must be sorted by priority, not
reimar
parents:
27921
diff
changeset
|
158 #ifdef CONFIG_DIRECTX |
ea21f6e033ec
100l, the video_out_drivers list must be sorted by priority, not
reimar
parents:
27921
diff
changeset
|
159 &video_out_directx, |
ea21f6e033ec
100l, the video_out_drivers list must be sorted by priority, not
reimar
parents:
27921
diff
changeset
|
160 #endif |
27921 | 161 #ifdef CONFIG_DIRECT3D |
162 &video_out_direct3d, | |
163 #endif | |
28915
c2baa796c5e5
KVA vo driver for OS/2, patch by KO Myung-Hun, komh chollian net
diego
parents:
28760
diff
changeset
|
164 #ifdef CONFIG_KVA |
c2baa796c5e5
KVA vo driver for OS/2, patch by KO Myung-Hun, komh chollian net
diego
parents:
28760
diff
changeset
|
165 &video_out_kva, |
c2baa796c5e5
KVA vo driver for OS/2, patch by KO Myung-Hun, komh chollian net
diego
parents:
28760
diff
changeset
|
166 #endif |
27388
ac03760f7fcc
Rename all preprocessor directives related to Apple / Mac OS X.
diego
parents:
27385
diff
changeset
|
167 #ifdef CONFIG_COREVIDEO |
29210 | 168 &video_out_corevideo, |
15347
18d404eebb28
do not define video_out_macosx if corevideo is not present
nplourde
parents:
15291
diff
changeset
|
169 #endif |
27388
ac03760f7fcc
Rename all preprocessor directives related to Apple / Mac OS X.
diego
parents:
27385
diff
changeset
|
170 #ifdef CONFIG_QUARTZ |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
171 &video_out_quartz, |
12601 | 172 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
173 #ifdef CONFIG_XMGA |
1 | 174 &video_out_xmga, |
175 #endif | |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
176 #ifdef CONFIG_MGA |
1 | 177 &video_out_mga, |
178 #endif | |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
179 #ifdef CONFIG_TDFXFB |
17069 | 180 &video_out_tdfxfb, |
181 #endif | |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
182 #ifdef CONFIG_S3FB |
18535
8e92dd0ff93a
Add YUY2 and back end scaling on S3 Virge chips in combination with fbdev.
gpoirier
parents:
18237
diff
changeset
|
183 &video_out_s3fb, |
8e92dd0ff93a
Add YUY2 and back end scaling on S3 Virge chips in combination with fbdev.
gpoirier
parents:
18237
diff
changeset
|
184 #endif |
27375 | 185 #ifdef CONFIG_WII |
186 &video_out_wii, | |
187 #endif | |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
188 #ifdef CONFIG_3DFX |
1 | 189 &video_out_3dfx, |
190 #endif | |
29079 | 191 #if CONFIG_VDPAU |
192 &video_out_vdpau, | |
193 #endif | |
28653
9d1869f780c0
100l, place vdpau below xv, it should not normally be preferred for auto-selection (yet).
reimar
parents:
28598
diff
changeset
|
194 #ifdef CONFIG_XV |
9d1869f780c0
100l, place vdpau below xv, it should not normally be preferred for auto-selection (yet).
reimar
parents:
28598
diff
changeset
|
195 &video_out_xv, |
9d1869f780c0
100l, place vdpau below xv, it should not normally be preferred for auto-selection (yet).
reimar
parents:
28598
diff
changeset
|
196 #endif |
30719
6f9652891876
Only prefer -vo gl over -vo x11 if hardware acceleration is available.
reimar
parents:
30702
diff
changeset
|
197 #ifdef CONFIG_X11 |
30699
a8256156fca5
Reorder vos: prioritize -vo gl above -vo x11 and -vo matrixview down with aa, caca etc.
reimar
parents:
30633
diff
changeset
|
198 #ifdef CONFIG_GL |
30719
6f9652891876
Only prefer -vo gl over -vo x11 if hardware acceleration is available.
reimar
parents:
30702
diff
changeset
|
199 &video_out_gl_nosw, |
30699
a8256156fca5
Reorder vos: prioritize -vo gl above -vo x11 and -vo matrixview down with aa, caca etc.
reimar
parents:
30633
diff
changeset
|
200 #endif |
1 | 201 &video_out_x11, |
9569
894d02a6469e
vo_xover is a new vo that should make easy to have x11 support for
albeu
parents:
9546
diff
changeset
|
202 &video_out_xover, |
1 | 203 #endif |
31217 | 204 #ifdef CONFIG_SDL |
205 &video_out_sdl, | |
206 #endif | |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
207 #ifdef CONFIG_GL |
30719
6f9652891876
Only prefer -vo gl over -vo x11 if hardware acceleration is available.
reimar
parents:
30702
diff
changeset
|
208 &video_out_gl, |
34748
f86e300072f0
Small fixes to make it easier to compiler for OpenGL ES
reimar
parents:
33731
diff
changeset
|
209 #endif |
f86e300072f0
Small fixes to make it easier to compiler for OpenGL ES
reimar
parents:
33731
diff
changeset
|
210 #if defined(CONFIG_GL_WIN32) || defined(CONFIG_GL_X11) |
35015
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
211 &video_out_gl_tiled, |
1 | 212 #endif |
27377
d58d06eafe83
Change a bunch of X11-specific preprocessor directives.
diego
parents:
27375
diff
changeset
|
213 #ifdef CONFIG_DGA |
12 | 214 &video_out_dga, |
215 #endif | |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
216 #ifdef CONFIG_GGI |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
217 &video_out_ggi, |
1235 | 218 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
219 #ifdef CONFIG_FBDEV |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
220 &video_out_fbdev, |
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
221 &video_out_fbdev2, |
234 | 222 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
223 #ifdef CONFIG_SVGALIB |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
224 &video_out_svga, |
286 | 225 #endif |
30699
a8256156fca5
Reorder vos: prioritize -vo gl above -vo x11 and -vo matrixview down with aa, caca etc.
reimar
parents:
30633
diff
changeset
|
226 #ifdef CONFIG_MATRIXVIEW |
a8256156fca5
Reorder vos: prioritize -vo gl above -vo x11 and -vo matrixview down with aa, caca etc.
reimar
parents:
30633
diff
changeset
|
227 &video_out_matrixview, |
a8256156fca5
Reorder vos: prioritize -vo gl above -vo x11 and -vo matrixview down with aa, caca etc.
reimar
parents:
30633
diff
changeset
|
228 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
229 #ifdef CONFIG_AA |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
230 &video_out_aa, |
1511 | 231 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
232 #ifdef CONFIG_CACA |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
233 &video_out_caca, |
12129 | 234 #endif |
27370
14c5017f40d2
Change a bunch of video/audio-output-specific preprocessor directives from
diego
parents:
27365
diff
changeset
|
235 #ifdef CONFIG_DXR2 |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
236 &video_out_dxr2, |
6069
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
237 #endif |
27370
14c5017f40d2
Change a bunch of video/audio-output-specific preprocessor directives from
diego
parents:
27365
diff
changeset
|
238 #ifdef CONFIG_DXR3 |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
239 &video_out_dxr3, |
2645 | 240 #endif |
27370
14c5017f40d2
Change a bunch of video/audio-output-specific preprocessor directives from
diego
parents:
27365
diff
changeset
|
241 #ifdef CONFIG_IVTV |
19137
d9656bb2ae0e
new vo driver for ivtv cards tv-out through internal h/w mpeg decoder
ben
parents:
19082
diff
changeset
|
242 &video_out_ivtv, |
d9656bb2ae0e
new vo driver for ivtv cards tv-out through internal h/w mpeg decoder
ben
parents:
19082
diff
changeset
|
243 #endif |
27370
14c5017f40d2
Change a bunch of video/audio-output-specific preprocessor directives from
diego
parents:
27365
diff
changeset
|
244 #ifdef CONFIG_V4L2_DECODER |
23905
fb63124c7920
v4l2 audio/video outputs for linux 2.6.22+ kernels (outputs formerly known as ivtv)
ben
parents:
23814
diff
changeset
|
245 &video_out_v4l2, |
fb63124c7920
v4l2 audio/video outputs for linux 2.6.22+ kernels (outputs formerly known as ivtv)
ben
parents:
23814
diff
changeset
|
246 #endif |
27370
14c5017f40d2
Change a bunch of video/audio-output-specific preprocessor directives from
diego
parents:
27365
diff
changeset
|
247 #ifdef CONFIG_ZR |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
248 &video_out_zr, |
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
249 &video_out_zr2, |
4214
664984198aef
zr driver (tv-out for DC10/DC10+, iomega buz, LML33...) added - patch by Rik Snel <rsnel@cube.dyndns.org>
arpi
parents:
4169
diff
changeset
|
250 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
251 #ifdef CONFIG_BL |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
252 &video_out_bl, |
7326
ec3e58120e2a
extensible blinkenlights driver, can currently be used for the Arcade http://www.blinkenlights.de/arcade
rik
parents:
7069
diff
changeset
|
253 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
254 #ifdef CONFIG_VESA |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
255 &video_out_vesa, |
2244 | 256 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
257 #ifdef CONFIG_DIRECTFB |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
258 &video_out_directfb, |
8013
bd100a3d486f
Here's a new vo plugin that uses DirectFB. It's meant for Matrox G400
arpi
parents:
7867
diff
changeset
|
259 &video_out_dfbmga, |
bd100a3d486f
Here's a new vo plugin that uses DirectFB. It's meant for Matrox G400
arpi
parents:
7867
diff
changeset
|
260 #endif |
10979
ea4426db0db5
new vidix vo modules for textmode console and windows
faust3
parents:
10880
diff
changeset
|
261 #ifdef CONFIG_VIDIX |
27377
d58d06eafe83
Change a bunch of X11-specific preprocessor directives.
diego
parents:
27375
diff
changeset
|
262 #ifdef CONFIG_X11 |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
263 &video_out_xvidix, |
4124 | 264 #endif |
27727
48c1ae64255b
Replace preprocessor check for WIN32 with checks for __MINGW32__ and __CYGWIN__.
diego
parents:
27388
diff
changeset
|
265 #if defined(__MINGW32__) || defined(__CYGWIN__) |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
266 &video_out_winvidix, |
10979
ea4426db0db5
new vidix vo modules for textmode console and windows
faust3
parents:
10880
diff
changeset
|
267 #endif |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
268 &video_out_cvidix, |
10979
ea4426db0db5
new vidix vo modules for textmode console and windows
faust3
parents:
10880
diff
changeset
|
269 #endif |
13551
2466b2ee99a8
move the file writers after vo_null so they don't get autoselected - following the same logic as in libao2
alex
parents:
13507
diff
changeset
|
270 &video_out_null, |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
271 // should not be auto-selected |
28367
e8bae856d691
Make CONFIG_XVMC a proper FFmpeg-style 0/1 definition.
diego
parents:
28137
diff
changeset
|
272 #if CONFIG_XVMC |
17423
076ab46c63bd
prevent xvmc from been loaded before xv, and generally before any autoprobed output
iive
parents:
17069
diff
changeset
|
273 &video_out_xvmc, |
076ab46c63bd
prevent xvmc from been loaded before xv, and generally before any autoprobed output
iive
parents:
17069
diff
changeset
|
274 #endif |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
275 &video_out_mpegpes, |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
276 #ifdef CONFIG_YUV4MPEG |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
277 &video_out_yuv4mpeg, |
27071 | 278 #endif |
32142
4614728cab25
build system: Merge all FFmpeg library checks into a single FFmpeg check.
diego
parents:
32133
diff
changeset
|
279 #ifdef CONFIG_FFMPEG |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
280 &video_out_png, |
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
281 #endif |
27385
2113bd9c6bd9
Rename preprocessor directives related to image libraries.
diego
parents:
27377
diff
changeset
|
282 #ifdef CONFIG_JPEG |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
283 &video_out_jpeg, |
13551
2466b2ee99a8
move the file writers after vo_null so they don't get autoselected - following the same logic as in libao2
alex
parents:
13507
diff
changeset
|
284 #endif |
27385
2113bd9c6bd9
Rename preprocessor directives related to image libraries.
diego
parents:
27377
diff
changeset
|
285 #ifdef CONFIG_GIF |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
286 &video_out_gif89a, |
13551
2466b2ee99a8
move the file writers after vo_null so they don't get autoselected - following the same logic as in libao2
alex
parents:
13507
diff
changeset
|
287 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
288 #ifdef CONFIG_TGA |
10689 | 289 &video_out_tga, |
290 #endif | |
27385
2113bd9c6bd9
Rename preprocessor directives related to image libraries.
diego
parents:
27377
diff
changeset
|
291 #ifdef CONFIG_PNM |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
292 &video_out_pnm, |
13744
d66e3d5865b8
Add --enable and --disable options for vo_pnm and vo_md5sum to configure.
ivo
parents:
13551
diff
changeset
|
293 #endif |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
294 #ifdef CONFIG_MD5SUM |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
295 &video_out_md5sum, |
13744
d66e3d5865b8
Add --enable and --disable options for vo_pnm and vo_md5sum to configure.
ivo
parents:
13551
diff
changeset
|
296 #endif |
33389 | 297 #ifdef CONFIG_MNG |
298 &video_out_mng, | |
299 #endif | |
1 | 300 NULL |
301 }; | |
6069
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
302 |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
17423
diff
changeset
|
303 void list_video_out(void){ |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
304 int i=0; |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
305 mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_AvailableVideoOutputDrivers); |
18237
4231482179b6
Get ride of the several if(identify) messy lines and rearangment of some of the output, both patches by Kiriuja mplayer-patches AT en-directo_net, his changes are barely unrelated, nevertheless Im commiting them thogeter just for the sake of my mental healt, I had both patches already applied on my local three
reynaldo
parents:
18234
diff
changeset
|
306 mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_OUTPUTS\n"); |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
307 while (video_out_drivers[i]) { |
8148
5b39e79af5fe
removed get_info, using the same sheme as in libmpcodecs instead
alex
parents:
8013
diff
changeset
|
308 const vo_info_t *info = video_out_drivers[i++]->info; |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
309 mp_msg(MSGT_GLOBAL, MSGL_INFO,"\t%s\t%s\n", info->short_name, info->name); |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
310 } |
18234
a107276371a8
Part 5 and final of otvos attila's oattila AT chello-hu mp_msg changes, with lots of corrections
reynaldo
parents:
18116
diff
changeset
|
311 mp_msg(MSGT_GLOBAL, MSGL_INFO,"\n"); |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
312 } |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
313 |
25219
e82ecde2cbd4
Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents:
24270
diff
changeset
|
314 const vo_functions_t* init_best_video_out(char** vo_list){ |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
315 int i; |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
316 // first try the preferred drivers, with their optional subdevice param: |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
317 if(vo_list && vo_list[0]) |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
318 while(vo_list[0][0]){ |
35015
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
319 char* buffer=strdup(vo_list[0]); |
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
320 char *vo = buffer; |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
321 vo_subdevice=strchr(vo,':'); |
35014
df3b195a810d
Fix detection of -vo pgm/md5 even when suboptions are used.
reimar
parents:
34748
diff
changeset
|
322 if(vo_subdevice){ |
df3b195a810d
Fix detection of -vo pgm/md5 even when suboptions are used.
reimar
parents:
34748
diff
changeset
|
323 vo_subdevice[0]=0; |
df3b195a810d
Fix detection of -vo pgm/md5 even when suboptions are used.
reimar
parents:
34748
diff
changeset
|
324 ++vo_subdevice; |
df3b195a810d
Fix detection of -vo pgm/md5 even when suboptions are used.
reimar
parents:
34748
diff
changeset
|
325 } |
13507
ced94062bbed
Removal of vo_pgm and vo_md5, because they have been replaced by vo_pnm
ivo
parents:
13398
diff
changeset
|
326 if (!strcmp(vo, "pgm")) |
ced94062bbed
Removal of vo_pgm and vo_md5, because they have been replaced by vo_pnm
ivo
parents:
13398
diff
changeset
|
327 mp_msg(MSGT_CPLAYER, MSGL_ERR, MSGTR_VO_PGM_HasBeenReplaced); |
ced94062bbed
Removal of vo_pgm and vo_md5, because they have been replaced by vo_pnm
ivo
parents:
13398
diff
changeset
|
328 if (!strcmp(vo, "md5")) |
ced94062bbed
Removal of vo_pgm and vo_md5, because they have been replaced by vo_pnm
ivo
parents:
13398
diff
changeset
|
329 mp_msg(MSGT_CPLAYER, MSGL_ERR, MSGTR_VO_MD5_HasBeenReplaced); |
35015
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
330 if (!strcmp(vo, "gl2")) { |
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
331 mp_msg(MSGT_CPLAYER, MSGL_ERR, MSGTR_VO_GL2_HasBeenRenamed); |
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
332 vo = "gl_tiled"; |
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
333 } |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
334 for(i=0;video_out_drivers[i];i++){ |
25219
e82ecde2cbd4
Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents:
24270
diff
changeset
|
335 const vo_functions_t* video_driver=video_out_drivers[i]; |
8148
5b39e79af5fe
removed get_info, using the same sheme as in libmpcodecs instead
alex
parents:
8013
diff
changeset
|
336 const vo_info_t *info = video_driver->info; |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
337 if(!strcmp(info->short_name,vo)){ |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
338 // name matches, try it |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
339 if(!video_driver->preinit(vo_subdevice)) |
10220 | 340 { |
35015
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
341 free(buffer); |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
342 return video_driver; // success! |
10220 | 343 } |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
344 } |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
345 } |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
346 // continue... |
35015
906125680c06
Rename -vo gl2 to gl_tiled which hopefully is less misleading, since
reimar
parents:
35014
diff
changeset
|
347 free(buffer); |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
348 ++vo_list; |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
349 if(!(vo_list[0])) return NULL; // do NOT fallback to others |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
350 } |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
351 // now try the rest... |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
352 vo_subdevice=NULL; |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
353 for(i=0;video_out_drivers[i];i++){ |
25219
e82ecde2cbd4
Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents:
24270
diff
changeset
|
354 const vo_functions_t* video_driver=video_out_drivers[i]; |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
355 if(!video_driver->preinit(vo_subdevice)) |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
356 return video_driver; // success! |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
357 } |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
358 return NULL; |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
359 } |
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
360 |
25219
e82ecde2cbd4
Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents:
24270
diff
changeset
|
361 int config_video_out(const vo_functions_t *vo, uint32_t width, uint32_t height, |
22232 | 362 uint32_t d_width, uint32_t d_height, uint32_t flags, |
363 char *title, uint32_t format) { | |
364 panscan_init(); | |
365 aspect_save_orig(width,height); | |
366 aspect_save_prescale(d_width,d_height); | |
367 | |
22324
475c60dcd459
10, checked for the wrong thing. Do aspect scaling only in config_video_out
reimar
parents:
22249
diff
changeset
|
368 if (vo->control(VOCTRL_UPDATE_SCREENINFO, NULL) == VO_TRUE) { |
31313 | 369 aspect(&d_width,&d_height,A_NOZOOM); |
370 vo_dx = (int)(vo_screenwidth - d_width) / 2; | |
371 vo_dy = (int)(vo_screenheight - d_height) / 2; | |
372 geometry(&vo_dx, &vo_dy, &d_width, &d_height, | |
373 vo_screenwidth, vo_screenheight); | |
374 geometry_xy_changed |= xinerama_screen >= 0; | |
375 vo_dx += xinerama_x; | |
376 vo_dy += xinerama_y; | |
377 vo_dwidth = d_width; | |
378 vo_dheight = d_height; | |
31315
ad274a5b093b
For vos that support the new libvo API (provide UPDATE_SCREENINFO),
reimar
parents:
31313
diff
changeset
|
379 #ifdef CONFIG_GUI |
ad274a5b093b
For vos that support the new libvo API (provide UPDATE_SCREENINFO),
reimar
parents:
31313
diff
changeset
|
380 if (use_gui) { |
ad274a5b093b
For vos that support the new libvo API (provide UPDATE_SCREENINFO),
reimar
parents:
31313
diff
changeset
|
381 // GUI creates and manages window for us |
33731
81f71d910333
Cosmetic: Change prefix for symbolic constants from GMP to GUI.
ib
parents:
33725
diff
changeset
|
382 gui(GUI_SETUP_VIDEO_WINDOW, 0); |
31315
ad274a5b093b
For vos that support the new libvo API (provide UPDATE_SCREENINFO),
reimar
parents:
31313
diff
changeset
|
383 } |
ad274a5b093b
For vos that support the new libvo API (provide UPDATE_SCREENINFO),
reimar
parents:
31313
diff
changeset
|
384 #endif |
22249
3000f296fecc
Fix 10 in r22250, do not use screendimensions if not set
reimar
parents:
22246
diff
changeset
|
385 } |
22232 | 386 |
22246 | 387 return vo->config(width, height, d_width, d_height, flags, title, format); |
22232 | 388 } |
7562
92188b57a062
video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents:
7539
diff
changeset
|
389 |
28137
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
390 /** |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
391 * \brief lookup an integer in a table, table must have 0 as the last key |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
392 * \param key key to search for |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
393 * \result translation corresponding to key or "to" value of last mapping |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
394 * if not found. |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
395 */ |
31017 | 396 int lookup_keymap_table(const struct mp_keymap *map, int key) { |
28137
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
397 while (map->from && map->from != key) map++; |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
398 return map->to; |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
399 } |
28bf0d126da2
Add and use a special lookup function to do table-based translation to MPlayer keycodes.
reimar
parents:
28136
diff
changeset
|
400 |
28511
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
401 /** |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
402 * \brief helper function for the kind of panscan-scaling that needs a source |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
403 * and destination rectangle like Direct3D and VDPAU |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
404 */ |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
405 static void src_dst_split_scaling(int src_size, int dst_size, int scaled_src_size, |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
406 int *src_start, int *src_end, int *dst_start, int *dst_end) { |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
407 if (scaled_src_size > dst_size) { |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
408 int border = src_size * (scaled_src_size - dst_size) / scaled_src_size; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
409 // round to a multiple of 2, this is at least needed for vo_direct3d and ATI cards |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
410 border = (border / 2 + 1) & ~1; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
411 *src_start = border; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
412 *src_end = src_size - border; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
413 *dst_start = 0; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
414 *dst_end = dst_size; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
415 } else { |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
416 *src_start = 0; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
417 *src_end = src_size; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
418 *dst_start = (dst_size - scaled_src_size) / 2; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
419 *dst_end = *dst_start + scaled_src_size; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
420 } |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
421 } |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
422 |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
423 /** |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
424 * Calculate the appropriate source and destination rectangle to |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
425 * get a correctly scaled picture, including pan-scan. |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
426 * Can be extended to take future cropping support into account. |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
427 * |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
428 * \param crop specifies the cropping border size in the left, right, top and bottom members, may be NULL |
28598
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
429 * \param borders the border values as e.g. EOSD (ASS) and properly placed DVD highlight support requires, |
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
430 * may be NULL and only left and top are currently valid. |
28511
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
431 */ |
28598
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
432 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:
28591
diff
changeset
|
433 struct vo_rect *borders, const struct vo_rect *crop) { |
28511
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
434 static const struct vo_rect no_crop = {0, 0, 0, 0, 0, 0}; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
435 int scaled_width = 0; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
436 int scaled_height = 0; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
437 if (!crop) crop = &no_crop; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
438 src_width -= crop->left + crop->right; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
439 src_height -= crop->top + crop->bottom; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
440 if (src_width < 2) src_width = 2; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
441 if (src_height < 2) src_height = 2; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
442 dst->left = 0; dst->right = vo_dwidth; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
443 dst->top = 0; dst->bottom = vo_dheight; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
444 src->left = 0; src->right = src_width; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
445 src->top = 0; src->bottom = src_height; |
28598
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
446 if (borders) { |
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
447 borders->left = 0; borders->top = 0; |
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
448 } |
29527
9ea49bcf3abc
Enable calc_src_dst_rects for windowed aspect and panscan.
reimar
parents:
29210
diff
changeset
|
449 if (aspect_scaling()) { |
9ea49bcf3abc
Enable calc_src_dst_rects for windowed aspect and panscan.
reimar
parents:
29210
diff
changeset
|
450 aspect(&scaled_width, &scaled_height, A_WINZOOM); |
9ea49bcf3abc
Enable calc_src_dst_rects for windowed aspect and panscan.
reimar
parents:
29210
diff
changeset
|
451 panscan_calc_windowed(); |
28511
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
452 scaled_width += vo_panscan_x; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
453 scaled_height += vo_panscan_y; |
28598
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
454 if (borders) { |
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
455 borders->left = (vo_dwidth - scaled_width ) / 2; |
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
456 borders->top = (vo_dheight - scaled_height) / 2; |
4172d83194f2
Extend calc_src_dst_rects to also calculate the border values needed for
reimar
parents:
28591
diff
changeset
|
457 } |
28511
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
458 src_dst_split_scaling(src_width, vo_dwidth, scaled_width, |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
459 &src->left, &src->right, &dst->left, &dst->right); |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
460 src_dst_split_scaling(src_height, vo_dheight, scaled_height, |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
461 &src->top, &src->bottom, &dst->top, &dst->bottom); |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
462 } |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
463 src->left += crop->left; src->right += crop->left; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
464 src->top += crop->top; src->bottom += crop->top; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
465 src->width = src->right - src->left; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
466 src->height = src->bottom - src->top; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
467 dst->width = dst->right - dst->left; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
468 dst->height = dst->bottom - dst->top; |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
469 } |
db19e31a2c7c
Add a calc_src_dst_rects that calculates from window size, panscan etc.
reimar
parents:
28446
diff
changeset
|
470 |
31049
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
471 /** |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
472 * Generates a mouse movement message if those are enable and sends it |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
473 * to the "main" MPlayer. |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
474 * |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
475 * \param posx new x position of mouse |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
476 * \param posy new y position of mouse |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
477 */ |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
478 void vo_mouse_movement(int posx, int posy) { |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
479 char cmd_str[40]; |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
480 if (!enable_mouse_movements) |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
481 return; |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
482 snprintf(cmd_str, sizeof(cmd_str), "set_mouse_pos %i %i", posx, posy); |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
483 mp_input_queue_cmd(mp_input_parse_cmd(cmd_str)); |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
484 } |
b40e41324173
Avoid duplicating mouse-movement command-generation code.
reimar
parents:
31017
diff
changeset
|
485 |
27365
13c920fdf7f5
Change a bunch of video-output-specific preprocessor directives from a HAVE_
diego
parents:
27071
diff
changeset
|
486 #if defined(CONFIG_FBDEV) || defined(CONFIG_VESA) |
28136
a805c65b7665
Cosmetics: get rid of some tabs and trailing whitespace.
reimar
parents:
28119
diff
changeset
|
487 /* Borrowed from vo_fbdev.c |
7069 | 488 Monitor ranges related functions*/ |
489 | |
490 char *monitor_hfreq_str = NULL; | |
491 char *monitor_vfreq_str = NULL; | |
492 char *monitor_dotclock_str = NULL; | |
493 | |
494 float range_max(range_t *r) | |
495 { | |
496 float max = 0; | |
497 | |
498 for (/* NOTHING */; (r->min != -1 && r->max != -1); r++) | |
499 if (max < r->max) max = r->max; | |
500 return max; | |
501 } | |
502 | |
503 | |
504 int in_range(range_t *r, float f) | |
505 { | |
506 for (/* NOTHING */; (r->min != -1 && r->max != -1); r++) | |
507 if (f >= r->min && f <= r->max) | |
508 return 1; | |
509 return 0; | |
510 } | |
511 | |
512 range_t *str2range(char *s) | |
513 { | |
514 float tmp_min, tmp_max; | |
515 char *endptr = s; // to start the loop | |
516 range_t *r = NULL; | |
517 int i; | |
518 | |
519 if (!s) | |
520 return NULL; | |
521 for (i = 0; *endptr; i++) { | |
522 if (*s == ',') | |
523 goto out_err; | |
30702 | 524 if (!(r = realloc(r, sizeof(*r) * (i + 2)))) { |
18234
a107276371a8
Part 5 and final of otvos attila's oattila AT chello-hu mp_msg changes, with lots of corrections
reynaldo
parents:
18116
diff
changeset
|
525 mp_msg(MSGT_GLOBAL, MSGL_WARN,"can't realloc 'r'\n"); |
7069 | 526 return NULL; |
527 } | |
528 tmp_min = strtod(s, &endptr); | |
529 if (*endptr == 'k' || *endptr == 'K') { | |
530 tmp_min *= 1000.0; | |
531 endptr++; | |
532 } else if (*endptr == 'm' || *endptr == 'M') { | |
533 tmp_min *= 1000000.0; | |
534 endptr++; | |
535 } | |
536 if (*endptr == '-') { | |
537 tmp_max = strtod(endptr + 1, &endptr); | |
538 if (*endptr == 'k' || *endptr == 'K') { | |
539 tmp_max *= 1000.0; | |
540 endptr++; | |
541 } else if (*endptr == 'm' || *endptr == 'M') { | |
542 tmp_max *= 1000000.0; | |
543 endptr++; | |
544 } | |
545 if (*endptr != ',' && *endptr) | |
546 goto out_err; | |
547 } else if (*endptr == ',' || !*endptr) { | |
548 tmp_max = tmp_min; | |
549 } else | |
550 goto out_err; | |
551 r[i].min = tmp_min; | |
552 r[i].max = tmp_max; | |
553 if (r[i].min < 0 || r[i].max < 0) | |
554 goto out_err; | |
555 s = endptr + 1; | |
556 } | |
557 r[i].min = r[i].max = -1; | |
558 return r; | |
559 out_err: | |
32537
8fa2f43cb760
Remove most of the NULL pointer check before free all over the code
cboesch
parents:
32229
diff
changeset
|
560 free(r); |
7069 | 561 return NULL; |
562 } | |
563 | |
564 /* Borrowed from vo_fbdev.c END */ | |
565 #endif |