From c80340a4eb8c8e6aaba54cd10805dc561bbdaf5b Mon Sep 17 00:00:00 2001
From: Juanjo <pulento@users.sourceforge.net>
Date: Sun, 12 May 2002 02:55:48 +0000
Subject: [PATCH] - repeat_pict added to AVCodecContext to signal if the
 decoder must repeat   frames from 3:2 pulldown sources. - repeat_pict
 honoured by MPEG-1/2 decoder.

Originally committed as revision 486 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/avcodec.h | 7 ++++---
 libavcodec/mpeg12.c  | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index a3efe81c5b7..616b5f37fc3 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -5,8 +5,8 @@
 
 #define LIBAVCODEC_VERSION_INT 0x000406
 #define LIBAVCODEC_VERSION     "0.4.6"
-#define LIBAVCODEC_BUILD       4606
-#define LIBAVCODEC_BUILD_STR   "4606"
+#define LIBAVCODEC_BUILD       4607
+#define LIBAVCODEC_BUILD_STR   "4607"
 
 enum CodecID {
     CODEC_ID_NONE, 
@@ -130,7 +130,8 @@ typedef struct AVCodecContext {
 #define FF_ASPECT_16_9_525 5
     int gop_size; /* 0 = intra only */
     enum PixelFormat pix_fmt;  /* pixel format, see PIX_FMT_xxx */
-
+    int repeat_pict; /* set this to 1 if you want the decoder
+                        to repeat frames for 3:2 pulldown (MPEG-2) */
     /* if non NULL, 'draw_horiz_band' is called by the libavcodec
        decoder to draw an horizontal band. It improve cache usage. Not
        all codecs can do that. You must check the codec capabilities
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index 65cba431f8f..eeea81a9efc 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -1588,7 +1588,7 @@ static int mpeg_decode_frame(AVCodecContext *avctx,
     buf_ptr = buf;
     buf_end = buf + buf_size;
     
-    if (s->repeat_field % 2 == 1) {
+    if (s->repeat_field % 2 == 1 && avctx->repeat_pict) {
         s->repeat_field++;
         //fprintf(stderr,"\nRepeating last frame: %d -> %d! pict: %d %d", avctx->frame_number-1, avctx->frame_number,
         //                                                         s2->picture_number, s->repeat_field);
-- 
GitLab