Mercurial > mplayer.hg
annotate libvo/video_out.c @ 6683:6a2c24ce2d9e
10l, evidently killed some lines and missed it when doing cvs diff.
author | atmos4 |
---|---|
date | Tue, 09 Jul 2002 19:40:54 +0000 |
parents | ee65527096c2 |
children | a31b9f15cbff |
rev | line source |
---|---|
1 | 1 /* |
2 * video_out.c, | |
3 * | |
4 * Copyright (C) Aaron Holtzman - June 2000 | |
5 * | |
6 * mpeg2dec is free software; you can redistribute it and/or modify | |
7 * it under the terms of the GNU General Public License as published by | |
8 * the Free Software Foundation; either version 2, or (at your option) | |
9 * any later version. | |
10 * | |
11 * mpeg2dec is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with GNU Make; see the file COPYING. If not, write to | |
18 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
19 * | |
20 */ | |
21 | |
22 #include <stdio.h> | |
23 #include <stdlib.h> | |
24 #include <string.h> | |
25 | |
26 #include <unistd.h> | |
5296 | 27 //#include <sys/mman.h> |
1 | 28 |
29 #include "config.h" | |
30 #include "video_out.h" | |
31 | |
32 #include "../linux/shmem.h" | |
33 | |
5074 | 34 //int vo_flags=0; |
4736 | 35 |
388 | 36 // currect resolution/bpp on screen: (should be autodetected by vo_init()) |
37 int vo_depthonscreen=0; | |
38 int vo_screenwidth=0; | |
39 int vo_screenheight=0; | |
40 | |
5511 | 41 int vo_config_count=0; |
42 | |
388 | 43 // 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
|
44 int vo_dx=0; |
38a9cddd9e4d
added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents:
4736
diff
changeset
|
45 int vo_dy=0; |
388 | 46 int vo_dwidth=0; |
47 int vo_dheight=0; | |
48 int vo_dbpp=0; | |
4981 | 49 |
50 int vo_old_x = 0; | |
51 int vo_old_y = 0; | |
52 int vo_old_width = 0; | |
53 int vo_old_height = 0; | |
54 | |
1149
6a0f937b52e6
- new config option -lircconfig (config file for lirc)
acki2
parents:
1130
diff
changeset
|
55 int vo_doublebuffering = 0; |
4667 | 56 int vo_vsync = 0; |
4981 | 57 int vo_fs = 0; |
1269 | 58 int vo_fsmode = 0; |
6304
ee65527096c2
pan&scan support with -vo xv by ?? <mplayer@svennevid.net>
arpi
parents:
6069
diff
changeset
|
59 float vo_panscan = 0.0f; |
388 | 60 |
2707 | 61 int vo_pts=0; // for hw decoding |
3201 | 62 float vo_fps=0; // for mp1e rte |
2707 | 63 |
1184 | 64 char *vo_subdevice = NULL; |
5431
013458752947
disabling direct rendering by default (too buggy and conflicts with osd/sub)
arpi
parents:
5296
diff
changeset
|
65 int vo_directrendering=0; |
4229 | 66 /**************************************** |
67 * GAMMA CORRECTION * | |
68 ****************************************/ | |
69 int vo_gamma_brightness=0; | |
70 int vo_gamma_saturation=0; | |
71 int vo_gamma_contrast=0; | |
72 int vo_gamma_hue=0; | |
4317 | 73 int vo_gamma_red_intensity=0; |
74 int vo_gamma_green_intensity=0; | |
75 int vo_gamma_blue_intensity=0; | |
1 | 76 // |
77 // Externally visible list of all vo drivers | |
78 // | |
79 extern vo_functions_t video_out_mga; | |
80 extern vo_functions_t video_out_xmga; | |
81 extern vo_functions_t video_out_x11; | |
82 extern vo_functions_t video_out_xv; | |
83 extern vo_functions_t video_out_gl; | |
2124 | 84 extern vo_functions_t video_out_gl2; |
12 | 85 extern vo_functions_t video_out_dga; |
38 | 86 extern vo_functions_t video_out_fsdga; |
1 | 87 extern vo_functions_t video_out_sdl; |
88 extern vo_functions_t video_out_3dfx; | |
1979
6278f566cd91
tdfxfb yuv driver by Zeljko Stevanovic <zsteva@ptt.yu>
arpi
parents:
1871
diff
changeset
|
89 extern vo_functions_t video_out_tdfxfb; |
1 | 90 extern vo_functions_t video_out_null; |
2528 | 91 //extern vo_functions_t video_out_odivx; |
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
|
92 extern vo_functions_t video_out_zr; |
1 | 93 extern vo_functions_t video_out_pgm; |
94 extern vo_functions_t video_out_md5; | |
95 extern vo_functions_t video_out_syncfb; | |
225 | 96 extern vo_functions_t video_out_fbdev; |
286 | 97 extern vo_functions_t video_out_svga; |
528 | 98 extern vo_functions_t video_out_png; |
1130 | 99 extern vo_functions_t video_out_ggi; |
1511 | 100 extern vo_functions_t video_out_aa; |
1871 | 101 extern vo_functions_t video_out_mpegpes; |
4599 | 102 extern vo_functions_t video_out_yuv4mpeg; |
6069
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
103 #ifdef HAVE_DXR2 |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
104 extern vo_functions_t video_out_dxr2; |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
105 #endif |
2645 | 106 extern vo_functions_t video_out_dxr3; |
5648 | 107 #ifdef HAVE_JPEG |
108 extern vo_functions_t video_out_jpeg; | |
109 #endif | |
6053 | 110 #ifdef HAVE_GIF |
111 extern vo_functions_t video_out_gif89a; | |
112 #endif | |
4561 | 113 #ifdef HAVE_VESA |
2244 | 114 extern vo_functions_t video_out_vesa; |
115 #endif | |
3275
38344371432f
vo DirectFB support by Jiri Svoboda <Jiri.Svoboda@seznam.cz>
arpi
parents:
3201
diff
changeset
|
116 extern vo_functions_t video_out_directfb; |
4124 | 117 #ifdef CONFIG_VIDIX |
118 extern vo_functions_t video_out_xvidix; | |
119 #endif | |
120 | |
1 | 121 vo_functions_t* video_out_drivers[] = |
122 { | |
1179 | 123 #ifdef HAVE_XMGA |
1 | 124 &video_out_xmga, |
125 #endif | |
1179 | 126 #ifdef HAVE_MGA |
1 | 127 &video_out_mga, |
128 #endif | |
129 #ifdef HAVE_SYNCFB | |
130 &video_out_syncfb, | |
131 #endif | |
132 #ifdef HAVE_3DFX | |
133 &video_out_3dfx, | |
134 #endif | |
1979
6278f566cd91
tdfxfb yuv driver by Zeljko Stevanovic <zsteva@ptt.yu>
arpi
parents:
1871
diff
changeset
|
135 #ifdef HAVE_TDFXFB |
6278f566cd91
tdfxfb yuv driver by Zeljko Stevanovic <zsteva@ptt.yu>
arpi
parents:
1871
diff
changeset
|
136 &video_out_tdfxfb, |
6278f566cd91
tdfxfb yuv driver by Zeljko Stevanovic <zsteva@ptt.yu>
arpi
parents:
1871
diff
changeset
|
137 #endif |
1 | 138 #ifdef HAVE_XV |
139 &video_out_xv, | |
140 #endif | |
141 #ifdef HAVE_X11 | |
142 &video_out_x11, | |
143 #endif | |
144 #ifdef HAVE_GL | |
145 &video_out_gl, | |
2124 | 146 &video_out_gl2, |
1 | 147 #endif |
12 | 148 #ifdef HAVE_DGA |
149 &video_out_dga, | |
1235 | 150 // &video_out_fsdga, |
12 | 151 #endif |
1 | 152 #ifdef HAVE_SDL |
153 &video_out_sdl, | |
154 #endif | |
1235 | 155 #ifdef HAVE_GGI |
156 &video_out_ggi, | |
157 #endif | |
234 | 158 #ifdef HAVE_FBDEV |
159 &video_out_fbdev, | |
160 #endif | |
286 | 161 #ifdef HAVE_SVGALIB |
162 &video_out_svga, | |
163 #endif | |
1511 | 164 #ifdef HAVE_AA |
165 &video_out_aa, | |
166 #endif | |
6069
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
167 #ifdef HAVE_DXR2 |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
168 &video_out_dxr2, |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
169 #endif |
2645 | 170 #ifdef HAVE_DXR3 |
171 &video_out_dxr3, | |
172 #endif | |
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
|
173 #ifdef HAVE_ZR |
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
|
174 &video_out_zr, |
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
|
175 #endif |
1511 | 176 |
529 | 177 #ifdef HAVE_PNG |
178 &video_out_png, | |
179 #endif | |
5648 | 180 #ifdef HAVE_JPEG |
181 &video_out_jpeg, | |
182 #endif | |
6053 | 183 #ifdef HAVE_GIF |
184 &video_out_gif89a, | |
185 #endif | |
1 | 186 &video_out_null, |
2528 | 187 // &video_out_odivx, |
1 | 188 &video_out_pgm, |
189 &video_out_md5, | |
1871 | 190 &video_out_mpegpes, |
4599 | 191 &video_out_yuv4mpeg, |
4561 | 192 #ifdef HAVE_VESA |
2244 | 193 &video_out_vesa, |
194 #endif | |
3275
38344371432f
vo DirectFB support by Jiri Svoboda <Jiri.Svoboda@seznam.cz>
arpi
parents:
3201
diff
changeset
|
195 #ifdef HAVE_DIRECTFB |
38344371432f
vo DirectFB support by Jiri Svoboda <Jiri.Svoboda@seznam.cz>
arpi
parents:
3201
diff
changeset
|
196 &video_out_directfb, |
38344371432f
vo DirectFB support by Jiri Svoboda <Jiri.Svoboda@seznam.cz>
arpi
parents:
3201
diff
changeset
|
197 #endif |
4169
91b50468a1a4
Fix xvidix for non-x11 systems (delayed due netloss)
atmos4
parents:
4124
diff
changeset
|
198 #if defined(CONFIG_VIDIX) && defined(HAVE_X11) |
4124 | 199 &video_out_xvidix, |
200 #endif | |
1 | 201 NULL |
202 }; | |
6069
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
203 |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
204 #ifdef HAVE_DXR2 |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
205 extern void vo_dxr2_register_options(void*); |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
206 #endif |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
207 |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
208 void libvo_register_options(void* cfg) { |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
209 #ifdef HAVE_DXR2 |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
210 vo_dxr2_register_options(cfg); |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
211 #endif |
8e88e92fe331
Initial support for dxr2. Based on patch from Tobias Diedrich <ranma@gmx.at>.
albeu
parents:
6053
diff
changeset
|
212 } |