Ticket #1052: LTRP_LSBONLY_BUGFIX_1052.patch
File LTRP_LSBONLY_BUGFIX_1052.patch, 2.9 KB (added by adarsh, 11 years ago) |
---|
-
TLibCommon/TComSlice.cpp
524 524 } 525 525 } 526 526 527 Void TComSlice::checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, Bool& prevRAPisBLA )527 Void TComSlice::checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, Bool& prevRAPisBLA, TComList<TComPic *>& rcListPic) 528 528 { 529 529 for(Int i = 0; i < pReferencePictureSet->getNumberOfNegativePictures()+pReferencePictureSet->getNumberOfPositivePictures(); i++) 530 530 { … … 535 535 } 536 536 for(Int i = pReferencePictureSet->getNumberOfNegativePictures()+pReferencePictureSet->getNumberOfPositivePictures(); i < pReferencePictureSet->getNumberOfPictures(); i++) 537 537 { 538 Int fullPoc = 0; 539 if(!pReferencePictureSet->getCheckLTMSBPresent(i)) // if only LSB present, get full poc value 540 { 541 fullPoc = this->xGetLongTermRefPic(rcListPic, pReferencePictureSet->getPOC(i), false)->getPOC(); 542 } 543 else 544 { 545 fullPoc = pReferencePictureSet->getPOC(i); 546 } 547 538 548 if(pocCRA < MAX_UINT && getPOC() > pocCRA) 539 549 { 540 assert( pReferencePictureSet->getPOC(i)>= pocCRA);550 assert(fullPoc >= pocCRA); 541 551 } 542 552 } 543 553 if ( getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR || getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP ) // IDR picture found -
TLibCommon/TComSlice.h
1395 1395 NalUnitType getNalUnitType () { return m_eNalUnitType; } 1396 1396 Bool getRapPicFlag (); 1397 1397 Bool getIdrPicFlag () { return getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR || getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP; } 1398 Void checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, Bool& prevRAPisBLA );1398 Void checkCRA(TComReferencePictureSet *pReferencePictureSet, Int& pocCRA, Bool& prevRAPisBLA, TComList<TComPic *>& rcListPic); 1399 1399 Void decodingRefreshMarking(Int& pocCRA, Bool& bRefreshPending, TComList<TComPic*>& rcListPic); 1400 1400 Void setSliceType ( SliceType e ) { m_eSliceType = e; } 1401 1401 Void setSliceQp ( Int i ) { m_iSliceQp = i; } -
TLibDecoder/TDecTop.cpp
484 484 485 485 if (bNextSlice) 486 486 { 487 pcSlice->checkCRA(pcSlice->getRPS(), m_pocCRA, m_prevRAPisBLA );487 pcSlice->checkCRA(pcSlice->getRPS(), m_pocCRA, m_prevRAPisBLA, m_cListPic ); 488 488 // Set reference list 489 489 pcSlice->setRefPicList( m_cListPic ); 490 490