Mercurial > mplayer.hg
diff spudec.c @ 6938:d796833e77af
Put all spudec_new stuff in a single function,
spudec_new_scaled_vobsub. Original frame width is always either
720x576 or 720x480. See dvd-subtitle-problem.txt and
dvd-subtitle-problem.txt.vob.
author | kmkaplan |
---|---|
date | Tue, 06 Aug 2002 13:32:55 +0000 |
parents | f33d4ab7a6b2 |
children | a280cc3087ea |
line wrap: on
line diff
--- a/spudec.c Tue Aug 06 10:22:50 2002 +0000 +++ b/spudec.c Tue Aug 06 13:32:55 2002 +0000 @@ -927,25 +927,7 @@ void *spudec_new_scaled(unsigned int *palette, unsigned int frame_width, unsigned int frame_height) { - spudec_handle_t *this = calloc(1, sizeof(spudec_handle_t)); - if (this) { - if (palette) { - memcpy(this->global_palette, palette, sizeof(this->global_palette)); - this->auto_palette = 0; - } - else { - /* No palette, compute one */ - this->auto_palette = 1; - } - this->packet = NULL; - this->image = NULL; - this->scaled_image = NULL; - this->orig_frame_width = frame_width; - this->orig_frame_height = frame_height; - } - else - mp_msg(MSGT_SPUDEC,MSGL_FATAL, "FATAL: spudec_init: calloc"); - return this; + return spudec_new_scaled_vobsub(palette, NULL, 0, frame_width, frame_height); } /* get palette custom color, width, height from .idx file */ @@ -957,8 +939,10 @@ this->packet = NULL; this->image = NULL; this->scaled_image = NULL; - this->orig_frame_width = frame_width; - this->orig_frame_height = frame_height; + /* XXX Although the video frame is some size, the SPU frame is + always maximum size i.e. 720 wide and 576 or 480 high */ + this->orig_frame_width = 720; + this->orig_frame_height = (frame_height == 480 || frame_height == 240) ? 480 : 576; this->custom = custom; // set up palette: this->auto_palette = 1;