Commit 0acbcc80 authored by pulento's avatar pulento

- 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.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@486 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 07eed384
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define LIBAVCODEC_VERSION_INT 0x000406 #define LIBAVCODEC_VERSION_INT 0x000406
#define LIBAVCODEC_VERSION "0.4.6" #define LIBAVCODEC_VERSION "0.4.6"
#define LIBAVCODEC_BUILD 4606 #define LIBAVCODEC_BUILD 4607
#define LIBAVCODEC_BUILD_STR "4606" #define LIBAVCODEC_BUILD_STR "4607"
enum CodecID { enum CodecID {
CODEC_ID_NONE, CODEC_ID_NONE,
...@@ -130,7 +130,8 @@ typedef struct AVCodecContext { ...@@ -130,7 +130,8 @@ typedef struct AVCodecContext {
#define FF_ASPECT_16_9_525 5 #define FF_ASPECT_16_9_525 5
int gop_size; /* 0 = intra only */ int gop_size; /* 0 = intra only */
enum PixelFormat pix_fmt; /* pixel format, see PIX_FMT_xxx */ 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 /* if non NULL, 'draw_horiz_band' is called by the libavcodec
decoder to draw an horizontal band. It improve cache usage. Not decoder to draw an horizontal band. It improve cache usage. Not
all codecs can do that. You must check the codec capabilities all codecs can do that. You must check the codec capabilities
......
...@@ -1588,7 +1588,7 @@ static int mpeg_decode_frame(AVCodecContext *avctx, ...@@ -1588,7 +1588,7 @@ static int mpeg_decode_frame(AVCodecContext *avctx,
buf_ptr = buf; buf_ptr = buf;
buf_end = buf + buf_size; buf_end = buf + buf_size;
if (s->repeat_field % 2 == 1) { if (s->repeat_field % 2 == 1 && avctx->repeat_pict) {
s->repeat_field++; s->repeat_field++;
//fprintf(stderr,"\nRepeating last frame: %d -> %d! pict: %d %d", avctx->frame_number-1, avctx->frame_number, //fprintf(stderr,"\nRepeating last frame: %d -> %d! pict: %d %d", avctx->frame_number-1, avctx->frame_number,
// s2->picture_number, s->repeat_field); // s2->picture_number, s->repeat_field);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment