From c96f17102d2223f6d2c3efdcb9bd2aef7a9b3bb8 Mon Sep 17 00:00:00 2001 From: Miguel Freitas Date: Wed, 14 Jul 2004 22:27:10 +0000 Subject: use correct frame flags for adjusting duration. fixes sailor_moon_op_frag.mpg duration problem (wrong duration for frames marked as progressive) CVS patchset: 6794 CVS date: 2004/07/14 22:27:10 --- src/libmpeg2/decode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libmpeg2/decode.c b/src/libmpeg2/decode.c index 50e531931..40f182599 100644 --- a/src/libmpeg2/decode.c +++ b/src/libmpeg2/decode.c @@ -149,14 +149,14 @@ static inline void get_frame_duration (mpeg2dec_t * mpeg2dec, vo_frame_t *frame) { if( frame->repeat_first_field ) { if( !mpeg2dec->picture->progressive_sequence && - mpeg2dec->picture->progressive_frame ) { + frame->progressive_frame ) { /* decoder should output 3 fields, so adjust duration to count on this extra field time */ frame->duration += frame->duration/2; } else if( mpeg2dec->picture->progressive_sequence ) { /* for progressive sequences the output should repeat the frame 1 or 2 times depending on top_field_first flag. */ - frame->duration *= (mpeg2dec->picture->top_field_first)?3:2; + frame->duration *= (frame->top_field_first)?3:2; } } } -- cgit v1.2.3