Mercurial > mplayer.hg
annotate libmpcodecs/vd.h @ 36650:8b2c68d6fd89
Enable specifying a font file in the GUI preferences.
This has been broken since the introduction of Fontconfig.
Since Fontconfig is selecting fonts by font patterns and the GUI does so
by selecting a font file, it is necessary to temporarily disable
fontconfig font handling if there is a directory separator character
found in the name (or pattern) of the font to be used, i.e. assume the
font name to be a pattern if and only if it doesn't contain a directory
separator character.
Thus set option 'fontconfig' depending on font_name. Set it in guiInit()
for the font possibly given in a configuration file or on the command
line, and set it in mplayerLoadFont() whenever it is affected by GUI
preferences settings.
(Although the font selection dialog only allows files to be selected,
it is possible to simply enter a fontconfig font pattern in the
preferences' text entry field - or to enter it directly into the GUI
configuration file or to specify on the command line, both of which
always is possible.)
author | ib |
---|---|
date | Sun, 26 Jan 2014 16:40:49 +0000 |
parents | 6e8f3cbab5f4 |
children |
rev | line source |
---|---|
30421
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
1 /* |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
2 * This file is part of MPlayer. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
3 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
7 * (at your option) any later version. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
8 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
12 * GNU General Public License for more details. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
13 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
17 */ |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
28826
diff
changeset
|
18 |
26029 | 19 #ifndef MPLAYER_VD_H |
20 #define MPLAYER_VD_H | |
5323 | 21 |
31457
6e8f3cbab5f4
Move video decoder option array extern declarations to vd.h.
diego
parents:
31172
diff
changeset
|
22 #include "m_option.h" |
7471 | 23 #include "mp_image.h" |
5323 | 24 #include "mpc_info.h" |
26147
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
25 #include "libmpdemux/stheader.h" |
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
26 |
5323 | 27 typedef mp_codec_info_t vd_info_t; |
4878 | 28 |
4988 | 29 /* interface of video decoder drivers */ |
31172
85219fe5960c
cosmetics: Drop _s suffix from 'struct vd_functions'.
diego
parents:
30653
diff
changeset
|
30 typedef struct vd_functions |
4878 | 31 { |
30517
290e478b07cd
Make vd_info_t const for pointer in vd_functions, avoids some warnings about
reimar
parents:
30421
diff
changeset
|
32 const vd_info_t *info; |
4878 | 33 int (*init)(sh_video_t *sh); |
34 void (*uninit)(sh_video_t *sh); | |
35 int (*control)(sh_video_t *sh,int cmd,void* arg, ...); | |
36 mp_image_t* (*decode)(sh_video_t *sh,void* data,int len,int flags); | |
37 } vd_functions_t; | |
38 | |
39 // NULL terminated array of all drivers | |
28826 | 40 extern const vd_functions_t * const mpcodecs_vd_drivers[]; |
4878 | 41 |
30653
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
42 extern int flip; |
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
43 extern int fullscreen; |
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
44 extern int opt_screen_size_x; |
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
45 extern int opt_screen_size_y; |
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
46 extern int softzoom; |
5483 | 47 extern int vd_use_slices; |
30653
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
48 extern int vidmode; |
30537
7bebe34b6ad2
Move movie_aspect extern declaration to libmpcodecs/vd.h.
diego
parents:
30517
diff
changeset
|
49 extern float movie_aspect; |
30653
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
50 extern float screen_size_xy; |
5483 | 51 |
31457
6e8f3cbab5f4
Move video decoder option array extern declarations to vd.h.
diego
parents:
31172
diff
changeset
|
52 extern const m_option_t lavc_decode_opts_conf[]; |
6e8f3cbab5f4
Move video decoder option array extern declarations to vd.h.
diego
parents:
31172
diff
changeset
|
53 extern const m_option_t xvid_dec_opts[]; |
6e8f3cbab5f4
Move video decoder option array extern declarations to vd.h.
diego
parents:
31172
diff
changeset
|
54 |
4878 | 55 #define VDCTRL_QUERY_FORMAT 3 /* test for availabilty of a format */ |
4957 | 56 #define VDCTRL_QUERY_MAX_PP_LEVEL 4 /* test for postprocessing support (max level) */ |
4988 | 57 #define VDCTRL_SET_PP_LEVEL 5 /* set postprocessing level */ |
5003 | 58 #define VDCTRL_SET_EQUALIZER 6 /* set color options (brightness,contrast etc) */ |
6780 | 59 #define VDCTRL_GET_EQUALIZER 7 /* get color options (brightness,contrast etc) */ |
11977
efb37725d616
flushing stuff after seeking (finally we can view MPEG without thouse blocks after seeking with -vc ffmpeg12)
michael
parents:
7471
diff
changeset
|
60 #define VDCTRL_RESYNC_STREAM 8 /* seeking */ |
18917
d9a75b26da6c
Add a new video pts tracking mode, enabled by option -correct-pts.
uau
parents:
11977
diff
changeset
|
61 #define VDCTRL_QUERY_UNSEEN_FRAMES 9 /* current decoder lag */ |
4878 | 62 |
4883 | 63 // callbacks: |
64 int mpcodecs_config_vo(sh_video_t *sh, int w, int h, unsigned int preferred_outfmt); | |
65 mp_image_t* mpcodecs_get_image(sh_video_t *sh, int mp_imgtype, int mp_imgflag, int w, int h); | |
7220
e3ecccc7e505
warning fixes by Dominik Mierzejewski <dominik@rangers.eu.org>
arpi
parents:
6780
diff
changeset
|
66 void mpcodecs_draw_slice(sh_video_t *sh, unsigned char** src, int* stride, int w,int h, int x, int y); |
4883 | 67 |
6708
8058078f1248
support for external pp by divx4. some fixes/cosmetics?
alex
parents:
5483
diff
changeset
|
68 #define VDFLAGS_DROPFRAME 3 |
25553
6ac1ece1f9fe
Add multiple inclusion guards to all header files that lack them.
diego
parents:
18917
diff
changeset
|
69 |
26029 | 70 #endif /* MPLAYER_VD_H */ |