summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-07-14 22:27:10 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-07-14 22:27:10 +0000
commitc96f17102d2223f6d2c3efdcb9bd2aef7a9b3bb8 (patch)
tree0dca4796289e73f0cd9acdc1575dad0a32597157
parent3203837244ab96fe3c251a383e5fe4d352e8b3cc (diff)
downloadxine-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.c4
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;
}
}
}