annotate spudec.h @ 32439:2f1ccd169a7f

Improve vd_ffmpeg aspect handling to respect container aspect if possible (i.e. until the first resolution or aspect change) and to use correct aspect if only resolution changes but not the pixel aspect.
author reimar
date Fri, 22 Oct 2010 17:36:11 +0000
parents da0bfd02286c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30429
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
1 /*
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
2 * This file is part of MPlayer.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
3 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
5 * it under the terms of the GNU General Public License as published by
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
7 * (at your option) any later version.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
8 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
12 * GNU General Public License for more details.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
13 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
14 * You should have received a copy of the GNU General Public License along
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
17 */
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 27807
diff changeset
18
23689
3f0d00abc073 Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents: 23607
diff changeset
19 #ifndef MPLAYER_SPUDEC_H
3f0d00abc073 Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents: 23607
diff changeset
20 #define MPLAYER_SPUDEC_H
560
28ae99036574 Separated dvdsub code to be able to work with it easier
lgb
parents:
diff changeset
21
9511
b523f634738d supdec.h needs libvo/video_out.h. vobsub.c does not.
kmkaplan
parents: 7003
diff changeset
22 #include "libvo/video_out.h"
b523f634738d supdec.h needs libvo/video_out.h. vobsub.c does not.
kmkaplan
parents: 7003
diff changeset
23
4077
62f672249df1 Add spudec_new_scaled and spudec_draw_scaled for vobsub support.
kmkaplan
parents: 3744
diff changeset
24 void spudec_heartbeat(void *this, unsigned int pts100);
25322
078bdfd44751 Fix spudec to display current vobsub immediately after a seek.
ulion
parents: 25219
diff changeset
25 void spudec_assemble(void *this, unsigned char *packet, unsigned int len, int pts100);
3034
24d3dca4e813 DVD sub patch by Kim Minh Kaplan <kmkaplan@selfoffice.com>
arpi
parents: 561
diff changeset
26 void spudec_draw(void *this, void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
4077
62f672249df1 Add spudec_new_scaled and spudec_draw_scaled for vobsub support.
kmkaplan
parents: 3744
diff changeset
27 void spudec_draw_scaled(void *this, unsigned int dxs, unsigned int dys, void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
31762
da0bfd02286c Support for image highlights for dvdnav menus.
reimar
parents: 31599
diff changeset
28 int spudec_apply_palette_crop(void *this, uint32_t palette, int sx, int ex, int sy, int ey);
5474
a303ae797429 spudec_update_palette() added - dvdnav patch by Kees Cook <mplayer@outflux.net>
arpi
parents: 4077
diff changeset
29 void spudec_update_palette(void *this, unsigned int *palette);
27807
3ac3d3a51934 Factorize vobsub idx/extradata handling.
aurel
parents: 25535
diff changeset
30 void *spudec_new_scaled(unsigned int *palette, unsigned int frame_width, unsigned int frame_height, uint8_t *extradata, int extradata_len);
4077
62f672249df1 Add spudec_new_scaled and spudec_draw_scaled for vobsub support.
kmkaplan
parents: 3744
diff changeset
31 void *spudec_new(unsigned int *palette);
3034
24d3dca4e813 DVD sub patch by Kim Minh Kaplan <kmkaplan@selfoffice.com>
arpi
parents: 561
diff changeset
32 void spudec_free(void *this);
3744
d358f4a74690 dvd seeking -> subtitle disappearing bugs fixed
arpi
parents: 3183
diff changeset
33 void spudec_reset(void *this); // called after seek
5638
86663f1b9b00 new osd code, use osd objs to follow changes and do minimal updates
arpi
parents: 5474
diff changeset
34 int spudec_visible(void *this); // check if spu is visible
6110
7bea806b9c5f Improvment for spu subtitles.
albeu
parents: 5908
diff changeset
35 void spudec_set_font_factor(void * this, double factor); // sets the equivalent to ffactor
25219
e82ecde2cbd4 Mark several uses of vo_functions_t as const to stop some of the current
reimar
parents: 23689
diff changeset
36 void spudec_set_hw_spu(void *this, const vo_functions_t *hw_spu);
6778
f33d4ab7a6b2 Make spudec_assemble more resistent in the face of incomplete packets.
kmkaplan
parents: 6110
diff changeset
37 int spudec_changed(void *this);
7003
60a473935d7d warning fixes by Sylvain Petreolle <spetreolle@yahoo.fr>
arpi
parents: 6778
diff changeset
38 void spudec_calc_bbox(void *me, unsigned int dxs, unsigned int dys, unsigned int* bbox);
10917
d45870f67728 Forced subtitles patch by Arne Driescher <driescher@mpi-magdeburg.mpg.de>
attila
parents: 9511
diff changeset
39 void spudec_set_forced_subs_only(void * const this, const unsigned int flag);
31599
cafeb7863de8 Add support for PGS subtitle decoding via libavcodec.
reimar
parents: 30429
diff changeset
40 void spudec_set_paletted(void *this, const uint8_t *pal_img, int stride,
cafeb7863de8 Add support for PGS subtitle decoding via libavcodec.
reimar
parents: 30429
diff changeset
41 const void *palette,
cafeb7863de8 Add support for PGS subtitle decoding via libavcodec.
reimar
parents: 30429
diff changeset
42 int x, int y, int w, int h,
cafeb7863de8 Add support for PGS subtitle decoding via libavcodec.
reimar
parents: 30429
diff changeset
43 double pts, double endpts);
3183
ce9acee4e129 Fix spudec compile with libdvdread enabled.
atmos4
parents: 3180
diff changeset
44
25535
3baf6a2283da Add explanatory comments to the #endif part of multiple inclusion guards.
diego
parents: 25322
diff changeset
45 #endif /* MPLAYER_SPUDEC_H */