2 * This file is part of MPlayer.
4 * MPlayer is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * MPlayer is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #ifndef MPLAYER_SPUDEC_H
20 #define MPLAYER_SPUDEC_H
22 #include "libvo/video_out.h"
24 void spudec_heartbeat(void *this, unsigned int pts100
);
25 void spudec_assemble(void *this, unsigned char *packet
, unsigned int len
, int pts100
);
26 void spudec_draw(void *this, void (*draw_alpha
)(void *ctx
, int x0
,int y0
, int w
,int h
, unsigned char* src
, unsigned char *srca
, int stride
), void *ctx
);
27 void spudec_draw_scaled(void *this, unsigned int dxs
, unsigned int dys
, void (*draw_alpha
)(void *ctx
, int x0
,int y0
, int w
,int h
, unsigned char* src
, unsigned char *srca
, int stride
), void *ctx
);
28 int spudec_apply_palette_crop(void *this, uint32_t palette
, int sx
, int ex
, int sy
, int ey
);
29 void *spudec_new_scaled(unsigned int *palette
, unsigned int frame_width
, unsigned int frame_height
, uint8_t *extradata
, int extradata_len
);
30 void *spudec_new(unsigned int *palette
);
31 void spudec_free(void *this);
32 void spudec_reset(void *this); // called after seek
33 int spudec_visible(void *this); // check if spu is visible
34 void spudec_set_font_factor(void * this, double factor
); // sets the equivalent to ffactor
35 int spudec_changed(void *this);
36 void spudec_calc_bbox(void *me
, unsigned int dxs
, unsigned int dys
, unsigned int* bbox
);
37 void spudec_set_forced_subs_only(void * const this, const unsigned int flag
);
38 void spudec_set_paletted(void *this, const uint8_t *pal_img
, int stride
,
40 int x
, int y
, int w
, int h
,
41 double pts
, double endpts
);
43 #endif /* MPLAYER_SPUDEC_H */