<div dir="ltr">Thanks, Ashok. Queued.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 3, 2014 at 8:20 PM, <span dir="ltr"><<a href="mailto:ashok@multicorewareinc.com" target="_blank">ashok@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 Ashok Kumar Mishra<<a href="mailto:ashok@multicorewareinc.com">ashok@multicorewareinc.com</a>><br>
# Date 1409753842 -19800<br>
# Wed Sep 03 19:47:22 2014 +0530<br>
# Node ID 00c381bf615840180bb6ce924dc9be84c060938f<br>
# Parent 62c4779fb0bb35d5d8a69678e9e8aa81272f0115<br>
fix: hash/binary mismatch for new CU structure holds CU-specific info<br>
<br>
diff -r 62c4779fb0bb -r 00c381bf6158 source/encoder/analysis.cpp<br>
--- a/source/encoder/analysis.cpp Thu Aug 28 13:14:34 2014 +0530<br>
+++ b/source/encoder/analysis.cpp Wed Sep 03 19:47:22 2014 +0530<br>
@@ -420,13 +420,13 @@<br>
checkIntra(outBestCU, outTempCU, SIZE_2Nx2N, cu);<br>
if (depth == g_maxCUDepth)<br>
{<br>
- checkIntra(outBestCU, outTempCU, SIZE_NxN, cu);<br>
+ checkIntra(outBestCU, outTempCU, SIZE_NxN, cu);<br>
}<br>
else<br>
{<br>
- m_entropyCoder->resetBits();<br>
- m_entropyCoder->codeSplitFlag(outBestCU, 0, depth);<br>
- outBestCU->m_totalBits += m_entropyCoder->getNumberOfWrittenBits(); // split bits<br>
+ m_entropyCoder->resetBits();<br>
+ m_entropyCoder->codeSplitFlag(outBestCU, 0, depth);<br>
+ outBestCU->m_totalBits += m_entropyCoder->getNumberOfWrittenBits(); // split bits<br>
}<br>
if (m_rdCost.m_psyRd)<br>
outBestCU->m_totalPsyCost = m_rdCost.calcPsyRdCost(outBestCU->m_totalDistortion, outBestCU->m_totalBits, outBestCU->m_psyEnergy);<br>
@@ -437,6 +437,7 @@<br>
// copy original YUV samples in lossless mode<br>
if (outBestCU->isLosslessCoded(0))<br>
fillOrigYUVBuffer(outBestCU, m_origYuv[depth]);<br>
+<br>
// further split<br>
if (cu_split_flag)<br>
{<br>
@@ -445,18 +446,17 @@<br>
TComDataCU* subTempPartCU = m_tempCU[nextDepth];<br>
for (uint32_t partUnitIdx = 0; partUnitIdx < 4; partUnitIdx++)<br>
{<br>
- int qp = outTempCU->getQP(0);<br>
- subBestPartCU->initSubCU(outTempCU, partUnitIdx, nextDepth, qp); // clear sub partition datas or init.<br>
- if (cu->flags & CU::PRESENT)<br>
+ CU *child_cu = cuPicsym->m_CULocalData + cu->childIdx + partUnitIdx;<br>
+<br>
+ if (child_cu->flags & CU::PRESENT)<br>
{<br>
+ int qp = outTempCU->getQP(0);<br>
+ subBestPartCU->initSubCU(outTempCU, partUnitIdx, nextDepth, qp); // clear sub partition datas or init.<br>
subTempPartCU->initSubCU(outTempCU, partUnitIdx, nextDepth, qp); // clear sub partition datas or init.<br>
if (0 == partUnitIdx) //initialize RD with previous depth buffer<br>
m_rdEntropyCoders[nextDepth][CI_CURR_BEST].load(m_rdEntropyCoders[depth][CI_CURR_BEST]);<br>
else<br>
m_rdEntropyCoders[nextDepth][CI_CURR_BEST].load(m_rdEntropyCoders[nextDepth][CI_NEXT_BEST]);<br>
- CU *child_cu = cuPicsym->m_CULocalData + cu->childIdx + partUnitIdx;<br>
- if (!(child_cu->flags & CU::PRESENT))<br>
- continue;<br>
<br>
compressIntraCU(subBestPartCU, subTempPartCU, nextDepth, bInsidePicture, cuPicsym, child_cu);<br>
outTempCU->copyPartFrom(subBestPartCU, partUnitIdx, nextDepth); // Keep best part data to current temporary data.<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>