annotate libvo/video_out.h @ 28063:a318969a4f45

Set the base size window manager hint, otherwise some subtract the minimum size of 4x4 from the numbers displayed to the user which might be confusing. Based on patch by Bert Wesarg [bert wesarg googlemail com].
author reimar
date Fri, 05 Dec 2008 19:01:49 +0000
parents 9e739bdb049c
children 28bf0d126da2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
2 * video_out.h
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 * Copyright (C) Aaron Holtzman - Aug 1999
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
5 * Strongly modified, most parts rewritten: A'rpi/ESP-team - 2000-2001
6781
924263b4df10 eq reworked
alex
parents: 6755
diff changeset
6 * (C) MPlayer Developers
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8 */
4933
429994672d8c 're-include' possibility
nick
parents: 4811
diff changeset
9
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25595
diff changeset
10 #ifndef MPLAYER_VIDEO_OUT_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25595
diff changeset
11 #define MPLAYER_VIDEO_OUT_H
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 #include <inttypes.h>
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
14 #include <stdarg.h>
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15
5294
4e64fca268e9 moved font_laod.h
arpi
parents: 5002
diff changeset
16 //#include "font_load.h"
19431
ac69ba536915 Explicitly include libmpcodecs/img_format.h and libvo/fastmemcpy.h.
diego
parents: 19108
diff changeset
17 #include "libmpcodecs/img_format.h"
13787
e047e70a9767 Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents: 13091
diff changeset
18 //#include "vidix/vidix.h"
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
20 #define VO_EVENT_EXPOSE 1
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
21 #define VO_EVENT_RESIZE 2
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
22 #define VO_EVENT_KEYPRESS 4
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
23
7124
eca7dbad0166 finally removed query_vaa, bes_da and vo_tune_info - the obsoleted libvo api
alex
parents: 7069
diff changeset
24 /* Obsolete: VOCTRL_QUERY_VAA 1 */
6781
924263b4df10 eq reworked
alex
parents: 6755
diff changeset
25 /* does the device support the required format */
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
26 #define VOCTRL_QUERY_FORMAT 2
4754
ad892563d9c4 Added VOCTRL_PAUSE and VOCTRL_RESUME
mswitch
parents: 4738
diff changeset
27 /* signal a device reset seek */
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
28 #define VOCTRL_RESET 3
4618
09198a119e39 added voctrl_guisupport and fixed some typos
alex
parents: 4592
diff changeset
29 /* true if vo driver can use GUI created windows */
09198a119e39 added voctrl_guisupport and fixed some typos
alex
parents: 4592
diff changeset
30 #define VOCTRL_GUISUPPORT 4
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6781
diff changeset
31 #define VOCTRL_GUI_NOWINDOW 19
4731
c8125c117807 added VOCTRL_FULLSCREEN
alex
parents: 4667
diff changeset
32 /* used to switch to fullscreen */
c8125c117807 added VOCTRL_FULLSCREEN
alex
parents: 4667
diff changeset
33 #define VOCTRL_FULLSCREEN 5
4754
ad892563d9c4 Added VOCTRL_PAUSE and VOCTRL_RESUME
mswitch
parents: 4738
diff changeset
34 /* signal a device pause */
ad892563d9c4 Added VOCTRL_PAUSE and VOCTRL_RESUME
mswitch
parents: 4738
diff changeset
35 #define VOCTRL_PAUSE 7
ad892563d9c4 Added VOCTRL_PAUSE and VOCTRL_RESUME
mswitch
parents: 4738
diff changeset
36 /* start/resume playback */
ad892563d9c4 Added VOCTRL_PAUSE and VOCTRL_RESUME
mswitch
parents: 4738
diff changeset
37 #define VOCTRL_RESUME 8
4971
fa002f25631e direct rendering support
arpi
parents: 4933
diff changeset
38 /* libmpcodecs direct rendering: */
fa002f25631e direct rendering support
arpi
parents: 4933
diff changeset
39 #define VOCTRL_GET_IMAGE 9
5502
9cecf4b10a4b VOCTRL_DRAW_IMAGE added
arpi
parents: 5431
diff changeset
40 #define VOCTRL_DRAW_IMAGE 13
6110
7bea806b9c5f Improvment for spu subtitles.
albeu
parents: 5651
diff changeset
41 #define VOCTRL_SET_SPU_PALETTE 14
5002
70751bbd6404 voctls for decoding ahead
nick
parents: 4981
diff changeset
42 /* decoding ahead: */
70751bbd6404 voctls for decoding ahead
nick
parents: 4981
diff changeset
43 #define VOCTRL_GET_NUM_FRAMES 10
70751bbd6404 voctls for decoding ahead
nick
parents: 4981
diff changeset
44 #define VOCTRL_GET_FRAME_NUM 11
70751bbd6404 voctls for decoding ahead
nick
parents: 4981
diff changeset
45 #define VOCTRL_SET_FRAME_NUM 12
6308
4764574062a0 100l to .so
arpi
parents: 6307
diff changeset
46 #define VOCTRL_GET_PANSCAN 15
4764574062a0 100l to .so
arpi
parents: 6307
diff changeset
47 #define VOCTRL_SET_PANSCAN 16
6781
924263b4df10 eq reworked
alex
parents: 6755
diff changeset
48 /* equalizer controls */
924263b4df10 eq reworked
alex
parents: 6755
diff changeset
49 #define VOCTRL_SET_EQUALIZER 17
924263b4df10 eq reworked
alex
parents: 6755
diff changeset
50 #define VOCTRL_GET_EQUALIZER 18
8450
8cfc9309f0cc notice vo driver about skipped/dropped frames
arpi
parents: 8148
diff changeset
51 //#define VOCTRL_GUI_NOWINDOW 19
8cfc9309f0cc notice vo driver about skipped/dropped frames
arpi
parents: 8148
diff changeset
52 /* Frame duplication */
8cfc9309f0cc notice vo driver about skipped/dropped frames
arpi
parents: 8148
diff changeset
53 #define VOCTRL_DUPLICATE_FRAME 20
8cfc9309f0cc notice vo driver about skipped/dropped frames
arpi
parents: 8148
diff changeset
54 // ... 21
9560
ae2ce6ebc1fa Pass start slice to the vo it make dr + slice implemantation easier
albeu
parents: 8450
diff changeset
55 #define VOCTRL_START_SLICE 21
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6781
diff changeset
56
11542
85e503ddf65f runtime 'stay-on-top' functionality
joey
parents: 10988
diff changeset
57 #define VOCTRL_ONTOP 25
13091
25f51c72eb06 added runtime toggle of root window playback
joey
parents: 12912
diff changeset
58 #define VOCTRL_ROOTWIN 26
16968
e9d849bf8050 add a switch, slave command, and vo control to toggle borderless window.
joey
parents: 16280
diff changeset
59 #define VOCTRL_BORDER 27
19576
3e7ce339d74b Add EOSD support to vf_vo.
eugeni
parents: 19431
diff changeset
60 #define VOCTRL_DRAW_EOSD 28
3e7ce339d74b Add EOSD support to vf_vo.
eugeni
parents: 19431
diff changeset
61 #define VOCTRL_GET_EOSD_RES 29
3e7ce339d74b Add EOSD support to vf_vo.
eugeni
parents: 19431
diff changeset
62 typedef struct {
3e7ce339d74b Add EOSD support to vf_vo.
eugeni
parents: 19431
diff changeset
63 int w, h; // screen dimensions, including black borders
3e7ce339d74b Add EOSD support to vf_vo.
eugeni
parents: 19431
diff changeset
64 int mt, mb, ml, mr; // borders (top, bottom, left, right)
3e7ce339d74b Add EOSD support to vf_vo.
eugeni
parents: 19431
diff changeset
65 } mp_eosd_res_t;
11542
85e503ddf65f runtime 'stay-on-top' functionality
joey
parents: 10988
diff changeset
66
20973
c0bcec5150a3 Add deinterlace property, patch by Carl Eugen Hoyos
reimar
parents: 19576
diff changeset
67 #define VOCTRL_SET_DEINTERLACE 30
c0bcec5150a3 Add deinterlace property, patch by Carl Eugen Hoyos
reimar
parents: 19576
diff changeset
68 #define VOCTRL_GET_DEINTERLACE 31
c0bcec5150a3 Add deinterlace property, patch by Carl Eugen Hoyos
reimar
parents: 19576
diff changeset
69
22232
d0b60d14d8d7 Move common vo initialization code to video_out.c
reimar
parents: 20973
diff changeset
70 #define VOCTRL_UPDATE_SCREENINFO 32
d0b60d14d8d7 Move common vo initialization code to video_out.c
reimar
parents: 20973
diff changeset
71
9569
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
72 // 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
73 #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
74
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
75 #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
76 typedef struct {
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
77 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
78 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
79 } mp_colorkey_t;
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
80
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
81 #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
82 typedef struct {
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
83 int x,y;
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
84 int w,h;
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
85 } mp_win_t;
6307
72c87b2ec779 added panscan support for xmga/xvidix
pontscho
parents: 6304
diff changeset
86
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
87 #define VO_TRUE 1
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
88 #define VO_FALSE 0
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
89 #define VO_ERROR -1
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
90 #define VO_NOTAVAIL -2
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
91 #define VO_NOTIMPL -3
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
92
4736
57f053d75893 added VOFLAG_* definitions and int vo_flags
alex
parents: 4731
diff changeset
93 #define VOFLAG_FULLSCREEN 0x01
57f053d75893 added VOFLAG_* definitions and int vo_flags
alex
parents: 4731
diff changeset
94 #define VOFLAG_MODESWITCHING 0x02
57f053d75893 added VOFLAG_* definitions and int vo_flags
alex
parents: 4731
diff changeset
95 #define VOFLAG_SWSCALE 0x04
57f053d75893 added VOFLAG_* definitions and int vo_flags
alex
parents: 4731
diff changeset
96 #define VOFLAG_FLIPPING 0x08
9569
894d02a6469e vo_xover is a new vo that should make easy to have x11 support for
albeu
parents: 9560
diff changeset
97 #define VOFLAG_XOVERLAY_SUB_VO 0x10000
4736
57f053d75893 added VOFLAG_* definitions and int vo_flags
alex
parents: 4731
diff changeset
98
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99 typedef struct vo_info_s
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101 /* driver name ("Matrox Millennium G200/G400" */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
102 const char *name;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
103 /* short name (for config strings) ("mga") */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
104 const char *short_name;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105 /* author ("Aaron Holtzman <aholtzma@ess.engr.uvic.ca>") */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
106 const char *author;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
107 /* any additional comments */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
108 const char *comment;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
109 } vo_info_t;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
110
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
111 typedef struct vo_functions_s
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
112 {
25216
3aee342be929 Make vo info structs const
reimar
parents: 25215
diff changeset
113 const vo_info_t *info;
4352
ed5b85b713a3 Extensions for video accelerated architecture
nick
parents: 3201
diff changeset
114 /*
ed5b85b713a3 Extensions for video accelerated architecture
nick
parents: 3201
diff changeset
115 * Preinitializes driver (real INITIALIZATION)
ed5b85b713a3 Extensions for video accelerated architecture
nick
parents: 3201
diff changeset
116 * arg - currently it's vo_subdevice
ed5b85b713a3 Extensions for video accelerated architecture
nick
parents: 3201
diff changeset
117 * returns: zero on successful initialization, non-zero on error.
ed5b85b713a3 Extensions for video accelerated architecture
nick
parents: 3201
diff changeset
118 */
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
119 int (*preinit)(const char *arg);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
120 /*
4352
ed5b85b713a3 Extensions for video accelerated architecture
nick
parents: 3201
diff changeset
121 * Initialize (means CONFIGURE) the display driver.
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
122 * params:
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
123 * width,height: image source size
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
124 * d_width,d_height: size of the requested window size, just a hint
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
125 * fullscreen: flag, 0=windowd 1=fullscreen, just a hint
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
126 * title: window title, if available
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
127 * format: fourcc of pixel format
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
128 * returns : zero on successful initialization, non-zero on error.
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
129 */
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
130 int (*config)(uint32_t width, uint32_t height, uint32_t d_width,
4433
df8e0f71cc3c new info for tuning
nick
parents: 4352
diff changeset
131 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
132 uint32_t format);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
133
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
134 /*
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
135 * Control interface
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
136 */
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
137 int (*control)(uint32_t request, void *data, ...);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
138
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
139 /*
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
140 * Display a new RGB/BGR frame of the video to the screen.
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
141 * params:
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
142 * src[0] - pointer to the image
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
143 */
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
144 int (*draw_frame)(uint8_t *src[]);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
145
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
146 /*
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
147 * Draw a planar YUV slice to the buffer:
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
148 * params:
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
149 * src[3] = source image planes (Y,U,V)
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
150 * stride[3] = source image planes line widths (in bytes)
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
151 * w,h = width*height of area to be copied (in Y pixels)
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
152 * x,y = position at the destination image (in Y pixels)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 */
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
154 int (*draw_slice)(uint8_t *src[], int stride[], int w,int h, int x,int y);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
155
1501
d40f2b686846 changes according to -utf8 option, draw_osd() function added
atlka
parents: 1326
diff changeset
156 /*
d40f2b686846 changes according to -utf8 option, draw_osd() function added
atlka
parents: 1326
diff changeset
157 * Draws OSD to the screen buffer
d40f2b686846 changes according to -utf8 option, draw_osd() function added
atlka
parents: 1326
diff changeset
158 */
d40f2b686846 changes according to -utf8 option, draw_osd() function added
atlka
parents: 1326
diff changeset
159 void (*draw_osd)(void);
d40f2b686846 changes according to -utf8 option, draw_osd() function added
atlka
parents: 1326
diff changeset
160
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
161 /*
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
162 * Blit/Flip buffer to the screen. Must be called after each frame!
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
163 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
164 void (*flip_page)(void);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
165
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
166 /*
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
167 * This func is called after every frames to handle keyboard and
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
168 * other events. It's called in PAUSE mode too!
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
169 */
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
170 void (*check_events)(void);
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
171
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
172 /*
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
173 * Closes driver. Should restore the original state of the system.
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
174 */
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
175 void (*uninit)(void);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
176
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
177 } vo_functions_t;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
178
25219
e82ecde2cbd4 Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents: 25216
diff changeset
179 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
180 int config_video_out(const vo_functions_t *vo, uint32_t width, uint32_t height,
22232
d0b60d14d8d7 Move common vo initialization code to video_out.c
reimar
parents: 20973
diff changeset
181 uint32_t d_width, uint32_t d_height, uint32_t flags,
d0b60d14d8d7 Move common vo initialization code to video_out.c
reimar
parents: 20973
diff changeset
182 char *title, uint32_t format);
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 16968
diff changeset
183 void list_video_out(void);
7562
92188b57a062 video out driver list support (like -vc, example: -vo xmga,xv,x11,)
arpi
parents: 7539
diff changeset
184
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
185 // 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
186 extern const vo_functions_t* const video_out_drivers[];
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
187
4811
38a9cddd9e4d added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents: 4754
diff changeset
188 extern int vo_flags;
38a9cddd9e4d added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents: 4754
diff changeset
189
5511
7a24a067f0af vo_config_count now counts calls to vo->config()
arpi
parents: 5502
diff changeset
190 extern int vo_config_count;
7a24a067f0af vo_config_count now counts calls to vo->config()
arpi
parents: 5502
diff changeset
191
18116
d75953576ae4 Fix and improve xinerama support
reimar
parents: 17566
diff changeset
192 extern int xinerama_screen;
d75953576ae4 Fix and improve xinerama support
reimar
parents: 17566
diff changeset
193 extern int xinerama_x;
d75953576ae4 Fix and improve xinerama support
reimar
parents: 17566
diff changeset
194 extern int xinerama_y;
d75953576ae4 Fix and improve xinerama support
reimar
parents: 17566
diff changeset
195
4618
09198a119e39 added voctrl_guisupport and fixed some typos
alex
parents: 4592
diff changeset
196 // correct resolution/bpp on screen: (should be autodetected by vo_init())
388
ccb5ebfaaeac -bpp changes
arpi_esp
parents: 218
diff changeset
197 extern int vo_depthonscreen;
ccb5ebfaaeac -bpp changes
arpi_esp
parents: 218
diff changeset
198 extern int vo_screenwidth;
ccb5ebfaaeac -bpp changes
arpi_esp
parents: 218
diff changeset
199 extern int vo_screenheight;
213
6ec8f6ab6cb1 subtitle+OSD font support
arpi_esp
parents: 31
diff changeset
200
388
ccb5ebfaaeac -bpp changes
arpi_esp
parents: 218
diff changeset
201 // 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
202 extern int vo_dx;
38a9cddd9e4d added vo_dx,vo_dy (used currently only by X based outputs)
alex
parents: 4754
diff changeset
203 extern int vo_dy;
388
ccb5ebfaaeac -bpp changes
arpi_esp
parents: 218
diff changeset
204 extern int vo_dwidth;
ccb5ebfaaeac -bpp changes
arpi_esp
parents: 218
diff changeset
205 extern int vo_dheight;
ccb5ebfaaeac -bpp changes
arpi_esp
parents: 218
diff changeset
206 extern int vo_dbpp;
ccb5ebfaaeac -bpp changes
arpi_esp
parents: 218
diff changeset
207
7539
56ea9db91251 -nograbpointer, based on old patch by Christian Ohm <chr.ohm@gmx.net>
arpi
parents: 7435
diff changeset
208 extern int vo_grabpointer;
1268
9877eaacff9e extern vo_doublebuffering cleanup
arpi
parents: 1184
diff changeset
209 extern int vo_doublebuffering;
5431
013458752947 disabling direct rendering by default (too buggy and conflicts with osd/sub)
arpi
parents: 5294
diff changeset
210 extern int vo_directrendering;
4667
95fa3901cafc add vsync support for doublebuffering to vo_vesa
atmos4
parents: 4618
diff changeset
211 extern int vo_vsync;
4981
bfc652fc7f43 rewrite fullscreen support in some libvo driver
pontscho
parents: 4971
diff changeset
212 extern int vo_fs;
1268
9877eaacff9e extern vo_doublebuffering cleanup
arpi
parents: 1184
diff changeset
213 extern int vo_fsmode;
6304
ee65527096c2 pan&scan support with -vo xv by ?? <mplayer@svennevid.net>
arpi
parents: 6110
diff changeset
214 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
215 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
216 extern int vo_refresh_rate;
12371
c000f4c23efd keepaspect and nokeepaspect are now useable by all vos
faust3
parents: 12021
diff changeset
217 extern int vo_keepaspect;
12912
1f6bb2356d18 add var vo_rootwin and -rootwin switch for mac osx
nplourde
parents: 12371
diff changeset
218 extern int vo_rootwin;
16280
7f34acc96aa4 remove extern for variables that are already in headers.
reimar
parents: 16171
diff changeset
219 extern int vo_ontop;
16968
e9d849bf8050 add a switch, slave command, and vo control to toggle borderless window.
joey
parents: 16280
diff changeset
220 extern int vo_border;
1268
9877eaacff9e extern vo_doublebuffering cleanup
arpi
parents: 1184
diff changeset
221
24027
0530865bb02a Declare all vo_gamma variables in libvo/video_out.h and remove them from
diego
parents: 23689
diff changeset
222 extern int vo_gamma_gamma;
6755
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6308
diff changeset
223 extern int vo_gamma_brightness;
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6308
diff changeset
224 extern int vo_gamma_saturation;
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6308
diff changeset
225 extern int vo_gamma_contrast;
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6308
diff changeset
226 extern int vo_gamma_hue;
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6308
diff changeset
227 extern int vo_gamma_red_intensity;
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6308
diff changeset
228 extern int vo_gamma_green_intensity;
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6308
diff changeset
229 extern int vo_gamma_blue_intensity;
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6308
diff changeset
230
10785
e2dcade78bc6 -nomouseinput support for vo_sdl
alex
parents: 9569
diff changeset
231 extern int vo_nomouse_input;
5651
b8d8d72776f2 fix playlist bug with gui and rewrite mousecursor show/hide code
pontscho
parents: 5511
diff changeset
232
2707
97efb75dceb8 vo_pts added
arpi
parents: 1501
diff changeset
233 extern int vo_pts;
3201
039a973b3dda Newest DXR3 patch (improved 1.0rc2) by David Holm.
atmos4
parents: 2707
diff changeset
234 extern float vo_fps;
2707
97efb75dceb8 vo_pts added
arpi
parents: 1501
diff changeset
235
1184
e8c3f89ecd96 vo_subdevice implemented
al3x
parents: 1142
diff changeset
236 extern char *vo_subdevice;
e8c3f89ecd96 vo_subdevice implemented
al3x
parents: 1142
diff changeset
237
10988
c2bff70784d5 user settable colorkey
alex
parents: 10785
diff changeset
238 extern int vo_colorkey;
c2bff70784d5 user settable colorkey
alex
parents: 10785
diff changeset
239
16280
7f34acc96aa4 remove extern for variables that are already in headers.
reimar
parents: 16171
diff changeset
240 extern int WinID;
7f34acc96aa4 remove extern for variables that are already in headers.
reimar
parents: 16171
diff changeset
241
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
242 typedef struct {
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
243 float min;
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
244 float max;
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
245 } range_t;
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
246
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27997
diff changeset
247 float range_max(range_t *r);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27997
diff changeset
248 int in_range(range_t *r, float f);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 27997
diff changeset
249 range_t *str2range(char *s);
7069
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
250 extern char *monitor_hfreq_str;
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
251 extern char *monitor_vfreq_str;
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
252 extern char *monitor_dotclock_str;
21e1ab99cb21 General Timing Formula algorithm from a scratch.
arpi
parents: 7009
diff changeset
253
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25595
diff changeset
254 #endif /* MPLAYER_VIDEO_OUT_H */