On Wed, Aug 9, 2017 at 6:11 PM, wrote:
> # HG changeset patch
> # User Bhavna Hariharan
> # Date 1500881283 -19800
> # Mon Jul 24 12:58:03 2017 +0530
> # Node ID 81f17d9c7c273e4b282be66bf8bcd193e25a1d2e
> # Parent d11482e5fedbcdaf62ee3c6872f43827d99ad181
> Introduce refine-inter levels 2 and 3
>
Pushed both patches to default branch
>
> refine-inter 2 limits the modes evaluated in the encode that uses
> --analysis-reuse-mode load.
> 2nx2n in save encode - disable re-evaluation of rect and amp
> skip in save encode - re-evaluates only skip, merge and 2nx2n modes
>
> refine-inter 3 will force only the depth from the encode that uses
> --analysis-reuse-mode=save and re-evaluates all the modes in the
> encode that uses --analysis-reuse-mode=load.
>
> diff -r d11482e5fedb -r 81f17d9c7c27 doc/reST/cli.rst
> --- a/doc/reST/cli.rst Mon Jul 24 11:15:38 2017 +0530
> +++ b/doc/reST/cli.rst Mon Jul 24 12:58:03 2017 +0530
> @@ -897,24 +897,38 @@
>
> Enables refinement of intra blocks in current encode.
>
> - Level 0 - Forces both mode and depth from the previous encode.
> + Level 0 - Forces both mode and depth from the save encode.
>
> - Level 1 - Evaluates all intra modes for blocks of size one smaller
> than
> - the min-cu-size of the incoming analysis data from the previous
> encode,
> - forces modes for blocks of larger size.
> + Level 1 - Evaluates all intra modes at current depth(n) and at
> depth
> + (n+1) when current block size is one greater than the min-cu-size.
> + Forces modes for larger blocks.
>
> - Level 2 - Evaluates all intra modes for blocks of size one smaller
> than
> - the min-cu-size of the incoming analysis data from the previous
> encode.
> - For larger blocks, force only depth when angular mode is chosen by
> the
> - previous encode, force depth and mode when other intra modes are
> chosen.
> + Level 2 - In addition to the functionality of level 1, at all
> depths, force
> + (a) only depth when angular mode is chosen by the save encode.
> + (b) depth and mode when other intra modes are chosen by the save
> encode.
>
> Default 0.
>
> -.. option:: --refine-inter-depth
> -
> - Enables refinement of inter blocks in current encode. Evaluates all
> - inter modes for blocks of size one smaller than the min-cu-size of
> the
> - incoming analysis data from the previous encode. Default disabled.
> +.. option:: --refine-inter <0..3>
> +
> + Enables refinement of inter blocks in current encode.
> +
> + Level 0 - Forces both mode and depth from the save encode.
> +
> + Level 1 - Evaluates all inter modes at current depth(n) and at
> depth
> + (n+1) when current block size is one greater than the min-cu-size.
> + Forces modes for larger blocks.
> +
> + Level 2 - In addition to the functionality of level 1, restricts
> the modes
> + evaluated when specific modes are decided as the best mode by the
> save encode.
> +
> + 2nx2n in save encode - disable re-evaluation of rect and amp.
> +
> + skip in save encode - re-evaluates only skip, merge and 2nx2n
> modes.
> +
> + Level 3 - Perform analysis of inter modes while reusing depths
> from the save encode.
> +
> + Default 0.
>
> .. option:: --refine-mv
>
> diff -r d11482e5fedb -r 81f17d9c7c27 source/CMakeLists.txt
> --- a/source/CMakeLists.txt Mon Jul 24 11:15:38 2017 +0530
> +++ b/source/CMakeLists.txt Mon Jul 24 12:58:03 2017 +0530
> @@ -29,7 +29,7 @@
> option(STATIC_LINK_CRT "Statically link C runtime for release builds" OFF)
> mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD)
> # X265_BUILD must be incremented each time the public API is changed
> -set(X265_BUILD 131)
> +set(X265_BUILD 132)
> configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
> "${PROJECT_BINARY_DIR}/x265.def")
> configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
> diff -r d11482e5fedb -r 81f17d9c7c27 source/common/param.cpp
> --- a/source/common/param.cpp Mon Jul 24 11:15:38 2017 +0530
> +++ b/source/common/param.cpp Mon Jul 24 12:58:03 2017 +0530
> @@ -972,7 +972,7 @@
> OPT("ctu-info") p->bCTUInfo = atoi(value);
> OPT("scale-factor") p->scaleFactor = atoi(value);
> OPT("refine-intra")p->intraRefine = atoi(value);
> -OPT("refine-inter")p->interRefine = atobool(value);
> +OPT("refine-inter")p->interRefine = atoi(value);
> OPT("refine-mv")p->mvRefine = atobool(value);
> OPT("force-flush")p->forceFlush = atoi(value);
> else
> @@ -1318,6 +1318,10 @@
> "Supported range for log2MaxPocLsb is 4 to 16");
> CHECK(param->bCTUInfo < 0 || (param->bCTUInfo != 0 && param->bCTUInfo
> != 1 && param->bCTUInfo != 2 && param->bCTUInfo != 4 && param->bCTUInfo !=
> 6) || param->bCTUInfo > 6,
> "Supported values