mirror of https://git.ffmpeg.org/ffmpeg.git
- 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
This commit is contained in:
parent
b6acbc3caf
commit
c80340a4eb
|
@ -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 {
|
||||||
#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,
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue