Re: [x265] [PATCH 1 of 2] Introduce refine-inter levels 2 and 3
On Thu, Aug 10, 2017 at 12:47 PM, Mario *LigH* Rohkrämer wrote: > Am 10.08.2017, 09:16 Uhr, schrieb Mario *LigH* Rohkrämer >: > > >> Online CLI documentation does not yet contain these parameters at all: >> >> http://x265.readthedocs.io/en/default/cli.html?highlight=refine >> > > > Sorry, my mistake, something slipped in my browser. > > readthedocs.io takes some time to update the docs. I see them there now. > > -- > > Fun and success! > Mario *LigH* Rohkrämer > mailto:cont...@ligh.de > > ___ > x265-devel mailing list > x265-devel@videolan.org > https://mailman.videolan.org/listinfo/x265-devel > ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
Re: [x265] [PATCH 1 of 2] Introduce refine-inter levels 2 and 3
Am 10.08.2017, 09:16 Uhr, schrieb Mario *LigH* Rohkrämer : Online CLI documentation does not yet contain these parameters at all: http://x265.readthedocs.io/en/default/cli.html?highlight=refine Sorry, my mistake, something slipped in my browser. -- Fun and success! Mario *LigH* Rohkrämer mailto:cont...@ligh.de ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
Re: [x265] [PATCH 1 of 2] Introduce refine-inter levels 2 and 3
Online CLI documentation does not yet contain these parameters at all: http://x265.readthedocs.io/en/default/cli.html?highlight=refine Am 10.08.2017, 08:50 Uhr, schrieb Pradeep Ramachandran : 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 -- Fun and success! Mario *LigH* Rohkrämer mailto:cont...@ligh.de ___ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel
Re: [x265] [PATCH 1 of 2] Introduce refine-inter levels 2 and 3
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 for bCTUInfo are 0, 1, 2, 4, 6"); > +CHECK(param->inter
[x265] [PATCH 1 of 2] Introduce refine-inter levels 2 and 3
# 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 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 for bCTUInfo are 0, 1, 2, 4, 6"); +CHECK(param->interRefine > 3 || param->interRefine < 0, +"Invalid refine-inter value, refine-inter levels 0 to 3 supported"); +CHECK(param->intraRefine > 2 || param->intraRefine < 0, +