view spudec.h @ 7663:eb3afb162aa4

* Fix for the broken MultiDec files I had originally posted with the first version of the demuxer. They play ok now. Fix can be disabled through conditional compiling, so just comment out the #define directive if it breaks anything (see source). * Demuxer now honours audio/video ids. Since PVAs only contain one audio track and one video track by specification, they are vid 0 and aid 0. This also fixes the "too many audio/video packets in buffer" with -dump[audio|video]. * substituted longs with off_t's for offsets, so that it should work on large files. patch by Matteo Giani <matgiani@ctonet.it>
author arpi
date Mon, 07 Oct 2002 22:13:34 +0000
parents 60a473935d7d
children b523f634738d
line wrap: on
line source

#ifndef _MPLAYER_SPUDEC_H
#define _MPLAYER_SPUDEC_H

void spudec_heartbeat(void *this, unsigned int pts100);
void spudec_assemble(void *this, unsigned char *packet, unsigned int len, unsigned int pts100);
void spudec_draw(void *this, void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
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));
void spudec_update_palette(void *this, unsigned int *palette);
void *spudec_new_scaled(unsigned int *palette, unsigned int frame_width, unsigned int frame_height);
void *spudec_new_scaled_vobsub(unsigned int *palette, unsigned int *cuspal, unsigned int custom, unsigned int frame_width, unsigned int frame_height);
void *spudec_new(unsigned int *palette);
void spudec_free(void *this);
void spudec_reset(void *this);	// called after seek
int spudec_visible(void *this); // check if spu is visible
void spudec_set_font_factor(void * this, double factor); // sets the equivalent to ffactor
void spudec_set_hw_spu(void *this, vo_functions_t *hw_spu);
int spudec_changed(void *this);
void spudec_calc_bbox(void *me, unsigned int dxs, unsigned int dys, unsigned int* bbox);
void spudec_draw_scaled(void *me, 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));
#endif