Changeset 174 in SHVCSoftware for branches/SHM-2.0-dev/source/Lib
- Timestamp:
- 9 May 2013, 22:14:35 (12 years ago)
- Location:
- branches/SHM-2.0-dev/source/Lib
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-2.0-dev/source/Lib/TLibCommon/TComSlice.cpp
r173 r174 126 126 m_numILRRefIdx = 0; 127 127 #endif 128 #if JCTVC_M0458 129 m_a iActiveNumILRRefIdx = 0;130 m_ InterLayerPredEnabledFlag = 0;128 #if JCTVC_M0458_INTERLAYER_RPS_SIG 129 m_activeNumILRRefIdx = 0; 130 m_bInterLayerPredEnabledFlag = 0; 131 131 132 132 for ( Int idx = 0; idx < MAX_VPS_LAYER_ID_PLUS1; idx++ ) 133 m_ interLayerPredLayerIdc[idx] = 0;133 m_aiInterLayerPredLayerIdc[idx] = 0; 134 134 #endif 135 135 … … 186 186 { 187 187 m_numILRRefIdx = m_pcVPS->getNumDirectRefLayers( layerId ); 188 #if JCTVC_M0458 189 m_a iActiveNumILRRefIdx = 1;190 m_ InterLayerPredEnabledFlag = 1;191 #endif 188 #if JCTVC_M0458_INTERLAYER_RPS_SIG 189 m_activeNumILRRefIdx = m_pcVPS->getNumDirectRefLayers( layerId ); 190 m_bInterLayerPredEnabledFlag = 1; 191 #endif 192 192 } 193 193 else 194 194 { 195 195 m_numILRRefIdx = 0; 196 #if JCTVC_M0458 197 m_a iActiveNumILRRefIdx = 0;198 m_ InterLayerPredEnabledFlag = 0;199 #endif 196 #if JCTVC_M0458_INTERLAYER_RPS_SIG 197 m_activeNumILRRefIdx = 0; 198 m_bInterLayerPredEnabledFlag = 0; 199 #endif 200 200 } 201 201 #endif … … 544 544 TComPic* rpsCurrList1[MAX_NUM_REF+1]; 545 545 #if REF_IDX_FRAMEWORK 546 #if JCTVC_M0458 547 Int numPocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr + m_a iActiveNumILRRefIdx;546 #if JCTVC_M0458_INTERLAYER_RPS_SIG 547 Int numPocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr + m_activeNumILRRefIdx; 548 548 #else 549 549 Int numPocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr + m_numILRRefIdx; … … 594 594 if(getLayerId()) 595 595 { 596 #if JCTVC_M0458 597 for( i = 0; i < m_a iActiveNumILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++)596 #if JCTVC_M0458_INTERLAYER_RPS_SIG 597 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++) 598 598 #else 599 599 for( i = 0; i < m_numILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++) … … 622 622 if(getLayerId()) 623 623 { 624 #if JCTVC_M0458 625 for( i = 0; i < m_a iActiveNumILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++)624 #if JCTVC_M0458_INTERLAYER_RPS_SIG 625 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++) 626 626 #else 627 627 for( i = 0; i < m_numILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++) … … 696 696 else 697 697 { 698 #if JCTVC_M0458 699 for(Int i = m_a iActiveNumILRRefIdx; i > 0; i-- )698 #if JCTVC_M0458_INTERLAYER_RPS_SIG 699 for(Int i = m_activeNumILRRefIdx; i > 0; i-- ) 700 700 #else 701 701 for(Int i = m_numILRRefIdx; i > 0; i-- ) … … 726 726 else 727 727 { 728 #if JCTVC_M0458 729 for(Int i = m_a iActiveNumILRRefIdx; i > 0; i-- )728 #if JCTVC_M0458_INTERLAYER_RPS_SIG 729 for(Int i = m_activeNumILRRefIdx; i > 0; i-- ) 730 730 #else 731 731 for(Int i = m_numILRRefIdx; i > 0; i-- ) … … 753 753 { 754 754 #if REF_IDX_FRAMEWORK 755 #if JCTVC_M0458 756 return m_a iActiveNumILRRefIdx;755 #if JCTVC_M0458_INTERLAYER_RPS_SIG 756 return m_activeNumILRRefIdx; 757 757 #else 758 758 return m_numILRRefIdx; … … 772 772 if(getLayerId()) 773 773 { 774 #if JCTVC_M0458 774 #if JCTVC_M0458_INTERLAYER_RPS_SIG 775 775 numRpsCurrTempList += getActiveNumILRRefIdx(); 776 776 #else … … 1589 1589 ::memset(m_profileLevelTierIdx, 0, sizeof(m_profileLevelTierIdx)); 1590 1590 #endif 1591 #if JCTVC_M0458 1591 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1592 1592 m_maxOneActiveRefLayerFlag = true; 1593 1593 #endif -
branches/SHM-2.0-dev/source/Lib/TLibCommon/TComSlice.h
r172 r174 557 557 Int m_profileLevelTierIdx[64]; 558 558 #endif 559 #if JCTVC_M0458 559 #if JCTVC_M0458_INTERLAYER_RPS_SIG 560 560 Bool m_maxOneActiveRefLayerFlag; 561 561 #endif … … 708 708 Void setProfileLevelTierIdx(Int i, Int x) { m_profileLevelTierIdx[i] = x ; } 709 709 #endif 710 #if JCTVC_M0458 710 #if JCTVC_M0458_INTERLAYER_RPS_SIG 711 711 Bool getMaxOneActiveRefLayerFlag() { return m_maxOneActiveRefLayerFlag; } 712 712 Void setMaxOneActiveRefLayerFlag(Bool x) { m_maxOneActiveRefLayerFlag = x; } … … 1420 1420 Int m_numILRRefIdx; //< for inter-layer reference picture ser 1421 1421 #endif 1422 #if JCTVC_M0458 1423 UInt m_aiActiveNumILRRefIdx; //< Active inter-layer reference pictures1424 UInt m_interLayerPredLayerIdc [MAX_VPS_LAYER_ID_PLUS1];1422 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1423 Int m_activeNumILRRefIdx; //< Active inter-layer reference pictures 1424 Int m_aiInterLayerPredLayerIdc [MAX_VPS_LAYER_ID_PLUS1]; 1425 1425 #endif 1426 1426 #if L0034_COMBINED_LIST_CLEANUP … … 1516 1516 1517 1517 Bool m_enableTMVPFlag; 1518 #if JCTVC_M0458 1519 Bool m_ InterLayerPredEnabledFlag;1520 UInt m_NumInterLayerRefPics;1518 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1519 Bool m_bInterLayerPredEnabledFlag; 1520 Int m_numInterLayerRefPics; 1521 1521 #endif 1522 1522 public: … … 1579 1579 Void setNumILRRefIdx ( Int i ) { m_numILRRefIdx = i; } 1580 1580 #endif 1581 #if JCTVC_M0458 1582 Int getActiveNumILRRefIdx ( ) { return m_a iActiveNumILRRefIdx; }1583 Void setActiveNumILRRefIdx ( Int i ) { m_a iActiveNumILRRefIdx = i; }1584 1585 Int getInterLayerPredLayerIdc (UInt Idx ) { return m_ interLayerPredLayerIdc[Idx]; }1586 Void setInterLayerPredLayerIdc (UInt val,UInt Idx) { m_ interLayerPredLayerIdc[Idx] = val; }1581 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1582 Int getActiveNumILRRefIdx ( ) { return m_activeNumILRRefIdx; } 1583 Void setActiveNumILRRefIdx ( Int i ) { m_activeNumILRRefIdx = i; } 1584 1585 Int getInterLayerPredLayerIdc (UInt Idx ) { return m_aiInterLayerPredLayerIdc[Idx]; } 1586 Void setInterLayerPredLayerIdc (UInt val,UInt Idx) { m_aiInterLayerPredLayerIdc[Idx] = val; } 1587 1587 #endif 1588 1588 Int getNumRefIdx ( RefPicList e ) { return m_aiNumRefIdx[e]; } … … 1789 1789 Void setEnableTMVPFlag ( Bool b ) { m_enableTMVPFlag = b; } 1790 1790 Bool getEnableTMVPFlag () { return m_enableTMVPFlag;} 1791 #if JCTVC_M0458 1792 Void setInterLayerPredEnabledFlag ( Bool val ) { m_ InterLayerPredEnabledFlag = val; }1793 Bool getInterLayerPredEnabledFlag () { return m_ InterLayerPredEnabledFlag;}1794 1795 Void setNumInterLayerRefPics ( UInt val ) { m_ NumInterLayerRefPics = val; }1796 UInt getNumInterLayerRefPics () { return m_ NumInterLayerRefPics;}1791 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1792 Void setInterLayerPredEnabledFlag ( Bool val ) { m_bInterLayerPredEnabledFlag = val; } 1793 Bool getInterLayerPredEnabledFlag () { return m_bInterLayerPredEnabledFlag;} 1794 1795 Void setNumInterLayerRefPics ( UInt val ) { m_numInterLayerRefPics = val; } 1796 UInt getNumInterLayerRefPics () { return m_numInterLayerRefPics;} 1797 1797 #endif 1798 1798 protected: -
branches/SHM-2.0-dev/source/Lib/TLibCommon/TypeDef.h
r170 r174 88 88 #define ENCODER_FAST_MODE 1 ///< L0174: enable encoder fast mode. TestMethod 1 is enabled by setting to 1 and TestMethod 2 is enable by setting to 2. By default it is set to 1. 89 89 #define REF_IDX_MFM 1 ///< L0336: motion vector mapping of inter-layer reference picture 90 #define JCTVC_M0458 90 #define JCTVC_M0458_INTERLAYER_RPS_SIG 1 ///< implementation of JCTVC-L0178 (currently only one reference layer is supported ) 91 91 #else 92 92 #define INTRA_BL 1 ///< inter-layer texture prediction -
branches/SHM-2.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r170 r174 1039 1039 #endif 1040 1040 #endif 1041 #if JCTVC_M0458 1041 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1042 1042 READ_FLAG(uiCode, "max_one_active_ref_layer_flag" ); 1043 1043 vps->setMaxOneActiveRefLayerFlag(uiCode); … … 1595 1595 } 1596 1596 1597 #if JCTVC_M0458 1597 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1598 1598 rpcSlice->setActiveNumILRRefIdx(0); 1599 1599 if((sps->getLayerId() > 0) && (rpcSlice->getNumILRRefIdx() > 0) ) -
branches/SHM-2.0-dev/source/Lib/TLibDecoder/TDecTop.cpp
r173 r174 1260 1260 // currently only one reference layer is supported 1261 1261 assert( vps->getNumDirectRefLayers( m_layerId ) == 1 ); 1262 #if JCTVC_M0458 1262 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1263 1263 assert( vps->getMaxOneActiveRefLayerFlag() == 1 ); 1264 1264 #endif -
branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r170 r174 797 797 #endif 798 798 #endif 799 #if JCTVC_M0458 799 #if JCTVC_M0458_INTERLAYER_RPS_SIG 800 800 WRITE_FLAG(vps->getMaxOneActiveRefLayerFlag(), "max_one_active_ref_layer_flag"); 801 801 #endif … … 1166 1166 } 1167 1167 } 1168 #if JCTVC_M0458 1168 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1169 1169 if((pcSlice->getSPS()->getLayerId() > 0) && (pcSlice->getNumILRRefIdx() > 0) ) 1170 1170 { … … 1179 1179 } 1180 1180 for(Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ ) 1181 WRITE_UVLC(pcSlice->getInterLayerPred EnabledFlag(),"inter_layer_pred_layer_idc[i]");1181 WRITE_UVLC(pcSlice->getInterLayerPredLayerIdc(i),"inter_layer_pred_layer_idc[i]"); 1182 1182 } 1183 1183 } -
branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r171 r174 669 669 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getNumILRRefIdx()); 670 670 } 671 #if JCTVC_M0458_INTERLAYER_RPS_SIG 672 // currently only one reference layer is supported in software and no decision logic to select yet. 673 // hence num of active inter layer references is set to one always 674 pcSlice->setActiveNumILRRefIdx(1); 675 #endif 671 676 } 672 677 #endif -
branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncSlice.cpp
r171 r174 485 485 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() ); 486 486 xStoreWPparam( pPPS->getUseWP(), pPPS->getWPBiPred() ); 487 488 #if JCTVC_M0458_INTERLAYER_RPS_SIG 489 // currently only one reference layer is supported in software and no decision logic to select yet. 490 // hence num of active inter layer references is set to one always 491 rpcSlice->setActiveNumILRRefIdx(1); 492 #endif 487 493 } 488 494
Note: See TracChangeset for help on using the changeset viewer.