Ticket #1125: rasl_dependent_slices.patch
File rasl_dependent_slices.patch, 1.9 KB (added by bheng, 11 years ago) |
---|
-
Lib/TLibDecoder/TDecTop.cpp
56 56 m_prevPOC = MAX_INT; 57 57 m_bFirstSliceInPicture = true; 58 58 m_bFirstSliceInSequence = true; 59 m_prevSliceSkipped = false; 60 m_skippedPOC = 0; 59 61 } 60 62 61 63 TDecTop::~TDecTop() … … 333 335 m_apcSlicePilot->setTLayerInfo(nalu.m_temporalId); 334 336 335 337 m_cEntropyDecoder.decodeSliceHeader (m_apcSlicePilot, &m_parameterSetManagerDecoder); 338 339 // set POC for dependent slices in skipped pictures 340 if(m_apcSlicePilot->getDependentSliceSegmentFlag() && m_prevSliceSkipped) 341 { 342 m_apcSlicePilot->setPOC(m_skippedPOC); 343 } 336 344 337 345 // Skip pictures due to random access 338 346 if (isRandomAccessSkipPicture(iSkipFrame, iPOCLastDisplay)) 339 347 { 348 m_prevSliceSkipped = true; 349 m_skippedPOC = m_apcSlicePilot->getPOC(); 340 350 return false; 341 351 } 342 352 // Skip TFD pictures associated with BLA/BLANT pictures 343 353 if (isSkipPictureForBLA(iPOCLastDisplay)) 344 354 { 355 m_prevSliceSkipped = true; 356 m_skippedPOC = m_apcSlicePilot->getPOC(); 345 357 return false; 346 358 } 359 360 // clear previous slice skipped flag 361 m_prevSliceSkipped = false; 347 362 348 363 //we should only get a different poc for a new picture (with CTU address==0) 349 364 if (m_apcSlicePilot->isNextSlice() && m_apcSlicePilot->getPOC()!=m_prevPOC && !m_bFirstSliceInSequence && (!m_apcSlicePilot->getSliceCurStartCUAddr()==0)) -
Lib/TLibDecoder/TDecTop.h
97 97 Int m_prevPOC; 98 98 Bool m_bFirstSliceInPicture; 99 99 Bool m_bFirstSliceInSequence; 100 Bool m_prevSliceSkipped; 101 Int m_skippedPOC; 100 102 101 103 public: 102 104 TDecTop();