Changeset 566 in 3DVCSoftware for branches/HTM-DEV-2.0-dev1-Mediatek/source/Lib/TLibCommon/TComPic.cpp
- Timestamp:
- 12 Aug 2013, 11:11:06 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-2.0-dev1-Mediatek/source/Lib/TLibCommon/TComPic.cpp
r539 r566 655 655 } 656 656 #endif 657 #if MTK_NBDV_TN_FIX_E0172 658 Void TComPic::checkTemporalIVRef() 659 { 660 TComSlice* currSlice = getSlice(getCurrSliceIdx()); 661 const Int numCandPics = this->getNumDdvCandPics(); 662 for(Int curCandPic = 0; curCandPic < numCandPics; curCandPic++) 663 { 664 RefPicList eCurRefPicList = REF_PIC_LIST_0 ; 665 Int curCandPicRefIdx = 0; 666 if( curCandPic == 0 ) 667 { 668 eCurRefPicList = RefPicList(currSlice->isInterB() ? 1-currSlice->getColFromL0Flag() : 0); 669 curCandPicRefIdx = currSlice->getColRefIdx(); 670 } 671 else 672 { 673 eCurRefPicList = this->getRapRefList(); 674 curCandPicRefIdx = this->getRapRefIdx(); 675 } 676 TComPic* pcCandColPic = currSlice->getRefPic( eCurRefPicList, curCandPicRefIdx); 677 TComSlice* pcCandColSlice = pcCandColPic->getSlice(0);// currently only support single slice 678 679 if(!pcCandColSlice->isIntra()) 680 { 681 for( Int iColRefDir = 0; iColRefDir < (pcCandColSlice->isInterB() ? 2: 1); iColRefDir ++ ) 682 { 683 for( Int iColRefIdx =0; iColRefIdx < pcCandColSlice->getNumRefIdx(( RefPicList )iColRefDir ); iColRefIdx++) 684 { 685 m_abTIVRINCurrRL[curCandPic][iColRefDir][iColRefIdx] = false; 686 Int iColViewIdx = pcCandColSlice->getViewIndex(); 687 Int iColRefViewIdx = pcCandColSlice->getRefPic( ( RefPicList )iColRefDir, iColRefIdx)->getViewIndex(); 688 if(iColViewIdx == iColRefViewIdx) 689 continue; 690 691 for(Int iCurrRefDir = 0;(iCurrRefDir < (currSlice->isInterB() ? 2: 1)) && (m_abTIVRINCurrRL[curCandPic][iColRefDir][iColRefIdx] == false ); iCurrRefDir++) 692 { 693 for( Int iCurrRefIdx =0; iCurrRefIdx < currSlice->getNumRefIdx(( RefPicList )iCurrRefDir ); iCurrRefIdx++) 694 { 695 if( currSlice->getRefPic( ( RefPicList )iCurrRefDir, iCurrRefIdx )->getViewIndex() == iColRefViewIdx ) 696 { 697 m_abTIVRINCurrRL[curCandPic][iColRefDir][iColRefIdx] = true; 698 break; 699 } 700 } 701 } 702 } 703 } 704 } 705 } 706 } 707 Bool TComPic::isTempIVRefValid(Int currCandPic, Int iColRefDir, Int iColRefIdx) 708 { 709 return m_abTIVRINCurrRL[currCandPic][iColRefDir][iColRefIdx]; 710 } 711 #endif 657 712 //! \}
Note: See TracChangeset for help on using the changeset viewer.