[x265] [PATCH] analysis: update analysisReuseLevel 7 for analysis sharing

Pradeep Ramachandran pradeep at multicorewareinc.com
Tue Nov 14 06:24:32 CET 2017


On Mon, Nov 13, 2017 at 7:09 PM, <praveen at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Praveen Tiwari <praveen at multicorewareinc.com>
> # Date 1510561483 -19800
> #      Mon Nov 13 13:54:43 2017 +0530
> # Node ID 02f21c4eafe13b52966f3fc1f925bb34070d647d
> # Parent  65eff30eb192d836b52edb5c3e2e6deae06dabf7
> analysis: update analysisReuseLevel 7 for analysis sharing
>

According to the docs (
http://x265.readthedocs.io/en/default/cli.html#cmdoption-analysis-reuse-level),
analysis-reuse-level 5-9 are currently different from 10. Your patch here
seems inconsistent with that documented behavior.


>
> diff -r 65eff30eb192 -r 02f21c4eafe1 source/encoder/analysis.cpp
> --- a/source/encoder/analysis.cpp       Mon Nov 13 12:20:50 2017 +0530
> +++ b/source/encoder/analysis.cpp       Mon Nov 13 13:54:43 2017 +0530
> @@ -2301,7 +2301,7 @@
>              for (uint32_t part = 0; part < numPU; part++)
>              {
>                  PredictionUnit pu(mode.cu, cuGeom, part);
> -                if (m_param->analysisReuseLevel == 10)
> +                if (m_param->analysisReuseLevel >= 7)
>                  {
>                      analysis_inter_data* interDataCTU =
> (analysis_inter_data*)m_frame->m_analysisData.interData;
>                      int cuIdx = (mode.cu.m_cuAddr *
> parentCTU.m_numPartitions) + cuGeom.absPartIdx;
> @@ -2407,7 +2407,7 @@
>                  if (m_slice->m_pps->bUseDQP && nextDepth <=
> m_slice->m_pps->maxCuDQPDepth)
>                      nextQP = setLambdaFromQP(parentCTU,
> calculateQpforCuSize(parentCTU, childGeom));
>
> -                int lamdaQP = m_param->analysisReuseLevel == 10 ? nextQP
> : lqp;
> +                int lamdaQP = m_param->analysisReuseLevel >= 7 ? nextQP :
> lqp;
>
>                  if (split)
>                      m_param->rdLevel > 4 ? compressInterCU_rd5_6(parentCTU,
> childGeom, nextQP) : compressInterCU_rd0_4(parentCTU, childGeom, nextQP);
> diff -r 65eff30eb192 -r 02f21c4eafe1 source/encoder/encoder.cpp
> --- a/source/encoder/encoder.cpp        Mon Nov 13 12:20:50 2017 +0530
> +++ b/source/encoder/encoder.cpp        Mon Nov 13 13:54:43 2017 +0530
> @@ -3038,7 +3038,7 @@
>              CHECKED_MALLOC(interData->mergeFlag, uint8_t,
> analysis->numPartitions * analysis->numCUsInFrame);
>          }
>
> -        if (m_param->analysisReuseLevel == 10)
> +        if (m_param->analysisReuseLevel >= 7)
>          {
>              CHECKED_MALLOC(interData->interDir, uint8_t,
> analysis->numPartitions * analysis->numCUsInFrame);
>              for (int dir = 0; dir < numDir; dir++)
> @@ -3115,7 +3115,7 @@
>                  X265_FREE(((analysis_inter_data*)analysis->interData)->
> mergeFlag);
>                  X265_FREE(((analysis_inter_data*)analysis->interData)->
> partSize);
>              }
> -            if (m_param->analysisReuseLevel == 10)
> +            if (m_param->analysisReuseLevel >= 7)
>              {
>                  X265_FREE(((analysis_inter_data*)analysis->interData)->
> interDir);
>                  int numDir = analysis->sliceType == X265_TYPE_P ? 1 : 2;
> _______________________________________________
> 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/20171114/7c4595ca/attachment-0001.html>


More information about the x265-devel mailing list