Changeset 1295 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibDecoder
- Timestamp:
- 20 Jul 2015, 20:49:33 (10 years ago)
- Location:
- branches/SHM-dev/source/Lib/TLibDecoder
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1290 r1295 1168 1168 } 1169 1169 1170 Void TDecCavlc::parseSliceHeader (TComSlice* pcSlice, ParameterSetManager *parameterSetManager )1170 Void TDecCavlc::parseSliceHeader (TComSlice* pcSlice, ParameterSetManager *parameterSetManager, const Int prevTid0POC) 1171 1171 { 1172 1172 UInt uiCode; … … 1324 1324 Int iPOClsb = uiCode; 1325 1325 #endif 1326 Int iPrevPOC = p cSlice->getPrevTid0POC();1326 Int iPrevPOC = prevTid0POC; 1327 1327 Int iMaxPOClsb = 1<< sps->getBitsForPOC(); 1328 1328 Int iPrevPOClsb = iPrevPOC & (iMaxPOClsb - 1); -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.h
r1259 r1295 85 85 Void parseProfileTier (ProfileTierLevel *ptl, const Bool bIsSubLayer); 86 86 Void parseHrdParameters (TComHRD *hrd, Bool cprms_present_flag, UInt tempLevelHigh); 87 Void parseSliceHeader ( TComSlice* pcSlice, ParameterSetManager *parameterSetManager );87 Void parseSliceHeader ( TComSlice* pcSlice, ParameterSetManager *parameterSetManager, const Int prevTid0POC); 88 88 Void parseTerminatingBit ( UInt& ruiBit ); 89 89 Void parseRemainingBytes ( Bool noTrailingBytesExpected ); -
branches/SHM-dev/source/Lib/TLibDecoder/TDecEntropy.h
r1263 r1295 77 77 #endif 78 78 79 virtual Void parseSliceHeader ( TComSlice* pcSlice, ParameterSetManager *parameterSetManager ) = 0;79 virtual Void parseSliceHeader ( TComSlice* pcSlice, ParameterSetManager *parameterSetManager, const Int prevTid0POC) = 0; 80 80 81 81 virtual Void parseTerminatingBit ( UInt& ruilsLast ) = 0; … … 150 150 Void decodePPS ( TComPPS* pcPPS ) { m_pcEntropyDecoderIf->parsePPS(pcPPS); } 151 151 #endif 152 Void decodeSliceHeader ( TComSlice* pcSlice, ParameterSetManager *parameterSetManager ) { m_pcEntropyDecoderIf->parseSliceHeader(pcSlice, parameterSetManager); }152 Void decodeSliceHeader ( TComSlice* pcSlice, ParameterSetManager *parameterSetManager, const Int prevTid0POC) { m_pcEntropyDecoderIf->parseSliceHeader(pcSlice, parameterSetManager, prevTid0POC); } 153 153 154 154 Void decodeTerminatingBit ( UInt& ruiIsLast ) { m_pcEntropyDecoderIf->parseTerminatingBit(ruiIsLast); } -
branches/SHM-dev/source/Lib/TLibDecoder/TDecSbac.h
r1287 r1295 79 79 Void parseVPS ( TComVPS* /*pcVPS*/ ) {} 80 80 Void parseSPS ( TComSPS* /*pcSPS*/ ) {} 81 Void parsePPS ( TComPPS* /*pcPPS*/82 81 #if CGS_3D_ASYMLUT 83 , TCom3DAsymLUT * /*pc3DAsymLUT*/ , Int /*nLayerID*/ 82 Void parsePPS ( TComPPS* /*pcPPS*/, TCom3DAsymLUT * /*pc3DAsymLUT*/, Int /*nLayerID*/ ) {} 83 #else 84 Void parsePPS ( TComPPS* /*pcPPS*/ ) {} 84 85 #endif 85 ) {}86 86 87 Void parseSliceHeader ( TComSlice* /*pcSlice*/, ParameterSetManager* /*parameterSetManager*/ ) {}87 Void parseSliceHeader ( TComSlice* /*pcSlice*/, ParameterSetManager* /*parameterSetManager*/, const Int /*prevTid0POC*/) {} 88 88 Void parseTerminatingBit ( UInt& ruiBit ); 89 89 Void parseRemainingBytes ( Bool noTrailingBytesExpected); -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1292 r1295 82 82 m_prevPOC = MAX_INT; 83 83 #endif 84 m_prevTid0POC = 0; 84 85 m_bFirstSliceInPicture = true; 85 86 #if !SVC_EXTENSION … … 399 400 cFillPic->getSlice(0)->setReferenced(true); 400 401 cFillPic->getSlice(0)->setPOC(iLostPoc); 402 xUpdatePreviousTid0POC(cFillPic->getSlice(0)); 401 403 cFillPic->setReconMark(true); 402 404 cFillPic->setOutputMark(true); … … 749 751 #endif 750 752 751 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManager );753 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManager, m_prevTid0POC); 752 754 753 755 #if SVC_EXTENSION … … 841 843 Int iMaxPOClsb = 1 << sps->getBitsForPOC(); 842 844 m_apcSlicePilot->setPOC( m_apcSlicePilot->getPOC() & (iMaxPOClsb - 1) ); 845 xUpdatePreviousTid0POC(m_apcSlicePilot); 843 846 } 844 847 845 848 // Skip pictures due to random access 849 846 850 if (isRandomAccessSkipPicture(iSkipFrame, iPOCLastDisplay)) 847 851 { -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.h
r1292 r1295 106 106 Int m_prevPOC; 107 107 #endif 108 Int m_prevTid0POC; 108 109 Bool m_bFirstSliceInPicture; 109 110 #if !SVC_EXTENSION … … 284 285 #endif 285 286 Void xDecodeSEI( TComInputBitstream* bs, const NalUnitType nalUnitType ); 287 Void xUpdatePreviousTid0POC( TComSlice *pSlice ) { if ((pSlice->getTLayer()==0) && (pSlice->isReferenceNalu() && (pSlice->getNalUnitType()!=NAL_UNIT_CODED_SLICE_RASL_R)&& (pSlice->getNalUnitType()!=NAL_UNIT_CODED_SLICE_RADL_R))) { m_prevTid0POC=pSlice->getPOC(); } } 288 286 289 287 290 #if SVC_EXTENSION
Note: See TracChangeset for help on using the changeset viewer.