From 5fccedaa67390ccddd6347c8e1c71b7664558bcd Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 29 Apr 2014 07:50:16 +0200 Subject: [PATCH] lavc: deprecate CODEC_FLAG_INPUT_PRESERVED The addition of reference-counted frames makes it pointless. --- doc/APIchanges | 4 ++++ libavcodec/avcodec.h | 7 ++++--- libavcodec/mpegvideo_enc.c | 3 +-- libavcodec/options_table.h | 2 ++ libavcodec/version.h | 3 +++ 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 28afc9bd7e..10366b093f 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,10 @@ libavutil: 2013-12-xx API changes, most recent first: +2014-04-xx - xxxxxxx - avcodec.h + Deprecate CODEC_FLAG_INPUT_PRESERVED. Its functionality is replaced by passing + reference-counted frames to encoders. + 2014-04-xx - xxxxxxx - lavc 55.50.0 - dxva2.h Add FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO for old Intel GPUs. diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 2130ea3c2c..919cc76102 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -671,12 +671,13 @@ typedef struct RcOverride{ #define CODEC_FLAG_QPEL 0x0010 ///< Use qpel MC. #define CODEC_FLAG_GMC 0x0020 ///< Use GMC. #define CODEC_FLAG_MV0 0x0040 ///< Always try a MB with MV=<0,0>. +#if FF_API_INPUT_PRESERVED /** - * The parent program guarantees that the input for B-frames containing - * streams is not written to for at least s->max_b_frames+1 frames, if - * this is not set the input will be copied. + * @deprecated passing reference-counted frames to the encoders replaces this + * flag */ #define CODEC_FLAG_INPUT_PRESERVED 0x0100 +#endif #define CODEC_FLAG_PASS1 0x0200 ///< Use internal 2pass ratecontrol in first pass mode. #define CODEC_FLAG_PASS2 0x0400 ///< Use internal 2pass ratecontrol in second pass mode. #define CODEC_FLAG_GRAY 0x2000 ///< Only decode/encode grayscale. diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 9c2b24bff8..a13ff89dfb 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -1081,8 +1081,7 @@ static int estimate_best_b_count(MpegEncContext *s) c->width = s->width >> scale; c->height = s->height >> scale; - c->flags = CODEC_FLAG_QSCALE | CODEC_FLAG_PSNR | - CODEC_FLAG_INPUT_PRESERVED; + c->flags = CODEC_FLAG_QSCALE | CODEC_FLAG_PSNR; c->flags |= s->avctx->flags & CODEC_FLAG_QPEL; c->mb_decision = s->avctx->mb_decision; c->me_cmp = s->avctx->me_cmp; diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index 1006a86aa9..af06370b2e 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -54,7 +54,9 @@ static const AVOption avcodec_options[] = { {"qscale", "use fixed qscale", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_QSCALE }, INT_MIN, INT_MAX, 0, "flags"}, {"gmc", "use gmc", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_GMC }, INT_MIN, INT_MAX, V|E, "flags"}, {"mv0", "always try a mb with mv=<0,0>", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_MV0 }, INT_MIN, INT_MAX, V|E, "flags"}, +#if FF_API_INPUT_PRESERVED {"input_preserved", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_INPUT_PRESERVED }, INT_MIN, INT_MAX, 0, "flags"}, +#endif {"pass1", "use internal 2-pass ratecontrol in first pass mode", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_PASS1 }, INT_MIN, INT_MAX, 0, "flags"}, {"pass2", "use internal 2-pass ratecontrol in second pass mode", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_PASS2 }, INT_MIN, INT_MAX, 0, "flags"}, {"gray", "only decode/encode grayscale", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_GRAY }, INT_MIN, INT_MAX, V|E|D, "flags"}, diff --git a/libavcodec/version.h b/libavcodec/version.h index d82a06802a..33bb10f30a 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -129,5 +129,8 @@ #ifndef FF_API_ARCH_SPARC #define FF_API_ARCH_SPARC (LIBAVCODEC_VERSION_MAJOR < 56) #endif +#ifndef FF_API_INPUT_PRESERVED +#define FF_API_INPUT_PRESERVED (LIBAVCODEC_VERSION_MAJOR < 57) +#endif #endif /* AVCODEC_VERSION_H */