2010-01-30 23:24:23 +00:00
|
|
|
/*
|
|
|
|
* This file is part of MPlayer.
|
|
|
|
*
|
|
|
|
* MPlayer is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* MPlayer is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License along
|
|
|
|
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
|
|
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
*/
|
|
|
|
|
2007-07-02 22:34:45 +00:00
|
|
|
#ifndef MPLAYER_SPUDEC_H
|
|
|
|
#define MPLAYER_SPUDEC_H
|
2001-04-21 15:38:01 +00:00
|
|
|
|
2012-08-06 23:26:11 +00:00
|
|
|
#include <stdint.h>
|
2003-02-28 19:21:45 +00:00
|
|
|
|
2002-01-10 17:17:05 +00:00
|
|
|
void spudec_heartbeat(void *this, unsigned int pts100);
|
2007-12-11 10:12:58 +00:00
|
|
|
void spudec_assemble(void *this, unsigned char *packet, unsigned int len, int pts100);
|
2010-07-11 12:56:52 +00:00
|
|
|
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);
|
2008-04-04 03:36:36 +00:00
|
|
|
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);
|
2010-07-26 19:41:04 +00:00
|
|
|
int spudec_apply_palette_crop(void *this, uint32_t palette, int sx, int ex, int sy, int ey);
|
2008-10-27 22:51:22 +00:00
|
|
|
void *spudec_new_scaled(unsigned int *palette, unsigned int frame_width, unsigned int frame_height, uint8_t *extradata, int extradata_len);
|
2002-01-10 17:17:05 +00:00
|
|
|
void *spudec_new(unsigned int *palette);
|
2001-11-20 18:36:50 +00:00
|
|
|
void spudec_free(void *this);
|
2001-12-25 20:32:02 +00:00
|
|
|
void spudec_reset(void *this); // called after seek
|
2002-04-15 19:17:12 +00:00
|
|
|
int spudec_visible(void *this); // check if spu is visible
|
2002-05-17 23:47:27 +00:00
|
|
|
void spudec_set_font_factor(void * this, double factor); // sets the equivalent to ffactor
|
2002-07-24 16:47:29 +00:00
|
|
|
int spudec_changed(void *this);
|
2002-08-14 21:28:18 +00:00
|
|
|
void spudec_calc_bbox(void *me, unsigned int dxs, unsigned int dys, unsigned int* bbox);
|
2003-09-21 14:21:43 +00:00
|
|
|
void spudec_set_forced_subs_only(void * const this, const unsigned int flag);
|
2010-07-10 13:45:09 +00:00
|
|
|
void spudec_set_paletted(void *this, const uint8_t *pal_img, int stride,
|
|
|
|
const void *palette,
|
|
|
|
int x, int y, int w, int h,
|
|
|
|
double pts, double endpts);
|
2012-04-22 21:52:39 +00:00
|
|
|
struct spu_packet_t *spudec_packet_create(int x, int y, int w, int h);
|
|
|
|
void spudec_packet_fill(struct spu_packet_t *packet,
|
|
|
|
const uint8_t *pal_img, int pal_stride,
|
|
|
|
const void *palette,
|
|
|
|
int x, int y, int w, int h);
|
|
|
|
void spudec_packet_send(void *spu, struct spu_packet_t *packet,
|
|
|
|
double pts, double endpts);
|
|
|
|
void spudec_packet_clear(struct spu_packet_t *packet);
|
2001-11-28 14:55:56 +00:00
|
|
|
|
2007-12-31 16:15:50 +00:00
|
|
|
#endif /* MPLAYER_SPUDEC_H */
|