History

lavc: make the xvid-specific "gmc" flag a private option of libxvid

Anton Khirnov committed 12 years ago

Commit 64841491 parent b2c31715 files · +23 −2Browse files

Unified · Split

5 files
  1. doc/APIchanges +4 −0
  2. libavcodec/avcodec.h +5 −0
  3. libavcodec/libxvid.c +8 −1
  4. libavcodec/options_table.h +2 −0
  5. libavcodec/version.h +4 −1
doc/APIchanges+4−0
@@ -13,6 +13,10 @@ libavutil: 2013-12-xx · 12 unmodified lines
13 13
14API changes, most recent first:14API changes, most recent first:
15 15
162014-04-xx - xxxxxxx - lavc 55.50.2 - avcodec.h
17 Deprecate CODEC_FLAG_GMC. It is replaced by the "gmc" private option of the
18 libxvid encoder.
19
162014-04-xx - xxxxxxx - lavc 55.50.1 - avcodec.h202014-04-xx - xxxxxxx - lavc 55.50.1 - avcodec.h
17 Deprecate CODEC_FLAG_NORMALIZE_AQP. It is replaced by the flag "naq" in the21 Deprecate CODEC_FLAG_NORMALIZE_AQP. It is replaced by the flag "naq" in the
18 "mpv_flags" private option of the mpegvideo encoders.22 "mpv_flags" private option of the mpegvideo encoders.
libavcodec/avcodec.h+5−0
@@ -669,7 +669,12 @@ typedef struct RcOverride{ · 668 unmodified lines
669#define CODEC_FLAG_4MV 0x0004 ///< 4 MV per MB allowed / advanced prediction for H.263.669#define CODEC_FLAG_4MV 0x0004 ///< 4 MV per MB allowed / advanced prediction for H.263.
670#define CODEC_FLAG_OUTPUT_CORRUPT 0x0008 ///< Output even those frames that might be corrupted670#define CODEC_FLAG_OUTPUT_CORRUPT 0x0008 ///< Output even those frames that might be corrupted
671#define CODEC_FLAG_QPEL 0x0010 ///< Use qpel MC.671#define CODEC_FLAG_QPEL 0x0010 ///< Use qpel MC.
672#if FF_API_GMC
673/**
674 * @deprecated use the "gmc" private option of the libxvid encoder
675 */
672#define CODEC_FLAG_GMC 0x0020 ///< Use GMC.676#define CODEC_FLAG_GMC 0x0020 ///< Use GMC.
677#endif
673#define CODEC_FLAG_MV0 0x0040 ///< Always try a MB with MV=<0,0>.678#define CODEC_FLAG_MV0 0x0040 ///< Always try a MB with MV=<0,0>.
674#if FF_API_INPUT_PRESERVED679#if FF_API_INPUT_PRESERVED
675/**680/**
libavcodec/libxvid.c+8−1
@@ -64,6 +64,7 @@ struct xvid_context { · 63 unmodified lines
64 int variance_aq; /**< Variance adaptive quantization */64 int variance_aq; /**< Variance adaptive quantization */
65 int ssim; /**< SSIM information display mode */65 int ssim; /**< SSIM information display mode */
66 int ssim_acc; /**< SSIM accuracy. 0: accurate. 4: fast. */66 int ssim_acc; /**< SSIM accuracy. 0: accurate. 4: fast. */
67 int gmc;
67};68};
68 69
69/**70/**
@@ -416,8 +417,13 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx) { · 346 unmodified lines
416 }417 }
417 418
418 /* Bring in VOL flags from avconv command-line */419 /* Bring in VOL flags from avconv command-line */
420#if FF_API_GMC
421 if (avctx->flags & CODEC_FLAG_GMC)
422 x->gmc = 1;
423#endif
424
419 x->vol_flags = 0;425 x->vol_flags = 0;
420 if( xvid_flags & CODEC_FLAG_GMC ) {426 if (x->gmc) {
421 x->vol_flags |= XVID_VOL_GMC;427 x->vol_flags |= XVID_VOL_GMC;
422 x->me_flags |= XVID_ME_GME_REFINE;428 x->me_flags |= XVID_ME_GME_REFINE;
423 }429 }
@@ -799,6 +805,7 @@ static const AVOption options[] = { · 375 unmodified lines
799 { "avg", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "ssim" },805 { "avg", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "ssim" },
800 { "frame", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 2 }, INT_MIN, INT_MAX, VE, "ssim" },806 { "frame", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 2 }, INT_MIN, INT_MAX, VE, "ssim" },
801 { "ssim_acc", "SSIM accuracy", OFFSET(ssim_acc), AV_OPT_TYPE_INT, { .i64 = 2 }, 0, 4, VE },807 { "ssim_acc", "SSIM accuracy", OFFSET(ssim_acc), AV_OPT_TYPE_INT, { .i64 = 2 }, 0, 4, VE },
808 { "gmc", "use GMC", OFFSET(gmc), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE },
802 { NULL },809 { NULL },
803};810};
804 811
libavcodec/options_table.h+2−0
@@ -52,7 +52,9 @@ static const AVOption avcodec_options[] = { · 51 unmodified lines
52{"qpel", "use 1/4-pel motion compensation", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_QPEL }, INT_MIN, INT_MAX, V|E, "flags"},52{"qpel", "use 1/4-pel motion compensation", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_QPEL }, INT_MIN, INT_MAX, V|E, "flags"},
53{"loop", "use loop filter", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_LOOP_FILTER }, INT_MIN, INT_MAX, V|E, "flags"},53{"loop", "use loop filter", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_LOOP_FILTER }, INT_MIN, INT_MAX, V|E, "flags"},
54{"qscale", "use fixed qscale", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_QSCALE }, INT_MIN, INT_MAX, 0, "flags"},54{"qscale", "use fixed qscale", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_QSCALE }, INT_MIN, INT_MAX, 0, "flags"},
55#if FF_API_GMC
55{"gmc", "use gmc", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_GMC }, INT_MIN, INT_MAX, V|E, "flags"},56{"gmc", "use gmc", 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_GMC }, INT_MIN, INT_MAX, V|E, "flags"},
57#endif
56{"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"},58{"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"},
57#if FF_API_INPUT_PRESERVED59#if FF_API_INPUT_PRESERVED
58{"input_preserved", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_INPUT_PRESERVED }, INT_MIN, INT_MAX, 0, "flags"},60{"input_preserved", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_INPUT_PRESERVED }, INT_MIN, INT_MAX, 0, "flags"},
libavcodec/version.h+4−1
@@ -30,7 +30,7 @@ · 29 unmodified lines
30 30
31#define LIBAVCODEC_VERSION_MAJOR 5531#define LIBAVCODEC_VERSION_MAJOR 55
32#define LIBAVCODEC_VERSION_MINOR 5032#define LIBAVCODEC_VERSION_MINOR 50
33#define LIBAVCODEC_VERSION_MICRO 133#define LIBAVCODEC_VERSION_MICRO 2
34 34
35#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \35#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
36 LIBAVCODEC_VERSION_MINOR, \36 LIBAVCODEC_VERSION_MINOR, \
@@ -135,5 +135,8 @@ · 98 unmodified lines
135#ifndef FF_API_NORMALIZE_AQP135#ifndef FF_API_NORMALIZE_AQP
136#define FF_API_NORMALIZE_AQP (LIBAVCODEC_VERSION_MAJOR < 57)136#define FF_API_NORMALIZE_AQP (LIBAVCODEC_VERSION_MAJOR < 57)
137#endif137#endif
138#ifndef FF_API_GMC
139#define FF_API_GMC (LIBAVCODEC_VERSION_MAJOR < 57)
140#endif
138 141
139#endif /* AVCODEC_VERSION_H */142#endif /* AVCODEC_VERSION_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t