annotate libvo/video_out_internal.h @ 24787:02535b3216c5

Avoid text deformation and subtitles moving outside the screen in pan-and-scan mode. For this, crop amounts are passed from vo_gl as negative margins sizes. They are used to calculate aspect ratio. They are ignored when calculating subtitle positions, so subtitles will stay on screen most of the time. Based on a patch by Jindrich Makovicka [makovick gmail com].
author eugeni
date Fri, 19 Oct 2007 18:16:23 +0000
parents cea0eb833758
children 6ac1ece1f9fe
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_internal.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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
6 * This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8 * mpeg2dec is free software; you can redistribute it and/or modify
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
10 * the Free Software Foundation; either version 2, or (at your option)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
11 * any later version.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 * mpeg2dec is distributed in the hope that it will be useful,
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 * GNU General Public License for more details.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
21977
cea0eb833758 Fix FSF address and otherwise broken license headers.
diego
parents: 16171
diff changeset
19 * along with mpeg2dec; if not, write to the Free Software
cea0eb833758 Fix FSF address and otherwise broken license headers.
diego
parents: 16171
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22
7876
arpi
parents: 7124
diff changeset
23 /* All video drivers will want this */
13787
e047e70a9767 Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents: 8148
diff changeset
24 #include "libmpcodecs/vfcap.h"
e047e70a9767 Handle "xxx.h" vs "../xxx.h" include paths in a consistent way.
diego
parents: 8148
diff changeset
25 #include "libmpcodecs/mp_image.h"
7876
arpi
parents: 7124
diff changeset
26 #include "geometry.h"
5566
e01c664def74 VFCAP added
arpi
parents: 4592
diff changeset
27
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
28 static int control(uint32_t request, void *data, ...);
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
29 static int config(uint32_t width, uint32_t height, uint32_t d_width,
4433
df8e0f71cc3c new info for tuning
nick
parents: 4352
diff changeset
30 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: 5607
diff changeset
31 uint32_t format);
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
32 static int draw_frame(uint8_t *src[]);
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
33 static int draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y);
1502
ccb1f3ddb29a atlka@pg.gda.pl:
atlka
parents: 1501
diff changeset
34 static void draw_osd(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 static void flip_page(void);
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
36 static void check_events(void);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 static void uninit(void);
16171
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
38 static int query_format(uint32_t format);
fd51fd1ff231 Fix the return types of all (six) libvo API functions. Used to be uint32_t, but
ivo
parents: 13787
diff changeset
39 static int preinit(const char *);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41 #define LIBVO_EXTERN(x) vo_functions_t video_out_##x =\
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 {\
8148
5b39e79af5fe removed get_info, using the same sheme as in libmpcodecs instead
alex
parents: 7876
diff changeset
43 &info,\
4352
ed5b85b713a3 Extensions for video accelerated architecture
nick
parents: 1502
diff changeset
44 preinit,\
4433
df8e0f71cc3c new info for tuning
nick
parents: 4352
diff changeset
45 config,\
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
46 control,\
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47 draw_frame,\
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48 draw_slice,\
1501
d40f2b686846 changes according to -utf8 option, draw_osd() function added
atlka
parents: 616
diff changeset
49 draw_osd,\
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 flip_page,\
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
51 check_events,\
4592
5fbfd8545c3b query_ stuff replaced by new control() - patch by David Holm
arpi
parents: 4433
diff changeset
52 uninit\
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 };
326
f6b5c2dbc88e OSD alpha renderers moved to osd.c
arpi_esp
parents: 31
diff changeset
54
616
41d6eec69b60 clean up
pontscho
parents: 326
diff changeset
55 #include "osd.h"
326
f6b5c2dbc88e OSD alpha renderers moved to osd.c
arpi_esp
parents: 31
diff changeset
56
f6b5c2dbc88e OSD alpha renderers moved to osd.c
arpi_esp
parents: 31
diff changeset
57
f6b5c2dbc88e OSD alpha renderers moved to osd.c
arpi_esp
parents: 31
diff changeset
58