[x265] [PATCH] [x265 patch] analysis: For inter-refine level 1, evaluate smaller CU sizes only when the current

Dinesh Kumar Reddy dinesh at multicorewareinc.com
Tue May 14 13:28:33 CEST 2019


# HG changeset patch
# User gopi Satykrishna Akisetty
# Date 1556272415 -19800
#      Fri Apr 26 15:23:35 2019 +0530
# Node ID b0db87e717e8b3629550aa67d734d5d74de0c66b
# Parent  bac0e1acb874213d4002f47ce88d6abe2475d957
[x265 patch] analysis: For inter-refine level 1, evaluate smaller CU sizes
only when the current
block is decided as "skip" by the save mode

Pushed patch to x265 public.

Thanks & Regards,
Dinesh

On Thu, May 2, 2019 at 6:44 PM <gopi.satykrishna at multicorewareinc.com>
wrote:

> # HG changeset patch
> # User gopi Satykrishna Akisetty
> # Date 1556272415 -19800
> #      Fri Apr 26 15:23:35 2019 +0530
> # Node ID b0db87e717e8b3629550aa67d734d5d74de0c66b
> # Parent  bac0e1acb874213d4002f47ce88d6abe2475d957
> [x265 patch] analysis: For inter-refine level 1, evaluate smaller CU sizes
> only when the current
> block is decided as "skip" by the save mode
>
> diff -r bac0e1acb874 -r b0db87e717e8 source/encoder/analysis.cpp
> --- a/source/encoder/analysis.cpp       Sat Apr 13 16:03:05 2019 +0200
> +++ b/source/encoder/analysis.cpp       Fri Apr 26 15:23:35 2019 +0530
> @@ -2412,6 +2412,7 @@
>      bool mightSplit = !(cuGeom.flags & CUGeom::LEAF);
>      bool mightNotSplit = !(cuGeom.flags & CUGeom::SPLIT_MANDATORY);
>      bool bDecidedDepth = parentCTU.m_cuDepth[cuGeom.absPartIdx] == depth;
> +    int split = 0;
>
>      TrainingData td;
>      td.init(parentCTU, cuGeom);
> @@ -2420,8 +2421,13 @@
>          m_refineLevel = m_param->interRefine;
>      else
>          m_refineLevel = m_frame->m_classifyFrame ? 1 : 3;
> -    int split = (m_param->scaleFactor && bDecidedDepth && (!mightNotSplit
> ||
> -        (m_refineLevel && cuGeom.log2CUSize ==
> (uint32_t)(g_log2Size[m_param->minCUSize] + 1))));
> +
> +    if (m_param->interRefine == 1)
> +        split = (m_param->scaleFactor && bDecidedDepth &&
> parentCTU.m_predMode[cuGeom.absPartIdx] == MODE_SKIP && (!mightNotSplit ||
> +                (m_refineLevel && cuGeom.log2CUSize ==
> (uint32_t)(g_log2Size[m_param->minCUSize] + 1))));
> +    else
> +        split = (m_param->scaleFactor && bDecidedDepth && (!mightNotSplit
> ||
> +                (m_refineLevel && cuGeom.log2CUSize ==
> (uint32_t)(g_log2Size[m_param->minCUSize] + 1))));
>      td.split = split;
>
>      if ((bDecidedDepth && mightNotSplit) || (m_param->bAnalysisType ==
> HEVC_INFO && parentCTU.m_cuDepth[cuGeom.absPartIdx] == 4))
> _______________________________________________
> 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/20190514/4ffe5f98/attachment.html>


More information about the x265-devel mailing list