[x265] [PATCH 2/2] Add CLI option to enable/disable Temporal MVP

Steve Borho steve at borho.org
Thu Oct 23 16:48:23 CEST 2014


On 10/23, Nicolas Morey-Chaisemartin wrote:
> ---
>  source/common/param.cpp | 3 +++
>  source/x265.cpp         | 3 +++
>  2 files changed, 6 insertions(+)
> 
> diff --git a/source/common/param.cpp b/source/common/param.cpp
> index ce3f56e..cf256ab 100644
> --- a/source/common/param.cpp
> +++ b/source/common/param.cpp
> @@ -557,6 +557,8 @@ int x265_param_parse(x265_param *p, const char *name, const char *value)
>      OPT("rect") p->bEnableRectInter = atobool(value);
>      OPT("amp") p->bEnableAMP = atobool(value);
>      OPT("max-merge") p->maxNumMergeCand = (uint32_t)atoi(value);
> +    OPT("temporal-mvp") p->bEnableTemporalMvp = atobool(value);
> +
>      OPT("early-skip") p->bEnableEarlySkip = atobool(value);
>      OPT("fast-cbf") p->bEnableCbfFastMode = atobool(value);
>      OPT("rdpenalty") p->rdPenalty = atoi(value);
> @@ -1213,6 +1215,7 @@ char *x265_param2string(x265_param *p)
>      BOOL(p->bEnableRectInter, "rect");
>      BOOL(p->bEnableAMP, "amp");
>      s += sprintf(s, " max-merge=%d", p->maxNumMergeCand);
> +    BOOL(p->bEnableTemporalMvp, "temporal-mvp");
>      BOOL(p->bEnableEarlySkip, "early-skip");
>      BOOL(p->bEnableCbfFastMode, "fast-cbf");
>      s += sprintf(s, " rdpenalty=%d", p->rdPenalty);
> diff --git a/source/x265.cpp b/source/x265.cpp
> index 72956ee..6a4e61a 100644
> --- a/source/x265.cpp
> +++ b/source/x265.cpp
> @@ -100,6 +100,8 @@ static const struct option long_options[] =
>      { "subme",          required_argument, NULL, 'm' },
>      { "merange",        required_argument, NULL, 0 },
>      { "max-merge",      required_argument, NULL, 0 },
> +    { "temporal-mvp",         no_argument, NULL, 0 },
> +    { "no-temporal-mvp",      no_argument, NULL, 0 },
>      { "rdpenalty",      required_argument, NULL, 0 },
>      { "no-rect",              no_argument, NULL, 0 },
>      { "rect",                 no_argument, NULL, 0 },
> @@ -385,6 +387,7 @@ void CLIOptions::showHelp(x265_param *param)
>      H0("-m/--subme <integer>             Amount of subpel refinement to perform (0:least .. 7:most). Default %d \n", param->subpelRefine);
>      H0("   --merange <integer>           Motion search range. Default %d\n", param->searchRange);
>      H0("   --max-merge <1..5>            Maximum number of merge candidates. Default %d\n", param->maxNumMergeCand);
> +    H0("   --[no-]temporal-mvp           Enable temporal MV predictors. Default %s\n", OPT(param->bEnableTemporalMvp));
>      H0("\nSpatial / intra options:\n");
>      H0("   --[no-]strong-intra-smoothing Enable strong intra smoothing for 32x32 blocks. Default %s\n", OPT(param->bEnableStrongIntraSmoothing));
>      H0("   --[no-]constrained-intra      Constrained intra prediction (use only intra coded reference pixels) Default %s\n", OPT(param->bEnableConstrainedIntra));

New params / CLI options also need to be documented in docs/reST/cli.rst

-- 
Steve Borho


More information about the x265-devel mailing list