OSDN Git Service

libavcodec/dvbsub: fix for Display Definition Segment
authorPierre Yves MORDRET <pierre-yves.mordret@st.com>
Fri, 13 Dec 2013 13:29:09 +0000 (14:29 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 13 Dec 2013 15:53:22 +0000 (16:53 +0100)
Given ETSI EN 300 743 V1.3.1 (2006-11), 7.2.1 Display definition segment
display window parameters are given in this order XMin, XMax, YMin, YMax
if  display_window_flag is set, but here this is not the case.
As a consequence the DVB subtitles are not displayed upon some videos.

Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/dvbsubdec.c

index b8b4143..8f4e984 100644 (file)
@@ -1357,8 +1357,8 @@ static void dvbsub_parse_display_definition_segment(AVCodecContext *avctx,
 
     if (info_byte & 1<<3) { // display_window_flag
         display_def->x = bytestream_get_be16(&buf);
-        display_def->y = bytestream_get_be16(&buf);
         display_def->width  = bytestream_get_be16(&buf) - display_def->x + 1;
+        display_def->y = bytestream_get_be16(&buf);
         display_def->height = bytestream_get_be16(&buf) - display_def->y + 1;
     }
 }