diff options
author | Juanjo <pulento@users.sourceforge.net> | 2002-05-12 02:55:48 +0000 |
---|---|---|
committer | Juanjo <pulento@users.sourceforge.net> | 2002-05-12 02:55:48 +0000 |
commit | c80340a4eb8c8e6aaba54cd10805dc561bbdaf5b (patch) | |
tree | 5cae0f7a84dd178a90390be7fb9d0e4639b6b9f1 | |
parent | b6acbc3caf408ee2e7e2b2b84bd5ab16719ad8bd (diff) | |
download | ffmpeg-c80340a4eb8c8e6aaba54cd10805dc561bbdaf5b.tar.gz |
- 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
-rw-r--r-- | libavcodec/avcodec.h | 7 | ||||
-rw-r--r-- | libavcodec/mpeg12.c | 2 |
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); |