56 : m_numberOfChecksumErrorsDetected(0)
111 clock_t iBeforeTime = clock();
119 for (
UInt ui = 0 ; ui < uiNumSubstreams ; ui++ )
126 for (
UInt ui = 0; ui < uiNumSubstreams; ui++)
128 delete ppcSubstreams[ui];
130 delete[] ppcSubstreams;
140 clock_t iBeforeTime = clock();
162 printf(
"POC %4d TId: %1d ( %c-SLICE, QP%3d ) ", pcSlice->
getPOC(),
168 printf (
"[DT %6.3f] ", m_dDecTime );
171 for (
Int iRefList = 0; iRefList < 2; iRefList++)
173 printf (
"[L%d ", iRefList);
184 if (pictureHashes.size() > 1)
186 printf (
"Warning: Got multiple decoded picture hash SEI messages. Using first.");
213 const TChar* hashType =
"\0";
217 switch (pictureHashSEI->
method)
222 numChar =
calcMD5(pic, recon_digest, bitDepths);
228 numChar =
calcCRC(pic, recon_digest, bitDepths);
233 hashType =
"Checksum";
239 assert (!
"unknown hash type");
246 const TChar* ok =
"(unk)";
247 Bool mismatch =
false;
254 ok =
"(***ERROR***)";
259 printf(
"[%s:%s,%s] ", hashType,
hashToString(recon_digest, numChar).c_str(), ok);
Int m_decodedPictureHashSEIEnabled
Checksum(3)/CRC(2)/MD5(1)/disable(0) acting on decoded picture hash SEI message.
Bool getPicOutputFlag() const
TComSampleAdaptiveOffset * m_pcSAO
SBAC decoder class (header)
Void init(TDecEntropy *pcEntropyDecoder, TDecSbac *pcSbacDecoder, TDecBinCABAC *pcBinCABAC, TDecCavlc *pcCavlcDecoder, TDecSlice *pcSliceDecoder, TComLoopFilter *pcLoopFilter, TComSampleAdaptiveOffset *pcSAO)
Void decompressSlice(TComInputBitstream **ppcSubstreams, TComPic *pcPic, TDecSbac *pcSbacDecoder)
picture class (symbol + YUV buffers)
UInt getSubstreamSize(Int idx)
TComLoopFilter * m_pcLoopFilter
UInt calcChecksum(const TComPicYuv &pic, TComPictureHash &digest, const BitDepths &bitDepths)
SEIMessages getSeisByType(SEIMessages &seiList, SEI::PayloadType seiType)
output a selection of SEI messages by payload type. Ownership stays in original message list...
TComSlice * getSlice(Int i)
Bool isReferenced() const
Void decompressSlice(TComInputBitstream *pcBitstream, TComPic *pcPic)
GOP decoder class (header)
Int getNumRefIdx(RefPicList e) const
Void filterPicture(TComPic *pcPic)
TDecSlice * m_pcSliceDecoder
UInt calcMD5(const TComPicYuv &pic, TComPictureHash &digest, const BitDepths &bitDepths)
Void setEntropyDecoder(TDecEntropyIf *p)
TComPicYuv * getPicYuvRec()
CAVLC decoder class (header)
TDecBinCABAC * m_pcBinCABAC
UInt m_numberOfChecksumErrorsDetected
TDecSbac * m_pcSbacDecoder
TComPictureHash m_pictureHash
UInt getNumberOfSubstreamSizes()
TDecEntropy * m_pcEntropyDecoder
Int getRefPOC(RefPicList e, Int iRefIdx) const
RefPicList
reference list index
const BitDepths & getBitDepths() const
Void PCMLFDisableProcess(TComPic *pcPic)
const TComPPS * getPPS() const
Void loopFilterPic(TComPic *pcPic)
picture-level deblocking filter
Void setCfg(Bool bLFCrossTileBoundary)
set configuration
UInt getCurrSliceIdx() const
Void setOutputMark(Bool b)
TDecCavlc * m_pcCavlcDecoder
Void SAOProcess(TComPic *pDecPic)
Void setReconMark(Bool b)
std::list< SEI * > SEIMessages
Bool getLoopFilterAcrossTilesEnabledFlag() const
Void reconstructBlkSAOParams(TComPic *pic, SAOBlkParam *saoBlkParams)
std::string hashToString(const TComPictureHash &digest, Int numChar)
static Void calcAndPrintHashStatus(TComPicYuv &pic, const SEIDecodedPictureHash *pictureHashSEI, const BitDepths &bitDepths, UInt &numChecksumErrors)
binary entropy decoder interface
UInt calcCRC(const TComPicYuv &pic, TComPictureHash &digest, const BitDepths &bitDepths)
binary entropy decoder of CABAC
const TComSPS * getSPS() const
SAOBlkParam * getSAOBlkParam()