<div dir="ltr"><br><div id="__tbSetup"></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 16, 2013 at 1:58 PM,  <span dir="ltr"><<a href="mailto:sumalatha@multicorewareinc.com" target="_blank">sumalatha@multicorewareinc.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"># HG changeset patch<br>
# User Sumalatha Polureddy<br>
# Date 1387182478 -19800<br>
# Node ID 70a5357626fe2f45f0c462871c26b468a023a322<br>
# Parent  238d7f272d1e5c49d90bb15f40b2d7e90be78ba1<br>
rd level: fix for output mismatch<br>
<br>
For boundary conditions, cost calculation was wrong.<br>
<br>
diff -r 238d7f272d1e -r 70a5357626fe source/encoder/compress.cpp<br>
--- a/source/encoder/compress.cpp       Mon Dec 16 10:57:06 2013 +0530<br>
+++ b/source/encoder/compress.cpp       Mon Dec 16 13:57:58 2013 +0530<br>
@@ -768,11 +768,12 @@<br>
                 m_entropyCoder->resetBits();<br>
                 m_entropyCoder->encodeSplitFlag(outTempCU, 0, depth, true);<br>
                 outTempCU->m_totalBits += m_entropyCoder->getNumberOfWrittenBits(); // split bits<br>
-                outTempCU->m_totalCost = m_rdCost->calcRdCost(outTempCU->m_totalDistortion, outTempCU->m_totalBits);<br>
             }<br>
-            else<br>
-                outTempCU->m_totalCost = m_rdCost->calcRdSADCost(outTempCU->m_totalDistortion, outTempCU->m_totalBits);<br>
         }<br>
+        if (m_cfg->param.rdLevel > 1)<br>
+            outTempCU->m_totalCost = m_rdCost->calcRdCost(outTempCU->m_totalDistortion, outTempCU->m_totalBits);<br>
+        else<br>
+            outTempCU->m_totalCost = m_rdCost->calcRdSADCost(outTempCU->m_totalDistortion, outTempCU->m_totalBits);<br>
<br></blockquote><div>Whats the logic behind this? If it's a valid output change for rd >1, we dont have to revert.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

         if ((g_maxCUWidth >> depth) == outTempCU->getSlice()->getPPS()->getMinCuDQPSize() && outTempCU->getSlice()->getPPS()->getUseDQP())<br>
         {<br>
_______________________________________________<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" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div><br></div></div>