Changeset 189 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComPic.cpp
- Timestamp:
- 18 Nov 2012, 22:11:37 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComPic.cpp
r100 r189 81 81 m_aaiCodedScale = 0; 82 82 m_aaiCodedOffset = 0; 83 #if OL_QTLIMIT_PREDCODING_B0068 84 m_bReduceBitsQTL = 0; 85 #endif 86 #if QC_SIMPLE_NBDV_B0047 87 m_bRapCheck = false; 88 m_eRapRefList = REF_PIC_LIST_0; 89 m_uiRapRefIdx = 0; 90 #endif 91 83 92 } 84 93 … … 480 489 } 481 490 } 491 #if QC_SIMPLE_NBDV_B0047 492 Bool TComPic::getDisCandRefPictures(Int iColPOC) 493 { 494 UInt uiTempLayerCurr=7; 495 TComSlice* currSlice = getCurrSlice(); 496 UInt iPOCCurr=currSlice->getPOC(); 497 UInt iPOCDiff = 255; 498 Bool bRAP=false; 499 Bool bCheck = false; 500 Int MaxRef = currSlice->getNumRefIdx(RefPicList(0)); 501 RefPicList eRefPicList = REF_PIC_LIST_0 ; 502 if(currSlice->isInterB()) 503 { 504 if(currSlice->getNumRefIdx(RefPicList(0))< currSlice->getNumRefIdx(RefPicList(1))) 505 MaxRef = currSlice->getNumRefIdx(RefPicList(1)); 506 } 507 for(Int lpRef = 0; lpRef < MaxRef; lpRef++) 508 { 509 for(Int lpNr = 0; lpNr < (currSlice->isInterB() ? 2: 1); lpNr ++) 510 { 511 eRefPicList = RefPicList(0); 512 if(currSlice->isInterB()) 513 eRefPicList = RefPicList(lpNr==0 ? (currSlice->getColDir()): (1-currSlice->getColDir())); 514 if(iColPOC == currSlice->getRefPOC(eRefPicList, lpRef)) 515 continue; 516 if(lpRef >= currSlice->getNumRefIdx(eRefPicList)||(currSlice->getViewId() != currSlice->getRefPic( eRefPicList, lpRef)->getViewId())) 517 continue; 518 Int iTempPoc = currSlice->getRefPic(eRefPicList, lpRef)->getPOC(); 519 UInt uiTempLayer = currSlice->getRefPic(eRefPicList, lpRef)->getCurrSlice()->getTLayer(); 520 Int iTempDiff = (iTempPoc > iPOCCurr) ? (iTempPoc - iPOCCurr): (iPOCCurr - iTempPoc); 521 bRAP = (currSlice->getRefPic(eRefPicList, lpRef)->getCurrSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDV? 1:0); 522 if( bRAP) 523 { 524 bCheck = true; 525 this->setRapRefIdx(lpRef); 526 this->setRapRefList(eRefPicList); 527 return bCheck; 528 } 529 if(uiTempLayerCurr > uiTempLayer) 530 { 531 bCheck = true; 532 if(uiTempLayerCurr == uiTempLayer) 533 { 534 if(iPOCDiff > iTempDiff) 535 { 536 iPOCDiff=iTempDiff; 537 if(iPOCDiff < 255) 538 { 539 this->setRapRefIdx(lpRef); 540 this->setRapRefList(eRefPicList); 541 } 542 } 543 } 544 else 545 { 546 iPOCDiff=iTempDiff; 547 uiTempLayerCurr = uiTempLayer; 548 this->setRapRefIdx(lpRef); 549 this->setRapRefList(eRefPicList); 550 } 551 } 552 } 553 } 554 return bCheck; 555 } 556 #endif 482 557 483 558 #if HHI_INTERVIEW_SKIP
Note: See TracChangeset for help on using the changeset viewer.