On Fri, Jun 2, 2017 at 10:58 PM, <kavi...@multicorewareinc.com> wrote:
> # HG changeset patch > # User Kavitha Sampath > # Date 1495595385 -19800 > # Wed May 24 08:39:45 2017 +0530 > # Node ID 404253434d33e99955aac29480ee16b8e939a64c > # Parent f850cdbe381c196758fd445a367487416fef62f9 > cli: add option to specify scale-factor > Pushed full set to default branch > > diff -r f850cdbe381c -r 404253434d33 doc/reST/cli.rst > --- a/doc/reST/cli.rst Tue May 23 12:42:54 2017 +0530 > +++ b/doc/reST/cli.rst Wed May 24 08:39:45 2017 +0530 > @@ -855,6 +855,11 @@ > +--------+-----------------------------------------+ > | 10 | Level 5 + Full CU analysis-info | > +--------+-----------------------------------------+ > +.. option:: --scale-factor > + > + Factor by which input video is scaled down for analysis save mode. > + This option should be coupled with analysis-mode option, > --refine-level 10. > + The ctu size of load should be double the size of save. Default 0. > > Options which affect the transform unit quad-tree, sometimes referred to > as the residual quad-tree (RQT). > diff -r f850cdbe381c -r 404253434d33 source/CMakeLists.txt > --- a/source/CMakeLists.txt Tue May 23 12:42:54 2017 +0530 > +++ b/source/CMakeLists.txt Wed May 24 08:39:45 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 118) > +set(X265_BUILD 119) > configure_file("${PROJECT_SOURCE_DIR}/x265.def.in" > "${PROJECT_BINARY_DIR}/x265.def") > configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in" > diff -r f850cdbe381c -r 404253434d33 source/common/param.cpp > --- a/source/common/param.cpp Tue May 23 12:42:54 2017 +0530 > +++ b/source/common/param.cpp Wed May 24 08:39:45 2017 +0530 > @@ -277,6 +277,7 @@ > param->bDhdr10opt = 0; > param->bCTUInfo = 0; > param->bUseRcStats = 0; > + param->scaleFactor = 0; > } > > int x265_param_default_preset(x265_param* param, const char* preset, > const char* tune) > @@ -957,6 +958,7 @@ > OPT("dhdr10-info") p->toneMapFile = strdup(value); > OPT("dhdr10-opt") p->bDhdr10opt = atobool(value); > OPT("ctu-info") p->bCTUInfo = atoi(value); > + OPT("scale-factor") p->scaleFactor = atoi(value); > else > return X265_PARAM_BAD_NAME; > } > @@ -1291,6 +1293,7 @@ > "Invalid analysis mode. Analysis mode 0: OFF 1: SAVE : 2 LOAD"); > CHECK(param->analysisMode && (param->analysisRefineLevel < 1 || > param->analysisRefineLevel > 10), > "Invalid analysis refine level. Value must be between 1 and 10 > (inclusive)"); > + CHECK(param->scaleFactor > 2, "Invalid scale-factor. Supports factor > <= 2"); > CHECK(param->rc.qpMax < QP_MIN || param->rc.qpMax > QP_MAX_MAX, > "qpmax exceeds supported range (0 to 69)"); > CHECK(param->rc.qpMin < QP_MIN || param->rc.qpMin > QP_MAX_MAX, > @@ -1675,6 +1678,7 @@ > BOOL(p->bHDROpt, "hdr-opt"); > BOOL(p->bDhdr10opt, "dhdr10-opt"); > s += sprintf(s, " refine-level=%d", p->analysisRefineLevel); > + s += sprintf(s, " scale-factor=%d", p->scaleFactor); > BOOL(p->bLimitSAO, "limit-sao"); > s += sprintf(s, " ctu-info=%d", p->bCTUInfo); > #undef BOOL > diff -r f850cdbe381c -r 404253434d33 source/encoder/encoder.cpp > --- a/source/encoder/encoder.cpp Tue May 23 12:42:54 2017 +0530 > +++ b/source/encoder/encoder.cpp Wed May 24 08:39:45 2017 +0530 > @@ -2273,6 +2273,18 @@ > "Disabling Analysis load/save and > multi-pass-opt-analysis/multi-pass-opt-distortion\n"); > p->analysisMode = p->analysisMultiPassRefine = > p->analysisMultiPassDistortion = 0; > } > + if (p->scaleFactor) > + { > + if (p->scaleFactor == 1) > + { > + p->scaleFactor = 0; > + } > + else if (!p->analysisMode || p->analysisRefineLevel < 10) > + { > + x265_log(p, X265_LOG_WARNING, "Input scaling works with > analysis-mode, refine-level 10. Disabling scale-factor.\n"); > + p->scaleFactor = 0; > + } > + } > > if ((p->analysisMultiPassRefine || p->analysisMultiPassDistortion) > && (p->bDistributeModeAnalysis || p->bDistributeMotionEstimation)) > { > diff -r f850cdbe381c -r 404253434d33 source/x265.h > --- a/source/x265.h Tue May 23 12:42:54 2017 +0530 > +++ b/source/x265.h Wed May 24 08:39:45 2017 +0530 > @@ -1438,6 +1438,9 @@ > > /* Use ratecontrol statistics from pic_in, if available*/ > int bUseRcStats; > + > + /* Factor by which input video is scaled down for analysis save mode. > Default is 0 */ > + int scaleFactor; > } x265_param; > /* x265_param_alloc: > * Allocates an x265_param instance. The returned param structure is not > diff -r f850cdbe381c -r 404253434d33 source/x265cli.h > --- a/source/x265cli.h Tue May 23 12:42:54 2017 +0530 > +++ b/source/x265cli.h Wed May 24 08:39:45 2017 +0530 > @@ -251,6 +251,7 @@ > { "analysis-mode", required_argument, NULL, 0 }, > { "analysis-file", required_argument, NULL, 0 }, > { "refine-level", required_argument, NULL, 0 }, > + { "scale-factor", required_argument, NULL, 0 }, > { "strict-cbr", no_argument, NULL, 0 }, > { "temporal-layers", no_argument, NULL, 0 }, > { "no-temporal-layers", no_argument, NULL, 0 }, > @@ -440,6 +441,7 @@ > H0(" --analysis-mode <string|int> save - Dump analysis info into > file, load - Load analysis buffers from the file. Default %d\n", > param->analysisMode); > H0(" --analysis-file <filename> Specify file name used for > either dumping or reading analysis data.\n"); > H0(" --refine-level <1..10> Level of analysis refinement > indicates amount of info stored/reused in save/load mode, > 1:least....10:most. Default %d\n", param->analysisRefineLevel); > + H0(" --scale-factor <int> Specify factor by which input > video is scaled down for analysis save mode. Default %d\n", > param->scaleFactor); > H0(" --aq-mode <integer> Mode for Adaptive Quantization - > 0:none 1:uniform AQ 2:auto variance 3:auto variance with bias to dark > scenes. Default %d\n", param->rc.aqMode); > H0(" --aq-strength <float> Reduces blocking and blurring in > flat and textured areas (0 to 3.0). Default %.2f\n", param->rc.aqStrength); > H0(" --[no-]aq-motion Adaptive Quantization based on > the relative motion of each CU w.r.t., frame. Default %s\n", > OPT(param->bOptCUDeltaQP)); > _______________________________________________ > 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