Build fails. Restore qtlayer.
On Mon, Dec 16, 2013 at 3:07 PM, <deepthidev...@multicorewareinc.com> wrote: > # HG changeset patch > # User Deepthi Devaki <deepthidev...@multicorewareinc.com> > # Date 1387185624 -19800 > # Node ID f20e5ab835cd7071d9ebeabff50f6b9fef4d3e39 > # Parent 9bb16a023918c342b907d106b4a3d59ec2473bc1 > rd level: use cu coeff array while computing coefficients instead of temp > buffer > > diff -r 9bb16a023918 -r f20e5ab835cd source/Lib/TLibEncoder/TEncSearch.cpp > --- a/source/Lib/TLibEncoder/TEncSearch.cpp Mon Dec 16 14:33:57 2013 > +0530 > +++ b/source/Lib/TLibEncoder/TEncSearch.cpp Mon Dec 16 14:50:24 2013 > +0530 > @@ -3266,9 +3266,7 @@ > if (cu->getPredictionMode(0) == MODE_INTER) > { > residualTransformQuantInter(cu, 0, 0, resiYuv, cu->getDepth(0), > true); > - xSetResidualQTData(cu, 0, 0, NULL, cu->getDepth(0), false); > uint32_t width = cu->getWidth(0); > - xSetResidualQTData(cu, 0, 0, resiYuv, cu->getDepth(0), true); > reconYuv->addClip(predYuv, resiYuv, 0, width); > > if (cu->getMergeFlag(0) && cu->getPartitionSize(0) == SIZE_2Nx2N > && cu->getQtRootCbf(0) == 0) > @@ -3322,10 +3320,10 @@ > if (bCheckFull) > { > const uint32_t numCoeffPerAbsPartIdxIncrement = > cu->getSlice()->getSPS()->getMaxCUWidth() * > cu->getSlice()->getSPS()->getMaxCUHeight() >> > (cu->getSlice()->getSPS()->getMaxCUDepth() << 1); > - const uint32_t qtlayer = > cu->getSlice()->getSPS()->getQuadtreeTULog2MaxSize() - trSizeLog2; > - TCoeff *coeffCurY = m_qtTempCoeffY[qtlayer] + > (numCoeffPerAbsPartIdxIncrement * absPartIdx); > - TCoeff *coeffCurU = m_qtTempCoeffCb[qtlayer] + > (numCoeffPerAbsPartIdxIncrement * absPartIdx >> 2); > - TCoeff *coeffCurV = m_qtTempCoeffCr[qtlayer] + > (numCoeffPerAbsPartIdxIncrement * absPartIdx >> 2); > + > + TCoeff *coeffCurY = cu->getCoeffY() + > (numCoeffPerAbsPartIdxIncrement * absPartIdx); > + TCoeff *coeffCurU = cu->getCoeffCb() + > (numCoeffPerAbsPartIdxIncrement * absPartIdx >> 2); > + TCoeff *coeffCurV = cu->getCoeffCr() + > (numCoeffPerAbsPartIdxIncrement * absPartIdx >> 2); > > int trWidth = 0, trHeight = 0, trWidthC = 0, trHeightC = 0; > uint32_t absTUPartIdxC = absPartIdx; > @@ -3370,64 +3368,55 @@ > > if (absSumY) > { > - int16_t *curResiY = > m_qtTempTComYuv[qtlayer].getLumaAddr(absTUPartIdx); > + int16_t *curResiY = resiYuv->getLumaAddr(absTUPartIdx); > > m_trQuant->setQPforQuant(cu->getQP(0), TEXT_LUMA, > cu->getSlice()->getSPS()->getQpBDOffsetY(), 0); > > int scalingListType = 3 + g_eTTable[(int)TEXT_LUMA]; > assert(scalingListType < 6); > - assert(m_qtTempTComYuv[qtlayer].m_width == MAX_CU_SIZE); > - > m_trQuant->invtransformNxN(cu->getCUTransquantBypass(absPartIdx), REG_DCT, > curResiY, MAX_CU_SIZE, coeffCurY, trWidth, trHeight, scalingListType, > false, lastPosY); //this is for inter mode only > + > m_trQuant->invtransformNxN(cu->getCUTransquantBypass(absPartIdx), REG_DCT, > curResiY, resiYuv->m_width, coeffCurY, trWidth, trHeight, scalingListType, > false, lastPosY); //this is for inter mode only > } > else > { > - int16_t *ptr = > m_qtTempTComYuv[qtlayer].getLumaAddr(absTUPartIdx); > - assert(m_qtTempTComYuv[qtlayer].m_width == MAX_CU_SIZE); > - > + int16_t *ptr = resiYuv->getLumaAddr(absTUPartIdx); > assert(trWidth == trHeight); > - primitives.blockfill_s[(int)g_convertToBit[trWidth]](ptr, > MAX_CU_SIZE, 0); > + primitives.blockfill_s[(int)g_convertToBit[trWidth]](ptr, > resiYuv->m_width, 0); > } > > if (bCodeChroma) > { > if (absSumU) > { > - int16_t *pcResiCurrU = > m_qtTempTComYuv[qtlayer].getCbAddr(absTUPartIdxC); > + int16_t *pcResiCurrU = resiYuv->getCbAddr(absTUPartIdxC); > > int curChromaQpOffset = > cu->getSlice()->getPPS()->getChromaCbQpOffset() + > cu->getSlice()->getSliceQpDeltaCb(); > m_trQuant->setQPforQuant(cu->getQP(0), TEXT_CHROMA, > cu->getSlice()->getSPS()->getQpBDOffsetC(), curChromaQpOffset); > > int scalingListType = 3 + g_eTTable[(int)TEXT_CHROMA_U]; > assert(scalingListType < 6); > - assert(m_qtTempTComYuv[qtlayer].m_cwidth == MAX_CU_SIZE / > 2); > - > m_trQuant->invtransformNxN(cu->getCUTransquantBypass(absPartIdx), REG_DCT, > pcResiCurrU, MAX_CU_SIZE / 2, coeffCurU, trWidthC, trHeightC, > scalingListType, false, lastPosU); > + > m_trQuant->invtransformNxN(cu->getCUTransquantBypass(absPartIdx), REG_DCT, > pcResiCurrU, resiYuv->m_cwidth, coeffCurU, trWidthC, trHeightC, > scalingListType, false, lastPosU); > } > else > { > - int16_t *ptr = > m_qtTempTComYuv[qtlayer].getCbAddr(absTUPartIdxC); > - assert(m_qtTempTComYuv[qtlayer].m_cwidth == MAX_CU_SIZE / > 2); > - > + int16_t *ptr = resiYuv->getCbAddr(absTUPartIdxC); > assert(trWidthC == trHeightC); > - > primitives.blockfill_s[(int)g_convertToBit[trWidthC]](ptr, MAX_CU_SIZE / > 2, 0); > + > primitives.blockfill_s[(int)g_convertToBit[trWidthC]](ptr, > resiYuv->m_cwidth, 0); > } > if (absSumV) > { > - int16_t *curResiV = > m_qtTempTComYuv[qtlayer].getCrAddr(absTUPartIdxC); > + int16_t *curResiV = resiYuv->getCrAddr(absTUPartIdxC); > int curChromaQpOffset = > cu->getSlice()->getPPS()->getChromaCrQpOffset() + > cu->getSlice()->getSliceQpDeltaCr(); > m_trQuant->setQPforQuant(cu->getQP(0), TEXT_CHROMA, > cu->getSlice()->getSPS()->getQpBDOffsetC(), curChromaQpOffset); > > int scalingListType = 3 + g_eTTable[(int)TEXT_CHROMA_V]; > assert(scalingListType < 6); > - assert(m_qtTempTComYuv[qtlayer].m_cwidth == MAX_CU_SIZE / > 2); > - > m_trQuant->invtransformNxN(cu->getCUTransquantBypass(absPartIdx), REG_DCT, > curResiV, MAX_CU_SIZE / 2, coeffCurV, trWidthC, trHeightC, scalingListType, > false, lastPosV); > + > m_trQuant->invtransformNxN(cu->getCUTransquantBypass(absPartIdx), REG_DCT, > curResiV, resiYuv->m_cwidth, coeffCurV, trWidthC, trHeightC, > scalingListType, false, lastPosV); > } > else > { > - int16_t *ptr = > m_qtTempTComYuv[qtlayer].getCrAddr(absTUPartIdxC); > - assert(m_qtTempTComYuv[qtlayer].m_cwidth == MAX_CU_SIZE / > 2); > - > + int16_t *ptr = resiYuv->getCrAddr(absTUPartIdxC); > assert(trWidthC == trHeightC); > - > primitives.blockfill_s[(int)g_convertToBit[trWidthC]](ptr, MAX_CU_SIZE / > 2, 0); > + > primitives.blockfill_s[(int)g_convertToBit[trWidthC]](ptr, > resiYuv->m_cwidth, 0); > } > } > cu->setCbfSubParts(absSumY ? setCbf : 0, TEXT_LUMA, absPartIdx, > depth); > diff -r 9bb16a023918 -r f20e5ab835cd source/encoder/compress.cpp > --- a/source/encoder/compress.cpp Mon Dec 16 14:33:57 2013 +0530 > +++ b/source/encoder/compress.cpp Mon Dec 16 14:50:24 2013 +0530 > @@ -927,7 +927,6 @@ > > //Residual encoding > m_search->residualTransformQuantInter(cu, 0, 0, > m_tmpResiYuv[depth], cu->getDepth(0), true); > - m_search->xSetResidualQTData(cu, 0, 0, NULL, cu->getDepth(0), > false); > > if (lcu->getMergeFlag(absPartIdx) && cu->getPartitionSize(0) > == SIZE_2Nx2N && !cu->getQtRootCbf(0)) > { > @@ -937,7 +936,6 @@ > else > { > cu->copyCodedToPic(depth); > - m_search->xSetResidualQTData(cu, 0, 0, > m_tmpResiYuv[depth], cu->getDepth(0), true); > > //Generate Recon > Pel* pred = m_bestPredYuv[0]->getLumaAddr(absPartIdx); > _______________________________________________ > 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