Changeset 1295 in SHVCSoftware
- Timestamp:
- 20 Jul 2015, 20:49:33 (9 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1292 r1295 1084 1084 1085 1085 1086 Int TComSlice::m_prevTid0POC = 0;1087 1088 1086 /** Function for setting the slice's temporal layer ID and corresponding temporal_layer_switching_point_flag. 1089 1087 * \param uiTLayer Temporal layer ID of the current slice -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1292 r1295 1909 1909 Int m_iAssociatedIRAP; 1910 1910 NalUnitType m_iAssociatedIRAPType; 1911 static Int m_prevTid0POC; // TODO: Remove this static member variable.1912 1911 TComReferencePictureSet* m_pcRPS; 1913 1912 TComReferencePictureSet m_LocalRPS; … … 2061 2060 Void setRPSidx( Int iBDidx ) { m_iBDidx = iBDidx; } 2062 2061 Int getRPSidx() const { return m_iBDidx; } 2063 Int getPrevTid0POC() const { return m_prevTid0POC; }2064 2062 TComRefPicListModification* getRefPicListModification() { return &m_RefPicListModification; } 2065 2063 Void setLastIDR(Int iIDRPOC) { m_iLastIDR = iIDRPOC; } … … 2102 2100 Bool isReferenced() const { return m_bRefenced; } 2103 2101 Bool isReferenceNalu() const { return ((getNalUnitType() <= NAL_UNIT_RESERVED_VCL_R15) && (getNalUnitType()%2 != 0)) || ((getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP) && (getNalUnitType() <= NAL_UNIT_RESERVED_IRAP_VCL23) ); } 2104 Void setPOC( Int i ) { m_iPOC = i; if ((getTLayer()==0) && (isReferenceNalu() && (getNalUnitType()!=NAL_UNIT_CODED_SLICE_RASL_R)&& (getNalUnitType()!=NAL_UNIT_CODED_SLICE_RADL_R))) {m_prevTid0POC=i;}}2102 Void setPOC( Int i ) { m_iPOC = i; } 2105 2103 Void setNalUnitType( NalUnitType e ) { m_eNalUnitType = e; } 2106 2104 NalUnitType getNalUnitType() const { return m_eNalUnitType; } … … 2135 2133 2136 2134 #if SVC_EXTENSION 2137 Void setPrevTid0POC( Int x ) { m_prevTid0POC = x; }2138 2135 Void setAssociatedIrapPocBeforeReset(Int x) { m_associatedIrapPocBeforeReset = x; } 2139 2136 Int getAssociatedIrapPocBeforeReset( ) { return m_associatedIrapPocBeforeReset; } -
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.