[x265] [PATCH] presets: fix bugs, better spread out the efficiency/speed data points

Deepthi Nandakumar deepthi at multicorewareinc.com
Sat Nov 16 02:23:19 CET 2013


Thanks.

param->lookaheadDepth is meaningful only when bFrameAdaptive >= 1
(bFrameAdaptive 0: default GOP structure described with N bframes, more
details in our Eval Guide).

Hence the parameter was omitted for ultrafast and superfast.


On Fri, Nov 15, 2013 at 4:56 PM, Selur <hybrid at selur.de> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> param->tuQTMaxInterDepth = 1;
> param->tuQTMaxIntraDepth = 1;
> can be removed from all presets since they are already default
>
> default "param->lookaheadDepth = 40"
> veryfast has "param->lookaheadDepth = 10"
> - -> seems like superfast and ultrafast should get
> "param->lookaheadDepth = 0" or "param->lookaheadDepth = 10"
>
>
> On 15.11.2013 09:22, deepthi at multicorewareinc.com wrote:
> > # HG changeset patch # User Deepthi Nandakumar
> > <deepthi at multicorewareinc.com> # Date 1384503712 -19800 # Node ID
> > a85c5f4187948982e44f308174e4ac2130894c7f # Parent
> > a5689bb5808eb1262694f59f76d7170b918635bc presets: fix bugs, better
> > spread out the efficiency/speed data points.
> >
> > diff -r a5689bb5808e -r a85c5f418794 source/common/common.cpp ---
> > a/source/common/common.cpp    Fri Nov 15 13:50:42 2013 +0530 +++
> > b/source/common/common.cpp    Fri Nov 15 13:51:52 2013 +0530 @@
> > -142,6 +142,10 @@ param->logLevel = X265_LOG_INFO;
> > param->bEnableWavefront = 1; param->frameNumThreads = 0; +
> > param->poolNumThreads = 0; + param->csvfn = NULL; + +    /* Source
> > specifications */ param->inputBitDepth = 8; param->sourceCsp =
> > X265_CSP_I420;
> >
> > @@ -154,12 +158,14 @@ param->decodingRefreshType = 1;
> > param->keyframeMin = 0; param->keyframeMax = 250; + param->bOpenGOP
> > = 0; param->bframes = 3; param->lookaheadDepth = 40;
> > param->bFrameAdaptive = X265_B_ADAPT_FAST; param->scenecutThreshold
> > = 40; /* Magic number pulled in from x264*/
> >
> > /* Intra Coding Tools */ +    param->bEnableConstrainedIntra = 0;
> > param->bEnableStrongIntraSmoothing = 1;
> >
> > /* Inter Coding tools */ @@ -167,24 +173,34 @@ param->subpelRefine
> > = 5; param->searchRange = 60; param->maxNumMergeCand = 3; +
> > param->bEnableWeightedPred = 0; +    param->bEnableWeightedBiPred
> > = 0; +    param->bEnableEarlySkip = 0; +
> > param->bEnableCbfFastMode = 0; param->bEnableAMP = 1;
> > param->bEnableRectInter = 1; param->rdLevel = X265_NO_RDO_NO_RDOQ;
> > -    param->bEnableRDO = 1; - param->bEnableRDOQ = 1; +
> > param->bEnableRDO = 0; + param->bEnableRDOQ = 0;
> > param->bEnableRDOQTS = 1; param->bEnableSignHiding = 1;
> > param->bEnableTransformSkip = 0; param->bEnableTSkipFast = 1;
> > param->maxNumReferences = 3; - + /* Loop Filter */
> > param->bEnableLoopFilter = 1;
> >
> > /* SAO Loop Filter */ param->bEnableSAO = 1; +
> > param->saoLcuBoundary = 0; param->saoLcuBasedOptimization = 1;
> >
> > +    /* Coding Quality */ +    param->cbQpOffset = 0; +
> > param->crQpOffset = 0; +    param->rdPenalty = 0; + /* Rate
> > control options */ param->rc.rfConstant = 28; param->rc.bitrate =
> > 0; @@ -261,9 +277,8 @@ param->bframes = 4; param->tuQTMaxInterDepth
> > = 1; param->tuQTMaxIntraDepth = 1; -            param->rdLevel = 0;
> >  param->subpelRefine = 0; -            param->maxNumMergeCand = 1;
> > + param->maxNumMergeCand = 2; param->searchMethod =
> > X265_DIA_SEARCH; param->bEnableRectInter = 0; param->bEnableAMP =
> > 0; @@ -273,8 +288,7 @@ param->bEnableLoopFilter = 0;
> > param->bEnableSAO = 0; param->bEnableSignHiding = 0; -
> > param->bEnableWeightedPred = 0; -            param->rc.aqMode =
> > X265_AQ_NONE; +            param->maxNumReferences = 1; } else if
> > (!strcmp(preset, "superfast")) { @@ -284,10 +298,9 @@
> > param->bframes = 4; param->tuQTMaxInterDepth = 1;
> > param->tuQTMaxIntraDepth = 1; -            param->rdLevel = 0;
> > param->subpelRefine = 1; -            param->maxNumMergeCand = 1;
> > - param->searchMethod = X265_DIA_SEARCH; + param->maxNumMergeCand =
> > 2; +            param->searchMethod = X265_HEX_SEARCH;
> > param->bEnableRectInter = 0; param->bEnableAMP = 0;
> > param->bEnableTransformSkip = 0; @@ -295,7 +308,7 @@
> > param->bEnableCbfFastMode = 1; param->bEnableSAO = 0;
> > param->bEnableSignHiding = 0; - param->bEnableWeightedPred = 0; +
> > param->maxNumReferences = 1; } else if (!strcmp(preset,
> > "veryfast")) { @@ -303,7 +316,6 @@ param->bFrameAdaptive = 1;
> > param->tuQTMaxInterDepth = 1; param->tuQTMaxIntraDepth = 1; -
> > param->rdLevel = 0; param->subpelRefine = 1; param->searchMethod =
> > X265_HEX_SEARCH; param->maxNumMergeCand = 2; @@ -312,6 +324,7 @@
> > param->bEnableTransformSkip = 0; param->bEnableEarlySkip = 1;
> > param->bEnableCbfFastMode = 1; +
> > param->maxNumReferences = 1; } else if (!strcmp(preset, "faster"))
> > { @@ -319,7 +332,6 @@ param->bFrameAdaptive = 1;
> > param->tuQTMaxInterDepth = 1; param->tuQTMaxIntraDepth = 1; -
> > param->rdLevel = 0; param->subpelRefine = 2; param->searchMethod =
> > X265_HEX_SEARCH; param->maxNumMergeCand = 2; @@ -327,13 +339,15 @@
> > param->bEnableAMP = 0; param->bEnableTransformSkip = 0;
> > param->maxNumReferences = 2; +            param->bEnableEarlySkip =
> > 1; + param->bEnableCbfFastMode = 1; } else if (!strcmp(preset,
> > "fast")) { -            param->lookaheadDepth = 30; +
> > param->lookaheadDepth = 20; +            param->bFrameAdaptive = 1;
> > param->tuQTMaxInterDepth = 1; param->tuQTMaxIntraDepth = 1; -
> > param->rdLevel = 0; param->subpelRefine = 3; param->searchMethod =
> > X265_HEX_SEARCH; param->maxNumMergeCand = 2; @@ -353,7 +367,7 @@
> > param->tuQTMaxInterDepth = 1; param->tuQTMaxIntraDepth = 1;
> > param->rdLevel = 1; -            param->maxNumMergeCand = 3; +
> > param->maxNumMergeCand = 4; param->bEnableTransformSkip = 0;
> > param->maxNumReferences = 3; } @@ -364,7 +378,9 @@ param->bframes
> > = 5; param->tuQTMaxInterDepth = 2; param->tuQTMaxIntraDepth = 2; -
> > param->maxNumMergeCand = 4; +            param->rdLevel = 2; +
> > param->subpelRefine = 6; +            param->maxNumMergeCand = 5;
> > param->bEnableTransformSkip = 0; param->maxNumReferences = 3; } @@
> > -372,17 +388,27 @@ { param->bFrameAdaptive = 2;
> > param->lookaheadDepth = 60; +            param->rdLevel = 2;
> > param->bframes = 8; +            param->subpelRefine = 6;
> > param->maxNumReferences = 5; +            param->maxNumMergeCand =
> > 5; +            param->tuQTMaxInterDepth = 3; +
> > param->tuQTMaxIntraDepth = 3; } else if (!strcmp(preset,
> > "placebo")) { param->bFrameAdaptive = 2; param->lookaheadDepth =
> > 60; param->bframes = 16; +            param->rdLevel = 2; +
> > param->subpelRefine = 7; param->maxNumReferences = 16;
> > param->searchRange = 124; param->bEnableTSkipFast = 0; +
> > param->maxNumMergeCand = 5; +            param->tuQTMaxInterDepth
> > = 4; +            param->tuQTMaxIntraDepth = 4; // TODO: optimized
> > esa } else _______________________________________________
> > x265-devel mailing list x265-devel at videolan.org
> > https://mailman.videolan.org/listinfo/x265-devel
> >
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.22 (MingW32)
>
> iQIcBAEBCAAGBQJShgUCAAoJEJA5OiupSg933GgP/10PphfjUaq61tjJxAnr7nX7
> piyvy3jj0C8V1pxMjUHWP59cDv0LpDQPo9bjYASvPQmYanz/zbQMoWuYhEM/ok2+
> AopAHeHWJCCAqsrE1k02UmaL4t9m1JBZLm25+4s+Ch6Bx4DFgB3UgPYPiXU2WEd7
> OpzrNyWPZHjhpwjnEW9uAqY5Av0wgMILtjGd9j1dpdQZ6sOlOipu8J4IBytEf4tH
> wlW2N6KQDHVpSvF5geFy7WVKE2LhHvuRWqRDPAnUUApK/kkUkp/KxuV9KgTdDeX6
> +7LWaZWYSm+rE61BC+7wCkO42vaL8lhDL4MTWCec05uSNYy5d0tk71hju8PBmgUD
> xG1jEcWpvcwRXp0n18/z8lJjPGW67TWQ7OU/LvPR/f+bBrU4u9Oa/m7KACRdhX+W
> E0noC4rpiDfl8Z7Mbso3ru1IzSOfO17BE6WTECSFcawnb1LwNF9NQEnoK/m5JCqe
> 4drHjLQ269VV7BtAOun9OUBWR0EudMpD/ijSk2HEb9GAtfONwPZksiGbHcWEz48X
> eyDlLyNwLAScXLEl+/AR16iiJCc4z/V1ZcXGDog4FmYzkDXeqH/X24BhpLn33jT8
> 4Lt5MNPg2qI7ru1vD4EkZ8eJYAbliy0l582co+6ZIsdvwCFh0JaXEhfY4FvzmuIv
> S6a+vK8J6DZYz7FZYgwW
> =Dh+o
> -----END PGP SIGNATURE-----
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20131116/a917c0a2/attachment.html>


More information about the x265-devel mailing list