Yes Currently the The PCM Code path not being used, but it can be used when we enable the m_usePCM flag and cu size 32
Thanks Gopu G On Mon, Mar 10, 2014 at 11:34 PM, Steve Borho <[email protected]> wrote: > On Mon, Mar 10, 2014 at 3:41 AM, <[email protected]> wrote: >> # HG changeset patch >> # User Gopu Govindaswamy >> # Date 1394440478 -19800 >> # Mon Mar 10 14:04:38 2014 +0530 >> # Node ID 592b9b952a71f11b778fb4f8afadf86ff9c9a05c >> # Parent ba31dfc650d88afa937293a40fdaafd20c10c83e >> tencsbac: WritePCMCode for Cb and Cr merged into single block > > I'm a little leary of changes to the PCM code paths, I don't know if > they're currently used at all. Did you check that this code path was > exercised by your test sequence(s)? > >> diff -r ba31dfc650d8 -r 592b9b952a71 source/Lib/TLibEncoder/TEncSbac.cpp >> --- a/source/Lib/TLibEncoder/TEncSbac.cpp Mon Mar 10 12:14:41 2014 >> +0530 >> +++ b/source/Lib/TLibEncoder/TEncSbac.cpp Mon Mar 10 14:04:38 2014 >> +0530 >> @@ -1261,7 +1261,7 @@ >> int numZeroSubstreamsAtEndOfSlice = >> slice->getPic()->getFrameHeightInCU() - 1 - ((slice->getSliceCurEndCUAddr() >> - 1) / maxNumParts / slice->getPic()->getFrameWidthInCU()); >> numEntryPointOffsets = >> slice->getPic()->getFrameHeightInCU() - numZeroSubstreamsAtEndOfSlice - 1; >> slice->setNumEntryPointOffsets(numEntryPointOffsets); >> - entryPointOffset = new uint32_t[numEntryPointOffsets]; >> + entryPointOffset = X265_MALLOC(uint32_t, numEntryPointOffsets); >> for (int idx = 0; idx < numEntryPointOffsets; idx++) >> { >> entryPointOffset[idx] = (substreamSizes[idx] >> 3); >> @@ -1290,7 +1290,7 @@ >> WRITE_CODE(entryPointOffset[idx] - 1, offsetLenMinus1 + 1, >> "entry_point_offset_minus1"); >> } >> >> - delete [] entryPointOffset; >> + X265_FREE(entryPointOffset); >> } >> >> void TEncSbac::codeTerminatingBit(uint32_t lsLast) >> @@ -1891,37 +1891,22 @@ >> pcmSample += width; >> } >> >> - pcmSample = cu->getPCMSampleCb() + chromaOffset; >> width = cu->getCUSize(absPartIdx) / 2; >> height = cu->getCUSize(absPartIdx) / 2; >> sampleBits = cu->getSlice()->getSPS()->getPCMBitDepthChroma(); >> + pixel* pcmSampleCb = cu->getPCMSampleCb() + chromaOffset; >> + pixel* pcmSampleCr = cu->getPCMSampleCr() + chromaOffset; >> >> for (y = 0; y < height; y++) >> { >> for (x = 0; x < width; x++) >> { >> - uint32_t sample = pcmSample[x]; >> - >> - m_binIf->xWritePCMCode(sample, sampleBits); >> + m_binIf->xWritePCMCode(pcmSampleCb[x], sampleBits); >> + m_binIf->xWritePCMCode(pcmSampleCr[x], sampleBits); >> } >> - >> - pcmSample += width; >> + pcmSampleCb += width; >> + pcmSampleCr += width; >> } >> - >> - pcmSample = cu->getPCMSampleCr() + chromaOffset; >> - >> - for (y = 0; y < height; y++) >> - { >> - for (x = 0; x < width; x++) >> - { >> - uint32_t sample = pcmSample[x]; >> - >> - m_binIf->xWritePCMCode(sample, sampleBits); >> - } >> - >> - pcmSample += width; >> - } >> - >> m_binIf->resetBac(); >> } >> } >> _______________________________________________ >> x265-devel mailing list >> [email protected] >> https://mailman.videolan.org/listinfo/x265-devel > > > > -- > Steve Borho > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel -- Thanks & Regards Gopu G Multicoreware Inc _______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
