aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2014-04-29 08:08:43 +0200
committerAnton Khirnov <anton@khirnov.net>2014-05-01 09:24:02 +0200
commit6484149158b6fc6d13d2b2ef84cb26a2d3275400 (patch)
treee05317f2538eba8042c44d890457b07d5e90eaa4 /libavcodec
parentb2c31710c96fa47d9dcd40b64d39663e8957f683 (diff)
downloadffmpeg-6484149158b6fc6d13d2b2ef84cb26a2d3275400.tar.gz
lavc: make the xvid-specific "gmc" flag a private option of libxvid
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/avcodec.h5
-rw-r--r--libavcodec/libxvid.c9
-rw-r--r--libavcodec/options_table.h2
-rw-r--r--libavcodec/version.h5
4 files changed, 19 insertions, 2 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 6c430fecaf..6ffc717b23 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -669,7 +669,12 @@ typedef struct RcOverride{
#define CODEC_FLAG_4MV 0x0004 ///< 4 MV per MB allowed / advanced prediction for H.263.
#define CODEC_FLAG_OUTPUT_CORRUPT 0x0008 ///< Output even those frames that might be corrupted
#define CODEC_FLAG_QPEL 0x0010 ///< Use qpel MC.
+#if FF_API_GMC
+/**
+ * @deprecated use the "gmc" private option of the libxvid encoder
+ */
#define CODEC_FLAG_GMC 0x0020 ///< Use GMC.
+#endif
#define CODEC_FLAG_MV0 0x0040 ///< Always try a MB with MV=<0,0>.
#if FF_API_INPUT_PRESERVED
/**
diff --git a/libavcodec/libxvid.c b/libavcodec/libxvid.c
index dd68ecaa08..eab61be393 100644
--- a/libavcodec/libxvid.c
+++ b/libavcodec/libxvid.c
@@ -64,6 +64,7 @@ struct xvid_context {
int variance_aq; /**< Variance adaptive quantization */
int ssim; /**< SSIM information display mode */
int ssim_acc; /**< SSIM accuracy. 0: accurate. 4: fast. */
+ int gmc;
};
/**
@@ -416,8 +417,13 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx) {
}
/* Bring in VOL flags from avconv command-line */
+#if FF_API_GMC
+ if (avctx->flags & CODEC_FLAG_GMC)
+ x->gmc = 1;
+#endif
+
x->vol_flags = 0;
- if( xvid_flags & CODEC_FLAG_GMC ) {
+ if (x->gmc) {
x->vol_flags |= XVID_VOL_GMC;
x->me_flags |= XVID_ME_GME_REFINE;
}
@@ -799,6 +805,7 @@ static const AVOption options[] = {
{ "avg", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "ssim" },
{ "frame", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 2 }, INT_MIN, INT_MAX, VE, "ssim" },
{ "ssim_acc", "SSIM accuracy", OFFSET(ssim_acc), AV_OPT_TYPE_INT, { .i64 = 2 }, 0, 4, VE },
+ { "gmc", "use GMC", OFFSET(gmc), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE },
{ NULL },
};
diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
index b48a4fd543..684286d6f7 100644
--- a/libavcodec/options_table.h
+++ b/libavcodec/options_table.h
@@ -52,7 +52,9 @@ static const AVOption avcodec_options[] = {
{"qpel", "use 1/4-pel motion compensation", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_QPEL }, INT_MIN, INT_MAX, V|E, "flags"},
{"loop", "use loop filter", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_LOOP_FILTER }, INT_MIN, INT_MAX, V|E, "flags"},
{"qscale", "use fixed qscale", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_QSCALE }, INT_MIN, INT_MAX, 0, "flags"},
+#if FF_API_GMC
{"gmc", "use gmc", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_GMC }, INT_MIN, INT_MAX, V|E, "flags"},
+#endif
{"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"},
diff --git a/libavcodec/version.h b/libavcodec/version.h
index f1585420c2..a1d605491f 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -30,7 +30,7 @@
#define LIBAVCODEC_VERSION_MAJOR 55
#define LIBAVCODEC_VERSION_MINOR 50
-#define LIBAVCODEC_VERSION_MICRO 1
+#define LIBAVCODEC_VERSION_MICRO 2
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \
@@ -135,5 +135,8 @@
#ifndef FF_API_NORMALIZE_AQP
#define FF_API_NORMALIZE_AQP (LIBAVCODEC_VERSION_MAJOR < 57)
#endif
+#ifndef FF_API_GMC
+#define FF_API_GMC (LIBAVCODEC_VERSION_MAJOR < 57)
+#endif
#endif /* AVCODEC_VERSION_H */