summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libmpeg2/decode.c2
-rw-r--r--src/libmpeg2/mpeg2_internal.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c
index f8dcbea41..c7656e11d 100644
--- a/src/libmpeg2/decode.c
+++ b/src/libmpeg2/decode.c
@@ -415,6 +415,7 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,
}
if (mpeg2dec->is_sequence_needed
+ || (picture->aspect_ratio_information != picture->saved_aspect_ratio)
|| (picture->frame_width != picture->coded_picture_width)
|| (picture->frame_height != picture->coded_picture_height)) {
xine_event_t event;
@@ -451,6 +452,7 @@ static inline int parse_chunk (mpeg2dec_t * mpeg2dec, int code,
picture->frame_width = picture->coded_picture_width;
picture->frame_height = picture->coded_picture_height;
+ picture->saved_aspect_ratio = picture->aspect_ratio_information;
}
break;
diff --git a/src/libmpeg2/mpeg2_internal.h b/src/libmpeg2/mpeg2_internal.h
index 64c6a2149..915bece2c 100644
--- a/src/libmpeg2/mpeg2_internal.h
+++ b/src/libmpeg2/mpeg2_internal.h
@@ -168,6 +168,7 @@ typedef struct picture_s {
/* these things are not needed by the decoder */
/* this is a temporary interface, we will build a better one later. */
int aspect_ratio_information;
+ int saved_aspect_ratio;
int frame_rate_code;
int progressive_sequence;
int repeat_first_field;