Changeset 1292 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibDecoder
- Timestamp:
- 18 Jul 2015, 04:14:13 (10 years ago)
- Location:
- branches/SHM-dev/source/Lib/TLibDecoder
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified branches/SHM-dev/source/Lib/TLibDecoder/TDecGop.cpp ¶
r1287 r1292 52 52 #include <time.h> 53 53 54 extern Bool g_md5_mismatch; ///< top level flag to signal when there is a decode problem55 56 54 #if CONFORMANCE_BITSTREAM_MODE 57 55 Bool pocCompareFunction( const TComPic &pic1, const TComPic &pic2 ) … … 63 61 //! \ingroup TLibDecoder 64 62 //! \{ 65 static Void calcAndPrintHashStatus(TComPicYuv& pic, const SEIDecodedPictureHash* pictureHashSEI, const BitDepths &bitDepths );63 static Void calcAndPrintHashStatus(TComPicYuv& pic, const SEIDecodedPictureHash* pictureHashSEI, const BitDepths &bitDepths, UInt &numChecksumErrors); 66 64 // ==================================================================================================================== 67 65 // Constructor / destructor / initialization / destroy … … 69 67 70 68 TDecGop::TDecGop() 69 : m_numberOfChecksumErrorsDetected(0) 71 70 { 72 71 m_dDecTime = 0; … … 114 113 m_pcSliceDecoder = pcSliceDecoder; 115 114 m_pcLoopFilter = pcLoopFilter; 116 m_pcSAO = pcSAO; 115 m_pcSAO = pcSAO; 116 m_numberOfChecksumErrorsDetected = 0; 117 117 118 #if SVC_EXTENSION 118 119 m_ppcTDecTop = ppcDecTop; … … 247 248 } 248 249 #if SVC_EXTENSION 249 calcAndPrintHashStatus(*(pcPic->getPicYuvRec()), hash, pcSlice->getBitDepths() );250 #else 251 calcAndPrintHashStatus(*(pcPic->getPicYuvRec()), hash, pcSlice->getSPS()->getBitDepths() );250 calcAndPrintHashStatus(*(pcPic->getPicYuvRec()), hash, pcSlice->getBitDepths(), m_numberOfChecksumErrorsDetected); 251 #else 252 calcAndPrintHashStatus(*(pcPic->getPicYuvRec()), hash, pcSlice->getSPS()->getBitDepths(), m_numberOfChecksumErrorsDetected); 252 253 #endif 253 254 } … … 279 280 * unk - no SEI message was available for comparison 280 281 */ 281 static Void calcAndPrintHashStatus(TComPicYuv& pic, const SEIDecodedPictureHash* pictureHashSEI, const BitDepths &bitDepths )282 static Void calcAndPrintHashStatus(TComPicYuv& pic, const SEIDecodedPictureHash* pictureHashSEI, const BitDepths &bitDepths, UInt &numChecksumErrors) 282 283 { 283 284 /* calculate MD5sum for entire reconstructed picture */ … … 334 335 if (mismatch) 335 336 { 336 g_md5_mismatch = true;337 numChecksumErrors++; 337 338 printf("[rx%s:%s] ", hashType, hashToString(pictureHashSEI->m_pictureHash, numChar).c_str()); 338 339 } -
TabularUnified branches/SHM-dev/source/Lib/TLibDecoder/TDecGop.h ¶
r1259 r1292 80 80 Double m_dDecTime; 81 81 Int m_decodedPictureHashSEIEnabled; ///< Checksum(3)/CRC(2)/MD5(1)/disable(0) acting on decoded picture hash SEI message 82 UInt m_numberOfChecksumErrorsDetected; 82 83 83 84 #if SVC_EXTENSION … … 112 113 113 114 Void setDecodedPictureHashSEIEnabled(Int enabled) { m_decodedPictureHashSEIEnabled = enabled; } 115 UInt getNumberOfChecksumErrorsDetected() const { return m_numberOfChecksumErrorsDetected; } 116 114 117 #if SVC_EXTENSION 115 118 TDecTop* getLayerDec(UInt layerId) { return m_ppcTDecTop[layerId]; } -
TabularUnified branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp ¶
r1290 r1292 63 63 64 64 TDecTop::TDecTop() 65 : m_pDecodedSEIOutputStream(NULL) 65 : m_pDecodedSEIOutputStream(NULL), 66 m_warningMessageSkipPicture(false) 66 67 { 67 68 m_pcPic = 0; … … 2167 2168 else 2168 2169 { 2169 static Bool warningMessage = false; 2170 if(!warningMessage) 2170 if(!m_warningMessageSkipPicture) 2171 2171 { 2172 2172 printf("\nWarning: this is not a valid random access point and the data is discarded until the first CRA picture"); 2173 warningMessage = true;2173 m_warningMessageSkipPicture = true; 2174 2174 } 2175 2175 return true; -
TabularUnified branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.h ¶
r1282 r1292 121 121 std::ostream *m_pDecodedSEIOutputStream; 122 122 123 Bool m_warningMessageSkipPicture; 124 123 125 #if SVC_EXTENSION 124 126 Bool m_isLastNALWasEos; … … 191 193 Void deletePicBuffer(); 192 194 195 193 196 Void executeLoopFilters(Int& poc, TComList<TComPic*>*& rpcListPic); 194 197 Void checkNoOutputPriorPics (TComList<TComPic*>* rpcListPic); … … 203 206 #endif 204 207 Void setDecodedSEIMessageOutputStream(std::ostream *pOpStream) { m_pDecodedSEIOutputStream = pOpStream; } 208 UInt getNumberOfChecksumErrorsDetected() const { return m_cGopDecoder.getNumberOfChecksumErrorsDetected(); } 205 209 206 210 #if SVC_EXTENSION … … 259 263 protected: 260 264 #if SVC_EXTENSION 261 Void 265 Void xGetNewPicBuffer ( const TComVPS &vps, const TComSPS &sps, const TComPPS &pps, TComPic*& rpcPic, const UInt temporalLayer); 262 266 #else 263 Void 264 #endif 265 Void 267 Void xGetNewPicBuffer (const TComSPS &sps, const TComPPS &pps, TComPic*& rpcPic, const UInt temporalLayer); 268 #endif 269 Void xCreateLostPicture (Int iLostPOC); 266 270 267 271 Void xActivateParameterSets();
Note: See TracChangeset for help on using the changeset viewer.