summaryrefslogtreecommitdiffstats
path: root/spudec.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2010-06-02 19:12:01 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-06-02 19:12:01 +0300
commit80be936a56199f7affddef546514604dcefcb763 (patch)
treeead37c819dad115446817aea7b78c53cee584735 /spudec.c
parented1a1e28d89e9ab63e886adda18f0b8ccfec9356 (diff)
parent1cbf1ec46835300d1226068487b90476aff73ce8 (diff)
downloadmpv-80be936a56199f7affddef546514604dcefcb763.tar.bz2
mpv-80be936a56199f7affddef546514604dcefcb763.tar.xz
Merge svn changes up to r31303
Diffstat (limited to 'spudec.c')
-rw-r--r--spudec.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/spudec.c b/spudec.c
index aedc1c04a9..0031e224b3 100644
--- a/spudec.c
+++ b/spudec.c
@@ -1202,11 +1202,15 @@ void *spudec_new_scaled(unsigned int *palette, unsigned int frame_width, unsigne
spudec_parse_extradata(this, extradata, extradata_len);
/* 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;
- if (this->orig_frame_height == 480 || this->orig_frame_height == 240)
- this->orig_frame_height = 480;
- else
- this->orig_frame_height = 576;
+ // For HD files in MKV the VobSub resolution can be higher though,
+ // see largeres_vobsub.mkv
+ if (this->orig_frame_width <= 720 && this->orig_frame_height <= 576) {
+ this->orig_frame_width = 720;
+ if (this->orig_frame_height == 480 || this->orig_frame_height == 240)
+ this->orig_frame_height = 480;
+ else
+ this->orig_frame_height = 576;
+ }
}
else
mp_msg(MSGT_SPUDEC,MSGL_FATAL, "FATAL: spudec_init: calloc");