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