Originally committed as revision 13660 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
| @@ -31,7 +31,7 @@ | |||||
| #define LIBAVCODEC_VERSION_MAJOR 51 | #define LIBAVCODEC_VERSION_MAJOR 51 | ||||
| #define LIBAVCODEC_VERSION_MINOR 57 | #define LIBAVCODEC_VERSION_MINOR 57 | ||||
| #define LIBAVCODEC_VERSION_MICRO 1 | |||||
| #define LIBAVCODEC_VERSION_MICRO 2 | |||||
| #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, \ | ||||
| @@ -374,6 +374,7 @@ enum Motion_Est_ID { | |||||
| ME_HEX, ///< hexagon based search | ME_HEX, ///< hexagon based search | ||||
| ME_UMH, ///< uneven multi-hexagon search | ME_UMH, ///< uneven multi-hexagon search | ||||
| ME_ITER, ///< iterative search | ME_ITER, ///< iterative search | ||||
| ME_TESA, ///< thresholded exhaustive search algorithm | |||||
| }; | }; | ||||
| enum AVDiscard{ | enum AVDiscard{ | ||||
| @@ -840,7 +841,7 @@ typedef struct AVCodecContext { | |||||
| /** | /** | ||||
| * Motion estimation algorithm used for video coding. | * Motion estimation algorithm used for video coding. | ||||
| * 1 (zero), 2 (full), 3 (log), 4 (phods), 5 (epzs), 6 (x1), 7 (hex), | * 1 (zero), 2 (full), 3 (log), 4 (phods), 5 (epzs), 6 (x1), 7 (hex), | ||||
| * 8 (umh), 9 (iter) [7, 8 are x264 specific, 9 is snow specific] | |||||
| * 8 (umh), 9 (iter), 10 (tesa) [7, 8, 10 are x264 specific, 9 is snow specific] | |||||
| * - encoding: MUST be set by user. | * - encoding: MUST be set by user. | ||||
| * - decoding: unused | * - decoding: unused | ||||
| */ | */ | ||||
| @@ -220,6 +220,8 @@ X264_init(AVCodecContext *avctx) | |||||
| x4->params.analyse.i_me_method = X264_ME_UMH; | x4->params.analyse.i_me_method = X264_ME_UMH; | ||||
| else if(avctx->me_method == ME_FULL) | else if(avctx->me_method == ME_FULL) | ||||
| x4->params.analyse.i_me_method = X264_ME_ESA; | x4->params.analyse.i_me_method = X264_ME_ESA; | ||||
| else if(avctx->me_method == ME_TESA) | |||||
| x4->params.analyse.i_me_method = X264_ME_TESA; | |||||
| else x4->params.analyse.i_me_method = X264_ME_HEX; | else x4->params.analyse.i_me_method = X264_ME_HEX; | ||||
| x4->params.analyse.i_me_range = avctx->me_range; | x4->params.analyse.i_me_range = avctx->me_range; | ||||
| @@ -424,6 +424,9 @@ static const AVOption options[]={ | |||||
| {"zero", "zero motion estimation (fastest)", 0, FF_OPT_TYPE_CONST, ME_ZERO, INT_MIN, INT_MAX, V|E, "me_method" }, | {"zero", "zero motion estimation (fastest)", 0, FF_OPT_TYPE_CONST, ME_ZERO, INT_MIN, INT_MAX, V|E, "me_method" }, | ||||
| {"full", "full motion estimation (slowest)", 0, FF_OPT_TYPE_CONST, ME_FULL, INT_MIN, INT_MAX, V|E, "me_method" }, | {"full", "full motion estimation (slowest)", 0, FF_OPT_TYPE_CONST, ME_FULL, INT_MIN, INT_MAX, V|E, "me_method" }, | ||||
| {"epzs", "EPZS motion estimation (default)", 0, FF_OPT_TYPE_CONST, ME_EPZS, INT_MIN, INT_MAX, V|E, "me_method" }, | {"epzs", "EPZS motion estimation (default)", 0, FF_OPT_TYPE_CONST, ME_EPZS, INT_MIN, INT_MAX, V|E, "me_method" }, | ||||
| {"esa", "esa motion estimation (alias for full)", 0, FF_OPT_TYPE_CONST, ME_FULL, INT_MIN, INT_MAX, V|E, "me_method" }, | |||||
| {"tesa", "tesa motion estimation", 0, FF_OPT_TYPE_CONST, ME_TESA, INT_MIN, INT_MAX, V|E, "me_method" }, | |||||
| {"dia", "dia motion estimation (alias for epzs)", 0, FF_OPT_TYPE_CONST, ME_EPZS, INT_MIN, INT_MAX, V|E, "me_method" }, | |||||
| {"log", "log motion estimation", 0, FF_OPT_TYPE_CONST, ME_LOG, INT_MIN, INT_MAX, V|E, "me_method" }, | {"log", "log motion estimation", 0, FF_OPT_TYPE_CONST, ME_LOG, INT_MIN, INT_MAX, V|E, "me_method" }, | ||||
| {"phods", "phods motion estimation", 0, FF_OPT_TYPE_CONST, ME_PHODS, INT_MIN, INT_MAX, V|E, "me_method" }, | {"phods", "phods motion estimation", 0, FF_OPT_TYPE_CONST, ME_PHODS, INT_MIN, INT_MAX, V|E, "me_method" }, | ||||
| {"x1", "X1 motion estimation", 0, FF_OPT_TYPE_CONST, ME_X1, INT_MIN, INT_MAX, V|E, "me_method" }, | {"x1", "X1 motion estimation", 0, FF_OPT_TYPE_CONST, ME_X1, INT_MIN, INT_MAX, V|E, "me_method" }, | ||||