Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-07-03 04:40:22 +0300
committerMichael Niedermayer <michaelni@gmx.at>2015-07-03 04:40:22 +0300
commita8ab64d2f70029a87467f75d1412bf6d13664b64 (patch)
tree1792a7f59dabf8f277d4f6db49d6a52bf0464d88
parente15e78f391abf4e037352cd783f6fa3c6b843d94 (diff)
parent910247f1720c6aae422723c05dac6d0b19f20bec (diff)
Merge commit '910247f1720c6aae422723c05dac6d0b19f20bec'
* commit '910247f1720c6aae422723c05dac6d0b19f20bec': lavc: Deprecate avctx.{inter,intra}_quant_bias Conflicts: libavcodec/mpegvideo_enc.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/avcodec.h14
-rw-r--r--libavcodec/dnxhdenc.c18
-rw-r--r--libavcodec/dnxhdenc.h1
-rw-r--r--libavcodec/internal.h4
-rw-r--r--libavcodec/mpegvideo.h2
-rw-r--r--libavcodec/mpegvideo_enc.c10
-rw-r--r--libavcodec/options_table.h2
-rw-r--r--libavcodec/version.h5
8 files changed, 40 insertions, 16 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 6391cf35f1..e367399deb 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -1761,20 +1761,18 @@ typedef struct AVCodecContext {
*/
int me_range;
+#if FF_API_QUANT_BIAS
/**
- * intra quantizer bias
- * - encoding: Set by user.
- * - decoding: unused
+ * @deprecated use encoder private option instead
*/
- int intra_quant_bias;
+ attribute_deprecated int intra_quant_bias;
#define FF_DEFAULT_QUANT_BIAS 999999
/**
- * inter quantizer bias
- * - encoding: Set by user.
- * - decoding: unused
+ * @deprecated use encoder private option instead
*/
- int inter_quant_bias;
+ attribute_deprecated int inter_quant_bias;
+#endif
/**
* slice flags
diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
index 90d51ffbe5..c034485a5e 100644
--- a/libavcodec/dnxhdenc.c
+++ b/libavcodec/dnxhdenc.c
@@ -46,6 +46,9 @@
static const AVOption options[] = {
{ "nitris_compat", "encode with Avid Nitris compatibility",
offsetof(DNXHDEncContext, nitris_compat), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE },
+ { "ibias", "intra quant bias",
+ offsetof(DNXHDEncContext, intra_quant_bias), AV_OPT_TYPE_INT,
+ { .i64 = FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, VE },
{ NULL }
};
@@ -214,14 +217,14 @@ static av_cold int dnxhd_init_qmat(DNXHDEncContext *ctx, int lbias, int cbias)
weight_matrix[j] = ctx->cid_table->luma_weight[i];
}
ff_convert_matrix(&ctx->m, ctx->qmatrix_l, ctx->qmatrix_l16,
- weight_matrix, ctx->m.intra_quant_bias, 1,
+ weight_matrix, ctx->intra_quant_bias, 1,
ctx->m.avctx->qmax, 1);
for (i = 1; i < 64; i++) {
int j = ctx->m.idsp.idct_permutation[ff_zigzag_direct[i]];
weight_matrix[j] = ctx->cid_table->chroma_weight[i];
}
ff_convert_matrix(&ctx->m, ctx->qmatrix_c, ctx->qmatrix_c16,
- weight_matrix, ctx->m.intra_quant_bias, 1,
+ weight_matrix, ctx->intra_quant_bias, 1,
ctx->m.avctx->qmax, 1);
for (qscale = 1; qscale <= ctx->m.avctx->qmax; qscale++) {
@@ -355,10 +358,15 @@ static av_cold int dnxhd_encode_init(AVCodecContext *avctx)
ctx->m.mb_num = ctx->m.mb_height * ctx->m.mb_width;
- if (avctx->intra_quant_bias != FF_DEFAULT_QUANT_BIAS)
- ctx->m.intra_quant_bias = avctx->intra_quant_bias;
+#if FF_API_QUANT_BIAS
+FF_DISABLE_DEPRECATION_WARNINGS
+ if (ctx->intra_quant_bias == FF_DEFAULT_QUANT_BIAS &&
+ avctx->intra_quant_bias != FF_DEFAULT_QUANT_BIAS)
+ ctx->intra_quant_bias = avctx->intra_quant_bias;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
// XXX tune lbias/cbias
- if ((ret = dnxhd_init_qmat(ctx, ctx->m.intra_quant_bias, 0)) < 0)
+ if ((ret = dnxhd_init_qmat(ctx, ctx->intra_quant_bias, 0)) < 0)
return ret;
/* Avid Nitris hardware decoder requires a minimum amount of padding
diff --git a/libavcodec/dnxhdenc.h b/libavcodec/dnxhdenc.h
index 7ef0b96457..3f531efcfb 100644
--- a/libavcodec/dnxhdenc.h
+++ b/libavcodec/dnxhdenc.h
@@ -63,6 +63,7 @@ typedef struct DNXHDEncContext {
int nitris_compat;
unsigned min_padding;
+ int intra_quant_bias;
DECLARE_ALIGNED(16, int16_t, blocks)[8][64];
diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index a49bf34a26..cea5355380 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -61,6 +61,10 @@
#endif
+#if !FF_API_QUANT_BIAS
+#define FF_DEFAULT_QUANT_BIAS 999999
+#endif
+
#define FF_SANE_NB_CHANNELS 63U
#define FF_SIGNBIT(x) ((x) >> CHAR_BIT * sizeof(x) - 1)
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index ea712af9d0..7b8a812c6e 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -593,6 +593,8 @@ typedef struct MpegEncContext {
{"border_mask", "increase the quantizer for macroblocks close to borders", FF_MPV_OFFSET(border_masking), AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX, FF_MPV_OPT_FLAGS}, \
{"lmin", "minimum Lagrange factor (VBR)", FF_MPV_OFFSET(lmin), AV_OPT_TYPE_INT, {.i64 = 2*FF_QP2LAMBDA }, 0, INT_MAX, FF_MPV_OPT_FLAGS }, \
{"lmax", "maximum Lagrange factor (VBR)", FF_MPV_OFFSET(lmax), AV_OPT_TYPE_INT, {.i64 = 31*FF_QP2LAMBDA }, 0, INT_MAX, FF_MPV_OPT_FLAGS }, \
+{"ibias", "intra quant bias", FF_MPV_OFFSET(intra_quant_bias), AV_OPT_TYPE_INT, {.i64 = FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \
+{"pbias", "inter quant bias", FF_MPV_OFFSET(inter_quant_bias), AV_OPT_TYPE_INT, {.i64 = FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, FF_MPV_OPT_FLAGS }, \
extern const AVOption ff_mpv_generic_options[];
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 7f84bccf2c..71ea9faba6 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -677,10 +677,16 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx)
return AVERROR(EINVAL);
}
- if (avctx->intra_quant_bias != FF_DEFAULT_QUANT_BIAS)
+#if FF_API_QUANT_BIAS
+FF_DISABLE_DEPRECATION_WARNINGS
+ if (s->intra_quant_bias == FF_DEFAULT_QUANT_BIAS &&
+ avctx->intra_quant_bias != FF_DEFAULT_QUANT_BIAS)
s->intra_quant_bias = avctx->intra_quant_bias;
- if (avctx->inter_quant_bias != FF_DEFAULT_QUANT_BIAS)
+ if (s->inter_quant_bias == FF_DEFAULT_QUANT_BIAS &&
+ avctx->inter_quant_bias != FF_DEFAULT_QUANT_BIAS)
s->inter_quant_bias = avctx->inter_quant_bias;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
av_log(avctx, AV_LOG_DEBUG, "intra_quant_bias = %d inter_quant_bias = %d\n",s->intra_quant_bias,s->inter_quant_bias);
diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
index 898511d2e0..e68bdc5716 100644
--- a/libavcodec/options_table.h
+++ b/libavcodec/options_table.h
@@ -304,8 +304,10 @@ static const AVOption avcodec_options[] = {
{"dtg_active_format", NULL, OFFSET(dtg_active_format), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX},
#endif
{"me_range", "limit motion vectors range (1023 for DivX player)", OFFSET(me_range), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, V|E},
+#if FF_API_QUANT_BIAS
{"ibias", "intra quant bias", OFFSET(intra_quant_bias), AV_OPT_TYPE_INT, {.i64 = FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, V|E},
{"pbias", "inter quant bias", OFFSET(inter_quant_bias), AV_OPT_TYPE_INT, {.i64 = FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, V|E},
+#endif
{"global_quality", NULL, OFFSET(global_quality), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, V|A|E},
{"coder", NULL, OFFSET(coder_type), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, V|E, "coder"},
{"vlc", "variable length coder / Huffman coder", 0, AV_OPT_TYPE_CONST, {.i64 = FF_CODER_TYPE_VLC }, INT_MIN, INT_MAX, V|E, "coder"},
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 1073588981..d2bba0aeba 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -30,7 +30,7 @@
#define LIBAVCODEC_VERSION_MAJOR 56
#define LIBAVCODEC_VERSION_MINOR 46
-#define LIBAVCODEC_VERSION_MICRO 100
+#define LIBAVCODEC_VERSION_MICRO 101
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
@@ -190,5 +190,8 @@
#ifndef FF_API_STREAM_CODEC_TAG
#define FF_API_STREAM_CODEC_TAG (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
+#ifndef FF_API_QUANT_BIAS
+#define FF_API_QUANT_BIAS (LIBAVCODEC_VERSION_MAJOR < 59)
+#endif
#endif /* AVCODEC_VERSION_H */