summaryrefslogtreecommitdiffstats
path: root/spudec.c
diff options
context:
space:
mode:
authorkmkaplan <kmkaplan@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-08-06 13:32:55 +0000
committerkmkaplan <kmkaplan@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-08-06 13:32:55 +0000
commitfc8d212e57470aa12b9161d42892a345b927b6d9 (patch)
treea1ecfcff0f4c069fbef5b6bf088d4fcc2a285602 /spudec.c
parent19e3d7f9750f751d03af491ae8378c1f99bd995e (diff)
downloadmpv-fc8d212e57470aa12b9161d42892a345b927b6d9.tar.bz2
mpv-fc8d212e57470aa12b9161d42892a345b927b6d9.tar.xz
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. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6939 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'spudec.c')
-rw-r--r--spudec.c26
1 files changed, 5 insertions, 21 deletions
diff --git a/spudec.c b/spudec.c
index 496c9d00bd..7f96c57ff1 100644
--- a/spudec.c
+++ b/spudec.c
@@ -927,25 +927,7 @@ void spudec_set_font_factor(void * this, double factor)
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 @@ void *spudec_new_scaled_vobsub(unsigned int *palette, unsigned int *cuspal, unsi
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;