92 g_bJustDoIt = g_bEncDecTraceEnable;
100 g_bJustDoIt = g_bEncDecTraceDisable;
108 if (depSliceSegmentsEnabled)
126 Bool isLastCtuOfSliceSegment =
false;
127 for(
UInt ctuTsAddr = startCtuTsAddr; !isLastCtuOfSliceSegment && ctuTsAddr < numCtusInFrame; ctuTsAddr++)
132 const UInt tileXPosInCtus = firstCtuRsAddrOfTile % frameWidthInCtus;
133 const UInt tileYPosInCtus = firstCtuRsAddrOfTile / frameWidthInCtus;
134 const UInt ctuXPosInCtus = ctuRsAddr % frameWidthInCtus;
135 const UInt ctuYPosInCtus = ctuRsAddr / frameWidthInCtus;
138 pCtu->
initCtu( pcPic, ctuRsAddr );
143 if (ctuRsAddr == firstCtuRsAddrOfTile)
145 if (ctuTsAddr != startCtuTsAddr)
150 else if (ctuXPosInCtus == tileXPosInCtus && wavefrontsEnabled)
153 if (ctuTsAddr != startCtuTsAddr)
158 if ( pCtuUp && ((ctuRsAddr%frameWidthInCtus+1) < frameWidthInCtus) )
170 g_bJustDoIt = g_bEncDecTraceEnable;
173 #if DECODER_PARTIAL_CONFORMANCE_CHECK != 0
180 Bool bIsSAOSliceEnabled =
false;
186 if (sliceEnabled[compId])
188 bIsSAOSliceEnabled=
true;
192 if (bIsSAOSliceEnabled)
194 Bool leftMergeAvail =
false;
195 Bool aboveMergeAvail=
false;
198 Int rx = (ctuRsAddr % frameWidthInCtus);
204 Int ry = (ctuRsAddr / frameWidthInCtus);
216 #if DECODER_PARTIAL_CONFORMANCE_CHECK != 0
227 g_bJustDoIt = g_bEncDecTraceDisable;
231 if ( ctuXPosInCtus == tileXPosInCtus+1 && wavefrontsEnabled)
236 if (isLastCtuOfSliceSegment)
238 #if DECODER_CHECK_SUBSTREAM_AND_SLICE_TRAILING_BYTES
248 ( ctuYPosInCtus + 1 == tileYPosInCtus + currentTile.
getTileHeightInCtus() || wavefrontsEnabled)
256 #if DECODER_CHECK_SUBSTREAM_AND_SLICE_TRAILING_BYTES
263 assert(isLastCtuOfSliceSegment ==
true);
266 if( depSliceSegmentsEnabled )
Void setSliceSegmentCurEndCtuTsAddr(UInt ctuTsAddr)
Void loadContexts(const TDecSbac *pSrc)
Void decodeCtu(TComDataCU *pCtu, Bool &isLastCtuOfSliceSegment)
decode Ctu information
UInt getFirstCtuRsAddr() const
UInt getCtuTsToRsAddrMap(Int ctuTsAddr) const
Void parseTerminatingBit(UInt &ruiBit)
Void decompressSlice(TComInputBitstream **ppcSubstreams, TComPic *pcPic, TDecSbac *pcSbacDecoder)
Void setPicYuvResi(TComPicYuv *pcPicYuv)
UInt getNumberOfCtusInFrame() const
picture class (symbol + YUV buffers)
TDecEntropy * m_pcEntropyDecoder
Void initCtu(TComPic *pcPic, UInt ctuRsAddr)
TComSlice * getSlice(Int i)
Void setPicYuvPred(TComPicYuv *pcPicYuv)
Int getNumberValidComponents() const
Void setBitstream(TComInputBitstream *p)
Bool getSaoEnabledFlag(ChannelType chType) const
UInt getFrameWidthInCtus() const
Void resetEntropy(TComSlice *p)
Void setEntropyDecoder(TDecEntropyIf *p)
Bool getDependentSliceSegmentFlag() const
UInt getTileWidthInCtus() const
UInt getTileIdxMap(Int ctuRsAddr) const
Bool getSAOMergeAvailability(Int currAddr, Int mergeAddr)
UInt getSubstreamForCtuAddr(const UInt ctuAddr, const Bool bAddressInRaster, TComSlice *pcSlice)
Void setSliceCurEndCtuTsAddr(UInt ctuTsAddr)
#define DTRACE_CABAC_VL(x)
Void parseSAOBlkParam(SAOBlkParam &saoBlkParam, Bool *sliceEnabled, Bool leftMergeAvail, Bool aboveMergeAvail, const BitDepths &bitDepths)
const BitDepths & getBitDepths() const
UInt getSliceSegmentCurStartCtuTsAddr() const
const TComPPS * getPPS() const
#define DTRACE_CABAC_T(x)
UInt getCurrSliceIdx() const
UInt getTileHeightInCtus() const
Bool getEntropyCodingSyncEnabledFlag() const
TComDataCU * getCtu(UInt ctuRsAddr)
TDecSbac m_lastSliceSegmentEndContextState
context storage for state at the end of the previous slice-segment (used for dependent slices only)...
TComDataCU * getCtuAbove()
Bool getDependentSliceSegmentsEnabledFlag() const
slice decoder class (header)
TComTile * getTComTile(UInt tileIdx)
Void parseRemainingBytes(Bool noTrailingBytesExpected)
#define DTRACE_CABAC_V(x)
Bool CUIsFromSameSliceAndTile(const TComDataCU *pCU) const
TDecSbac m_entropyCodingSyncContextState
context storate for state of contexts at the wavefront/WPP/entropy-coding-sync second CTU of tile-row...
Void decompressCtu(TComDataCU *pCtu)
reconstruct Ctu information
Void init(TDecEntropy *pcEntropyDecoder, TDecCu *pcMbDecoder, TDecConformanceCheck *pDecConformanceCheck)
TDecConformanceCheck * m_pDecConformanceCheck
const TComSPS * getSPS() const
SAOBlkParam * getSAOBlkParam()