[SCM] libav/experimental: Correct assignment of interlaced_frame; was being set on output frames, in display order, based on decoding information in decoding order. Now set properly, immediately upon completion of decode.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:09:04 UTC 2013


The following commit has been merged in the experimental branch:
commit 84a8596d2305446e10b63975fb4c017752b55791
Author: Jeff Downs <heydowns at borg.com>
Date:   Mon Nov 5 18:16:42 2007 +0000

    Correct assignment of interlaced_frame; was being set on output frames,
    in display order, based on decoding information in decoding order. Now
    set properly, immediately upon completion of decode.
    
    Based on original patch from Reinhard Nissl,  rnisssl % gmx , de
    Original Thread: [FFmpeg-devel] H.264 + PAFF: BBC HD recording shows
    extreme interlacing artefacts, Thu, 01 Nov 2007 22:43:09
    
    Originally committed as revision 10931 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 579c4b5..ec0cdcb 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -7763,6 +7763,8 @@ static int decode_frame(AVCodecContext *avctx,
             *data_size = 0;
 
         } else {
+            cur->interlaced_frame = FIELD_OR_MBAFF_PICTURE;
+
         //FIXME do something with unavailable reference frames
 
 #if 0 //decode order
@@ -7845,7 +7847,6 @@ static int decode_frame(AVCodecContext *avctx,
     /* we substract 1 because it is added on utils.c    */
     avctx->frame_number = s->picture_number - 1;
 #endif
-    pict->interlaced_frame = FIELD_OR_MBAFF_PICTURE;
     return get_consumed_bytes(s, buf_index, buf_size);
 }
 #if 0

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list