<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 30, 2018 at 5:06 PM,  <span dir="ltr"><<a href="mailto:kavitha@multicorewareinc.com" target="_blank">kavitha@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""># HG changeset patch<br>
# User Kavitha Sampath <<a href="mailto:kavitha@multicorewareinc.com">kavitha@multicorewareinc.com</a>><br>
# Date 1524568273 -19800<br>
#      Tue Apr 24 16:41:13 2018 +0530<br>
</span># Node ID 1982e4a9bbd06e89220f0c3917a640<wbr>c1e482cdd6<br>
<span class=""># Parent  07defe235cde1949c55464952ee1db<wbr>dc10baf5e4<br>
scaling: allow refinement of inter/intra frames when scalefactor is zero<br>
<br>
Also disable analysis of CU with min-cu size when scale factor is zero<br></span></blockquote><div><br></div><div>Pushed to default and merged with stable; this fix will be a part of the imminent v3.0 release.</div><div>Thanks.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
</span>diff -r 07defe235cde -r 1982e4a9bbd0 source/encoder/analysis.cpp<br>
<span class="">--- a/source/encoder/analysis.cpp       Thu Apr 12 16:57:19 2018 +0530<br>
+++ b/source/encoder/analysis.cpp       Tue Apr 24 16:41:13 2018 +0530<br>
@@ -523,7 +523,7 @@<br>
     int split = 0;<br>
     if (m_param->intraRefine && m_param->intraRefine != 4)<br>
     {<br>
-        split = ((cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param-<wbr>>minCUSize] + 1)) && bDecidedDepth);<br>
+        split = m_param->scaleFactor && ((cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param-<wbr>>minCUSize] + 1)) && bDecidedDepth);<br>
         if (cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param-<wbr>>minCUSize]) && !bDecidedDepth)<br>
             bAlreadyDecided = false;<br>
     }<br>
@@ -2420,7 +2420,7 @@<br>
         m_refineLevel = m_param->interRefine;<br>
     else<br>
         m_refineLevel = m_frame->m_classifyFrame ? 1 : 3;<br>
-    int split = (m_refineLevel && cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param-<wbr>>minCUSize] + 1) && bDecidedDepth);<br>
+    int split = (m_param->scaleFactor && m_refineLevel && cuGeom.log2CUSize == (uint32_t)(g_log2Size[m_param-<wbr>>minCUSize] + 1) && bDecidedDepth);<br>
     td.split = split;<br>
<br>
     if (bDecidedDepth)<br>
@@ -2494,7 +2494,7 @@<br>
                             mode.cu.m_mvd[list][pu.<wbr>puAbsPartIdx] = mode.cu.m_mv[list][pu.<wbr>puAbsPartIdx] - mode.amvpCand[list][ref][mode.<wbr>cu.m_mvpIdx[list][pu.<wbr>puAbsPartIdx]]/*mvp*/;<br>
                         }<br>
                     }<br>
-                    else if(m_param->scaleFactor)<br>
+                    else<br>
                     {<br>
                         MVField candMvField[MRG_MAX_NUM_CANDS]<wbr>[2]; // double length for mv of both lists<br>
                         uint8_t candDir[MRG_MAX_NUM_CANDS];<br>
</span>diff -r 07defe235cde -r 1982e4a9bbd0 source/encoder/encoder.cpp<br>
<span class="">--- a/source/encoder/encoder.cpp        Thu Apr 12 16:57:19 2018 +0530<br>
+++ b/source/encoder/encoder.cpp        Tue Apr 24 16:41:13 2018 +0530<br>
</span>@@ -2694,27 +2694,27 @@<br>
<span class=""> <br>
     if (p->intraRefine)<br>
     {<br>
-        if (!p->analysisLoad || p->analysisReuseLevel < 10 || !p->scaleFactor)<br>
+        if (!p->analysisLoad || p->analysisReuseLevel < 10)<br>
         {<br>
</span>-            x265_log(p, X265_LOG_WARNING, "Intra refinement requires analysis load, analysis-reuse-level 10, scale factor. Disabling intra refine.\n");<br>
+            x265_log(p, X265_LOG_WARNING, "Intra refinement requires analysis load, analysis-reuse-level 10. Disabling intra refine.\n");<br>
             p->intraRefine = 0;<br>
<span class="">         }<br>
     }<br>
<br>
     if (p->interRefine)<br>
     {<br>
-        if (!p->analysisLoad || p->analysisReuseLevel < 10 || !p->scaleFactor)<br>
+        if (!p->analysisLoad || p->analysisReuseLevel < 10)<br>
         {<br>
</span>-            x265_log(p, X265_LOG_WARNING, "Inter refinement requires analysis load, analysis-reuse-level 10, scale factor. Disabling inter refine.\n");<br>
+            x265_log(p, X265_LOG_WARNING, "Inter refinement requires analysis load, analysis-reuse-level 10. Disabling inter refine.\n");<br>
             p->interRefine = 0;<br>
         }<br>
     }<br>
<br>
     if (p->bDynamicRefine)<br>
<span class="">     {<br>
-        if (!p->analysisLoad || p->analysisReuseLevel < 10 || !p->scaleFactor)<br>
+        if (!p->analysisLoad || p->analysisReuseLevel < 10)<br>
         {<br>
</span>-            x265_log(p, X265_LOG_WARNING, "Dynamic refinement requires analysis load, analysis-reuse-level 10, scale factor. Disabling dynamic refine.\n");<br>
+            x265_log(p, X265_LOG_WARNING, "Dynamic refinement requires analysis load, analysis-reuse-level 10. Disabling dynamic refine.\n");<br>
             p->bDynamicRefine = 0;<br>
         }<br>
         if (p->interRefine)<br>
@@ -2737,9 +2737,9 @@<br>
<span class=""> <br>
     if (p->mvRefine)<br>
     {<br>
-        if (!p->analysisLoad || p->analysisReuseLevel < 10 || !p->scaleFactor)<br>
+        if (!p->analysisLoad || p->analysisReuseLevel < 10)<br>
         {<br>
</span>-            x265_log(p, X265_LOG_WARNING, "MV refinement requires analysis load, analysis-reuse-level 10, scale factor. Disabling MV refine.\n");<br>
+            x265_log(p, X265_LOG_WARNING, "MV refinement requires analysis load, analysis-reuse-level 10. Disabling MV refine.\n");<br>
             p->mvRefine = 0;<br>
         }<br>
         else if (p->interRefine >= 2)<br>
<br>______________________________<wbr>_________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/x265-devel</a><br>
<br></blockquote></div><br></div></div>