[FFmpeg-cvslog] Communicate pulldown flags to clients to fix VC-1 playback with pulldown content

Alexandre Colucci git at videolan.org
Mon Apr 4 16:12:34 CEST 2011


ffmpeg | branch: master | Alexandre Colucci <alexandre at elgato.com> | Mon Apr  4 15:20:10 2011 +0200| [37ffba2a445b2ec82ea3096041f29ffca0af99d1] | committer: Michael Niedermayer

Communicate pulldown flags to clients to fix VC-1 playback with pulldown content

The pulldown flags should be communicated to the client of the libavcodec library. Not doing so causes jerky playback with pulldown content. Note that this change requires the patch previously provided here: http://ffmpeg.org/pipermail/ffmpeg-devel/2011-April/110314.html

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=37ffba2a445b2ec82ea3096041f29ffca0af99d1
---

 libavcodec/vc1dec.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index c3b4b83..ae035a6 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -3374,6 +3374,15 @@ static int vc1_decode_frame(AVCodecContext *avctx,
         goto err;
     }
 
+    s->current_picture_ptr->repeat_pict = 0;
+    if (v->rff){
+        s->current_picture_ptr->repeat_pict = 1;
+    }else if (v->rptfrm){
+        s->current_picture_ptr->repeat_pict = v->rptfrm * 2;
+    }
+
+    s->current_picture_ptr->top_field_first = v->tff;
+
     // for skipping the frame
     s->current_picture.pict_type= s->pict_type;
     s->current_picture.key_frame= s->pict_type == FF_I_TYPE;



More information about the ffmpeg-cvslog mailing list