diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2004-07-14 22:27:10 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2004-07-14 22:27:10 +0000 |
commit | c96f17102d2223f6d2c3efdcb9bd2aef7a9b3bb8 (patch) | |
tree | 0dca4796289e73f0cd9acdc1575dad0a32597157 | |
parent | 3203837244ab96fe3c251a383e5fe4d352e8b3cc (diff) | |
download | xine-lib-c96f17102d2223f6d2c3efdcb9bd2aef7a9b3bb8.tar.gz xine-lib-c96f17102d2223f6d2c3efdcb9bd2aef7a9b3bb8.tar.bz2 |
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
-rw-r--r-- | src/libmpeg2/decode.c | 4 |
1 files 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; } } } |