<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 17, 2016 at 3:14 PM, Bhavna Hariharan <span dir="ltr"><<a href="mailto:bhavna@multicorewareinc.com" target="_blank">bhavna@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div><div class="m_-8872129524165594866m_9111306467446214862gmail_signature"><div dir="ltr"><div><div dir="ltr"><br></div></div></div></div></div><div class="gmail_quote"><div><div class="h5">On Mon, Oct 17, 2016 at 2:57 PM, Pradeep Ramachandran <span dir="ltr"><<a href="mailto:pradeep@multicorewareinc.com" target="_blank">pradeep@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_-8872129524165594866m_9111306467446214862gmail-h5">On Fri, Oct 14, 2016 at 7:20 PM,  <span dir="ltr"><<a href="mailto:bhavna@multicorewareinc.com" target="_blank">bhavna@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_-8872129524165594866m_9111306467446214862gmail-m_8623240897589776712HOEnZb"><div class="m_-8872129524165594866m_9111306467446214862gmail-m_8623240897589776712h5"># HG changeset patch<br>
# User Bhavna Hariharan <<a href="mailto:bhavna@multicorewareinc.com" target="_blank">bhavna@multicorewareinc.com</a>><br>
# Date 1476275329 -19800<br>
#      Wed Oct 12 17:58:49 2016 +0530<br>
# Node ID 854149baceefa075c3b1af12433680<wbr>ffda2e3b64<br>
# Parent  c97805dad9148ad3cddba10a67ed55<wbr>96508e8f86<br>
limitTU: fix energy calculation used in limiting TU recursion<br>
<br>
This commit changes the output of limit TU<br>
<br>
diff -r c97805dad914 -r 854149baceef source/encoder/search.cpp<br>
--- a/source/encoder/search.cpp Thu Oct 13 17:53:48 2016 +0800<br>
+++ b/source/encoder/search.cpp Wed Oct 12 17:58:49 2016 +0530<br>
@@ -3420,14 +3420,15 @@<br>
         if (m_param->limitTU && bCheckSplit)<br>
         {<br>
             // Stop recursion if the TU's energy level is minimal<br>
+            uint32_t numCoeff = trSize * trSize;<br>
             if (cbfFlag[TEXT_LUMA][0] == 0)<br>
                 bCheckSplit = false;<br>
-            else if (numSig[TEXT_LUMA][0] < (cuGeom.numPartitions / 16))<br>
+            else if (numSig[TEXT_LUMA][0] < (numCoeff / 64))<br>
             {<br>
                 uint32_t energy = 0;<br>
-                for (uint32_t i = 0; i < cuGeom.numPartitions; i++)<br>
+                for (uint32_t i = 0; i < numCoeff; i++)<br>
                     energy += abs(coeffCurY[i]);<br>
-                if (energy < numSig[TEXT_LUMA][0])<br>
+                if (energy == numSig[TEXT_LUMA][0])<br>
                     bCheckSplit = false;<br></div></div></blockquote><div><br></div></div></div><div>Can you give an example where CheckSplit is disabled here? I am finding it hard to reason conditions under which this condition is satisfied.</div></div></div></div></blockquote><div><br></div></div></div><div>Energy will be equal to the number of significant coefficients when each of the non-zero coefficients is one. </div><span class=""><div> </div></span></div></div></div></blockquote><div><br></div><div>I feel this condition may not be satisfied(very rare). You are calculating energy as sum of abs values of transform coefficients and checking with a threshold(number of coefficients).</div><div>There is a very less chance that both will be same. Either it should be less than equal to or greater than equal to. This may be a test to replicate a zero coefficient TU block. We </div><div>should check the subjective quality particularly for limit TU, considering larger TUs produce more ringing artifacts.   </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_-8872129524165594866m_9111306467446214862gmail-m_8623240897589776712HOEnZb"><div class="m_-8872129524165594866m_9111306467446214862gmail-m_8623240897589776712h5">
             }<br>
         }<br>
</div></div>______________________________<wbr>_________________<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/l<wbr>istinfo/x265-devel</a><br>
</blockquote></div><br></div></div>
<br>______________________________<wbr>_________________<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/l<wbr>istinfo/x265-devel</a></blockquote><div><br></div><div><br></div><br clear="all"></span><div><div class="m_-8872129524165594866m_9111306467446214862gmail_signature"><div dir="ltr"><div dir="ltr"><br>Regards,<br><br></div></div></div></div><div>Bhavna Hariharan </div></div><br></div></div>
<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>