[x265] [PATCH] fix: hash/binary mismatch for new CU structure holds CU-specific info
Deepthi Nandakumar
deepthi at multicorewareinc.com
Thu Sep 4 02:29:37 CEST 2014
Thanks, Ashok. Queued.
On Wed, Sep 3, 2014 at 8:20 PM, <ashok at multicorewareinc.com> wrote:
> # HG changeset patch
> # User Ashok Kumar Mishra<ashok at 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 at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20140904/457e75cc/attachment-0001.html>
More information about the x265-devel
mailing list