<div dir="ltr"># HG changeset patch<br># User gopi Satykrishna Akisetty<br># Date 1556272415 -19800<br>#      Fri Apr 26 15:23:35 2019 +0530<br># Node ID b0db87e717e8b3629550aa67d734d5d74de0c66b<br># Parent  bac0e1acb874213d4002f47ce88d6abe2475d957<br>[x265 patch] analysis: For inter-refine level 1, evaluate smaller CU sizes only when the current<br>block is decided as "skip" by the save mode <div><br></div><div>Pushed patch to x265 public.</div><div><br></div><div>Thanks & Regards,</div><div>Dinesh <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 2, 2019 at 6:44 PM <<a href="mailto:gopi.satykrishna@multicorewareinc.com">gopi.satykrishna@multicorewareinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"># HG changeset patch<br>
# User gopi Satykrishna Akisetty<br>
# Date 1556272415 -19800<br>
#      Fri Apr 26 15:23:35 2019 +0530<br>
# Node ID b0db87e717e8b3629550aa67d734d5d74de0c66b<br>
# Parent  bac0e1acb874213d4002f47ce88d6abe2475d957<br>
[x265 patch] analysis: For inter-refine level 1, evaluate smaller CU sizes only when the current<br>
block is decided as "skip" by the save mode<br>
<br>
diff -r bac0e1acb874 -r b0db87e717e8 source/encoder/analysis.cpp<br>
--- a/source/encoder/analysis.cpp       Sat Apr 13 16:03:05 2019 +0200<br>
+++ b/source/encoder/analysis.cpp       Fri Apr 26 15:23:35 2019 +0530<br>
@@ -2412,6 +2412,7 @@<br>
     bool mightSplit = !(cuGeom.flags & CUGeom::LEAF);<br>
     bool mightNotSplit = !(cuGeom.flags & CUGeom::SPLIT_MANDATORY);<br>
     bool bDecidedDepth = parentCTU.m_cuDepth[cuGeom.absPartIdx] == depth;<br>
+    int split = 0;<br>
<br>
     TrainingData td;<br>
     td.init(parentCTU, cuGeom);<br>
@@ -2420,8 +2421,13 @@<br>
         m_refineLevel = m_param->interRefine;<br>
     else<br>
         m_refineLevel = m_frame->m_classifyFrame ? 1 : 3;<br>
-    int split = (m_param->scaleFactor && bDecidedDepth && (!mightNotSplit || <br>
-        (m_refineLevel && cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param->minCUSize] + 1))));<br>
+<br>
+    if (m_param->interRefine == 1)<br>
+        split = (m_param->scaleFactor && bDecidedDepth && parentCTU.m_predMode[cuGeom.absPartIdx] == MODE_SKIP && (!mightNotSplit ||<br>
+                (m_refineLevel && cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param->minCUSize] + 1))));<br>
+    else<br>
+        split = (m_param->scaleFactor && bDecidedDepth && (!mightNotSplit ||<br>
+                (m_refineLevel && cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param->minCUSize] + 1))));<br>
     td.split = split;<br>
<br>
     if ((bDecidedDepth && mightNotSplit) || (m_param->bAnalysisType == HEVC_INFO && parentCTU.m_cuDepth[cuGeom.absPartIdx] == 4))<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div>