summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorJuanjo <pulento@users.sourceforge.net>2002-05-12 02:55:48 +0000
committerJuanjo <pulento@users.sourceforge.net>2002-05-12 02:55:48 +0000
commitc80340a4eb8c8e6aaba54cd10805dc561bbdaf5b (patch)
tree5cae0f7a84dd178a90390be7fb9d0e4639b6b9f1 /libavcodec
parentb6acbc3caf408ee2e7e2b2b84bd5ab16719ad8bd (diff)
- 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
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/avcodec.h7
-rw-r--r--libavcodec/mpeg12.c2
2 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index a3efe81c5b..616b5f37fc 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 65cba431f8..eeea81a9ef 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);