Mercurial > mplayer.hg
annotate libmpcodecs/vd.h @ 30971:9d024ceb45e3
Check texture dimensions instead of internal format in max texture
size check to work around OS X ATI driver bugs:
- does not keep format but use an equivalent one (1 becomes 0x8040).
- does not set to 0 on failure but to 0x8018
author | reimar |
---|---|
date | Sun, 04 Apr 2010 19:56:26 +0000 |
parents | 3d23e24c5c60 |
children | 85219fe5960c |
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 |
7471 | 22 #include "mp_image.h" |
5323 | 23 #include "mpc_info.h" |
26147
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
24 #include "libmpdemux/stheader.h" |
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
25 |
5323 | 26 typedef mp_codec_info_t vd_info_t; |
4878 | 27 |
4988 | 28 /* interface of video decoder drivers */ |
4878 | 29 typedef struct vd_functions_s |
30 { | |
30517
290e478b07cd
Make vd_info_t const for pointer in vd_functions, avoids some warnings about
reimar
parents:
30421
diff
changeset
|
31 const vd_info_t *info; |
4878 | 32 int (*init)(sh_video_t *sh); |
33 void (*uninit)(sh_video_t *sh); | |
34 int (*control)(sh_video_t *sh,int cmd,void* arg, ...); | |
35 mp_image_t* (*decode)(sh_video_t *sh,void* data,int len,int flags); | |
36 } vd_functions_t; | |
37 | |
38 // NULL terminated array of all drivers | |
28826 | 39 extern const vd_functions_t * const mpcodecs_vd_drivers[]; |
4878 | 40 |
30653
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
41 extern int flip; |
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
42 extern int fullscreen; |
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
43 extern int opt_screen_size_x; |
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
44 extern int opt_screen_size_y; |
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
45 extern int softzoom; |
5483 | 46 extern int vd_use_slices; |
30653
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
47 extern int vidmode; |
30537
7bebe34b6ad2
Move movie_aspect extern declaration to libmpcodecs/vd.h.
diego
parents:
30517
diff
changeset
|
48 extern float movie_aspect; |
30653
3d23e24c5c60
Declare externally used variables from vd.c as extern in vd.h.
diego
parents:
30537
diff
changeset
|
49 extern float screen_size_xy; |
5483 | 50 |
4878 | 51 #define VDCTRL_QUERY_FORMAT 3 /* test for availabilty of a format */ |
4957 | 52 #define VDCTRL_QUERY_MAX_PP_LEVEL 4 /* test for postprocessing support (max level) */ |
4988 | 53 #define VDCTRL_SET_PP_LEVEL 5 /* set postprocessing level */ |
5003 | 54 #define VDCTRL_SET_EQUALIZER 6 /* set color options (brightness,contrast etc) */ |
6780 | 55 #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
|
56 #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
|
57 #define VDCTRL_QUERY_UNSEEN_FRAMES 9 /* current decoder lag */ |
4878 | 58 |
4883 | 59 // callbacks: |
60 int mpcodecs_config_vo(sh_video_t *sh, int w, int h, unsigned int preferred_outfmt); | |
61 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
|
62 void mpcodecs_draw_slice(sh_video_t *sh, unsigned char** src, int* stride, int w,int h, int x, int y); |
4883 | 63 |
6708
8058078f1248
support for external pp by divx4. some fixes/cosmetics?
alex
parents:
5483
diff
changeset
|
64 #define VDFLAGS_DROPFRAME 3 |
25553
6ac1ece1f9fe
Add multiple inclusion guards to all header files that lack them.
diego
parents:
18917
diff
changeset
|
65 |
26029 | 66 #endif /* MPLAYER_VD_H */ |