Changeset 497 in 3DVCSoftware for branches/HTM-DEV-0.3-dev0/source/Lib/TLibCommon
- Timestamp:
- 26 Jun 2013, 15:57:04 (12 years ago)
- Location:
- branches/HTM-DEV-0.3-dev0/source/Lib/TLibCommon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev0/source/Lib/TLibCommon/TComSlice.cpp
r496 r497 517 517 TComPic* rpsCurrList1[MAX_NUM_REF+1]; 518 518 519 #if H_MV 520 521 Int numPocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr + getNumActiveRefLayerPics( ); 519 #if H_MV 520 Int numPocTotalCurr = ( getInterRefEnabledInRPLFlag() ? ( NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr ) : 0 ) + getNumActiveRefLayerPics( ); 522 521 assert( numPocTotalCurr == getNumRpsCurrTempList() ); 523 522 #else … … 613 612 ::memset(m_bIsUsedAsLongTerm, 0, sizeof(m_bIsUsedAsLongTerm)); 614 613 614 #if H_MV 615 Int numPocSt = getInterRefEnabledInRPLFlag( ) ? (NumPocStCurr0 + NumPocStCurr1) : 0; 616 617 for (Int li = 0; li < 2; li++) 618 { 619 if ( m_eSliceType == P_SLICE && li == 1 ) 620 { 621 m_aiNumRefIdx[1] = 0; 622 ::memset( m_apcRefPicList[1], 0, sizeof(m_apcRefPicList[1])); 623 } 624 else 625 { 626 for (Int rIdx = 0; rIdx <= (m_aiNumRefIdx[ li ] - 1 ); rIdx ++) 627 { 628 Bool listModified = m_RefPicListModification.getRefPicListModificationFlagL( li ); 629 Int orgIdx = listModified ? m_RefPicListModification.getRefPicSetIdxL(li, rIdx) : (rIdx % numPocTotalCurr); 630 631 m_apcRefPicList [li][rIdx] = ( li == 0 ) ? rpsCurrList0[ orgIdx ] : rpsCurrList1[ orgIdx ]; 632 m_bIsUsedAsLongTerm[li][rIdx] = ( orgIdx >= numPocSt ) ; 633 } 634 } 635 } 636 #else 637 615 638 for (Int rIdx = 0; rIdx <= (m_aiNumRefIdx[0]-1); rIdx ++) 616 639 { … … 633 656 } 634 657 } 658 #endif 635 659 } 636 660 … … 669 693 } 670 694 #if H_MV 671 numRpsCurrTempList = numRpsCurrTempList+ getNumActiveRefLayerPics();695 numRpsCurrTempList = ( getInterRefEnabledInRPLFlag() ? numRpsCurrTempList : 0 ) + getNumActiveRefLayerPics(); 672 696 #endif 673 697 return numRpsCurrTempList; -
branches/HTM-DEV-0.3-dev0/source/Lib/TLibCommon/TComSlice.h
r495 r497 1266 1266 #if H_MV 1267 1267 // Why not an listIdx for all members, would avoid code duplication?? 1268 Void setRefPicSetIdxL(UInt li, UInt idx, UInt refPicSetIdx) {( li==0 ? m_RefPicSetIdxL0[idx] : m_RefPicSetIdxL1[idx] ) = refPicSetIdx; }; 1269 Void setRefPicListModificationFlagL(UInt li, Bool flag) { ( li==0 ? m_bRefPicListModificationFlagL0 : m_bRefPicListModificationFlagL1 ) = flag; }; 1268 Void setRefPicSetIdxL(UInt li, UInt idx, UInt refPicSetIdx) {( li==0 ? m_RefPicSetIdxL0[idx] : m_RefPicSetIdxL1[idx] ) = refPicSetIdx; } 1269 UInt getRefPicSetIdxL(UInt li, UInt idx ) { return ( li == 0 ) ? m_RefPicSetIdxL0[idx] : m_RefPicSetIdxL1[idx] ; } 1270 Void setRefPicListModificationFlagL(UInt li, Bool flag) { ( li==0 ? m_bRefPicListModificationFlagL0 : m_bRefPicListModificationFlagL1 ) = flag; } 1271 Bool getRefPicListModificationFlagL(UInt li ) { return ( li== 0) ? m_bRefPicListModificationFlagL0 : m_bRefPicListModificationFlagL1; } 1270 1272 #endif 1271 1273 };
Note: See TracChangeset for help on using the changeset viewer.