mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 12:36:41 +08:00 
			
		
		
		
	Merge commit '6484149158b6fc6d13d2b2ef84cb26a2d3275400'
* commit '6484149158b6fc6d13d2b2ef84cb26a2d3275400': lavc: make the xvid-specific "gmc" flag a private option of libxvid Conflicts: libavcodec/libxvid.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		| @@ -15,6 +15,10 @@ libavutil:     2012-10-22 | |||||||
|  |  | ||||||
| API changes, most recent first: | API changes, most recent first: | ||||||
|  |  | ||||||
|  | 2014-04-xx - xxxxxxx - lavc 55.50.2 - avcodec.h | ||||||
|  |   Deprecate CODEC_FLAG_GMC. It is replaced by the "gmc" private option of the | ||||||
|  |   libxvid encoder. | ||||||
|  |  | ||||||
| 2014-04-xx - xxxxxxx - lavc 55.50.1 - avcodec.h | 2014-04-xx - xxxxxxx - lavc 55.50.1 - avcodec.h | ||||||
|   Deprecate CODEC_FLAG_NORMALIZE_AQP. It is replaced by the flag "naq" in the |   Deprecate CODEC_FLAG_NORMALIZE_AQP. It is replaced by the flag "naq" in the | ||||||
|   "mpv_flags" private option of the mpegvideo encoders. |   "mpv_flags" private option of the mpegvideo encoders. | ||||||
|   | |||||||
| @@ -745,7 +745,12 @@ typedef struct RcOverride{ | |||||||
| #define CODEC_FLAG_4MV    0x0004  ///< 4 MV per MB allowed / advanced prediction for H.263. | #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_OUTPUT_CORRUPT 0x0008 ///< Output even those frames that might be corrupted | ||||||
| #define CODEC_FLAG_QPEL   0x0010  ///< Use qpel MC. | #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. | #define CODEC_FLAG_GMC    0x0020  ///< Use GMC. | ||||||
|  | #endif | ||||||
| #define CODEC_FLAG_MV0    0x0040  ///< Always try a MB with MV=<0,0>. | #define CODEC_FLAG_MV0    0x0040  ///< Always try a MB with MV=<0,0>. | ||||||
| #if FF_API_INPUT_PRESERVED | #if FF_API_INPUT_PRESERVED | ||||||
| /** | /** | ||||||
|   | |||||||
| @@ -67,6 +67,7 @@ struct xvid_context { | |||||||
|     int variance_aq;               /**< Variance adaptive quantization */ |     int variance_aq;               /**< Variance adaptive quantization */ | ||||||
|     int ssim;                      /**< SSIM information display mode */ |     int ssim;                      /**< SSIM information display mode */ | ||||||
|     int ssim_acc;                  /**< SSIM accuracy. 0: accurate. 4: fast. */ |     int ssim_acc;                  /**< SSIM accuracy. 0: accurate. 4: fast. */ | ||||||
|  |     int gmc; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @@ -422,8 +423,13 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)  { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     /* Bring in VOL flags from ffmpeg command-line */ |     /* Bring in VOL flags from ffmpeg command-line */ | ||||||
|  | #if FF_API_GMC | ||||||
|  |     if (avctx->flags & CODEC_FLAG_GMC) | ||||||
|  |         x->gmc = 1; | ||||||
|  | #endif | ||||||
|  |  | ||||||
|     x->vol_flags = 0; |     x->vol_flags = 0; | ||||||
|     if( xvid_flags & CODEC_FLAG_GMC ) { |     if (x->gmc) { | ||||||
|         x->vol_flags    |= XVID_VOL_GMC; |         x->vol_flags    |= XVID_VOL_GMC; | ||||||
|         x->me_flags     |= XVID_ME_GME_REFINE; |         x->me_flags     |= XVID_ME_GME_REFINE; | ||||||
|     } |     } | ||||||
| @@ -815,6 +821,7 @@ static const AVOption options[] = { | |||||||
|         { "avg",     NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "ssim" }, |         { "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" }, |         { "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 }, |     { "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 }, |     { NULL }, | ||||||
| }; | }; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -54,7 +54,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"}, | {"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"}, | {"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"}, | {"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"}, | {"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"}, | {"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 | #if FF_API_INPUT_PRESERVED | ||||||
| {"input_preserved", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_INPUT_PRESERVED }, INT_MIN, INT_MAX, 0, "flags"}, | {"input_preserved", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = CODEC_FLAG_INPUT_PRESERVED }, INT_MIN, INT_MAX, 0, "flags"}, | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ | |||||||
|  |  | ||||||
| #define LIBAVCODEC_VERSION_MAJOR 55 | #define LIBAVCODEC_VERSION_MAJOR 55 | ||||||
| #define LIBAVCODEC_VERSION_MINOR  60 | #define LIBAVCODEC_VERSION_MINOR  60 | ||||||
| #define LIBAVCODEC_VERSION_MICRO 101 | #define LIBAVCODEC_VERSION_MICRO 102 | ||||||
|  |  | ||||||
| #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | ||||||
|                                                LIBAVCODEC_VERSION_MINOR, \ |                                                LIBAVCODEC_VERSION_MINOR, \ | ||||||
| @@ -153,5 +153,8 @@ | |||||||
| #ifndef FF_API_NORMALIZE_AQP | #ifndef FF_API_NORMALIZE_AQP | ||||||
| #define FF_API_NORMALIZE_AQP     (LIBAVCODEC_VERSION_MAJOR < 57) | #define FF_API_NORMALIZE_AQP     (LIBAVCODEC_VERSION_MAJOR < 57) | ||||||
| #endif | #endif | ||||||
|  | #ifndef FF_API_GMC | ||||||
|  | #define FF_API_GMC               (LIBAVCODEC_VERSION_MAJOR < 57) | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #endif /* AVCODEC_VERSION_H */ | #endif /* AVCODEC_VERSION_H */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Niedermayer
					Michael Niedermayer