Changeset 564 in SHVCSoftware for branches/SHM-5.0-dev/source/Lib
- Timestamp:
- 27 Jan 2014, 17:54:11 (11 years ago)
- Location:
- branches/SHM-5.0-dev/source/Lib
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-5.0-dev/source/Lib/TLibCommon/TComSlice.cpp
r562 r564 117 117 #if SVC_EXTENSION 118 118 memset( m_pcBaseColPic, 0, sizeof( m_pcBaseColPic ) ); 119 #if JCTVC_M0458_INTERLAYER_RPS_SIG120 119 m_activeNumILRRefIdx = 0; 121 120 m_interLayerPredEnabledFlag = 0; 122 121 ::memset( m_interLayerPredLayerIdc, 0, sizeof(m_interLayerPredLayerIdc) ); 123 #else124 m_numILRRefIdx = 0;125 #endif126 122 #endif //SVC_EXTENSION 127 123 … … 167 163 #if SVC_EXTENSION 168 164 m_layerId = layerId; 169 #if JCTVC_M0458_INTERLAYER_RPS_SIG170 165 m_activeNumILRRefIdx = 0; 171 166 m_interLayerPredEnabledFlag = 0; 172 #else173 m_numILRRefIdx = 0;174 #endif175 167 #endif 176 168 m_aiNumRefIdx[0] = 0; … … 485 477 } 486 478 } 487 #if JCTVC_M0458_INTERLAYER_RPS_SIG488 479 if (numInterLayerRPSPics < m_activeNumILRRefIdx) 489 480 { … … 564 555 #endif 565 556 } 566 #endif 567 #else 568 if (numInterLayerRPSPics < m_numILRRefIdx) 569 { 570 m_numILRRefIdx = numInterLayerRPSPics; 571 } 572 #endif 573 } 574 #if JCTVC_M0458_INTERLAYER_RPS_SIG 557 #endif 558 } 575 559 Int numPocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr + m_activeNumILRRefIdx; 576 #else577 Int numPocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr + m_numILRRefIdx;578 #endif579 560 #else //SVC_EXTENSION 580 561 Int numPocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr; … … 620 601 if( m_layerId > 0 ) 621 602 { 622 #if JCTVC_M0458_INTERLAYER_RPS_SIG623 603 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++) 624 #else625 for( i = 0; i < m_numILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++)626 #endif627 604 { 628 605 Int refLayerIdc = m_interLayerPredLayerIdc[i]; … … 652 629 if( m_layerId > 0 ) 653 630 { 654 #if JCTVC_M0458_INTERLAYER_RPS_SIG655 631 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++) 656 #else657 for( i = 0; i < m_numILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++)658 #endif659 632 { 660 633 Int refLayerIdc = m_interLayerPredLayerIdc[i]; … … 693 666 if( m_layerId > 0 ) 694 667 { 695 #if JCTVC_M0458_INTERLAYER_RPS_SIG696 668 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++) 697 #else698 for( i = 0; i < m_numILRRefIdx && cIdx < numPocTotalCurr; cIdx ++, i ++)699 #endif700 669 { 701 670 Int refLayerIdc = m_interLayerPredLayerIdc[i]; … … 799 768 else 800 769 { 801 #if JCTVC_M0458_INTERLAYER_RPS_SIG802 770 for(Int i = m_activeNumILRRefIdx; i > 0; i-- ) 803 #else804 for(Int i = m_numILRRefIdx; i > 0; i-- )805 #endif806 771 { 807 772 #if RPL_INIT_N0316_N0082 … … 848 813 else 849 814 { 850 #if JCTVC_M0458_INTERLAYER_RPS_SIG851 815 for(Int i = m_activeNumILRRefIdx; i > 0; i-- ) 852 #else853 for(Int i = m_numILRRefIdx; i > 0; i-- )854 #endif855 816 { 856 817 refPicListModification->setRefPicSetIdxL1(m_aiNumRefIdx[REF_PIC_LIST_1] - i, numberOfRpsCurrTempList - i); … … 894 855 { 895 856 #if SVC_EXTENSION 896 #if JCTVC_M0458_INTERLAYER_RPS_SIG897 857 return m_activeNumILRRefIdx; 898 #else899 return getNumILRRefIdx();900 #endif901 858 #else 902 859 return 0; … … 913 870 if( m_layerId > 0 ) 914 871 { 915 #if JCTVC_M0458_INTERLAYER_RPS_SIG916 872 numRpsCurrTempList += m_activeNumILRRefIdx; 917 #else918 numRpsCurrTempList += getNumILRRefIdx();919 #endif920 873 } 921 874 #endif … … 1146 1099 m_pcVPS = pSrc->m_pcVPS; 1147 1100 m_layerId = pSrc->m_layerId; 1148 #if JCTVC_M0458_INTERLAYER_RPS_SIG1149 1101 m_activeNumILRRefIdx = pSrc->m_activeNumILRRefIdx; 1150 1102 m_interLayerPredEnabledFlag = pSrc->m_interLayerPredEnabledFlag; 1151 1103 memcpy( m_interLayerPredLayerIdc, pSrc->m_interLayerPredLayerIdc, sizeof( m_interLayerPredLayerIdc ) ); 1152 #endif1153 1104 #endif 1154 1105 m_pcSPS = pSrc->m_pcSPS; … … 2076 2027 #endif 2077 2028 ::memset(m_profileLevelTierIdx, 0, sizeof(m_profileLevelTierIdx)); 2078 #if JCTVC_M0458_INTERLAYER_RPS_SIG2079 2029 m_maxOneActiveRefLayerFlag = true; 2080 #endif2081 2030 #if O0062_POC_LSB_NOT_PRESENT_FLAG 2082 2031 ::memset(m_pocLsbNotPresentFlag, 0, sizeof(m_pocLsbNotPresentFlag)); -
branches/SHM-5.0-dev/source/Lib/TLibCommon/TComSlice.h
r563 r564 546 546 #endif 547 547 Int m_profileLevelTierIdx[64]; 548 #if JCTVC_M0458_INTERLAYER_RPS_SIG549 548 Bool m_maxOneActiveRefLayerFlag; 550 #endif551 549 #if O0062_POC_LSB_NOT_PRESENT_FLAG 552 550 Bool m_pocLsbNotPresentFlag[MAX_VPS_LAYER_ID_PLUS1]; … … 655 653 #endif 656 654 657 #endif //SVC_EXTENSION658 655 #if !P0307_REMOVE_VPS_VUI_OFFSET 659 656 #if VPS_VUI_OFFSET … … 664 661 Int m_vpsNonVuiExtLength; 665 662 #endif 663 #endif //SVC_EXTENSION 666 664 public: 667 665 TComVPS(); … … 841 839 Int getProfileLevelTierIdx(Int i) { return m_profileLevelTierIdx[i]; } 842 840 Void setProfileLevelTierIdx(Int i, Int x) { m_profileLevelTierIdx[i] = x ; } 843 #if JCTVC_M0458_INTERLAYER_RPS_SIG844 841 Bool getMaxOneActiveRefLayerFlag() { return m_maxOneActiveRefLayerFlag; } 845 842 Void setMaxOneActiveRefLayerFlag(Bool x) { m_maxOneActiveRefLayerFlag = x; } 846 #endif847 843 #if O0062_POC_LSB_NOT_PRESENT_FLAG 848 844 UInt getPocLsbNotPresentFlag(Int i) { return m_pocLsbNotPresentFlag[i]; } … … 1871 1867 #endif 1872 1868 1873 #if JCTVC_M0458_INTERLAYER_RPS_SIG1874 1869 Bool m_interLayerPredEnabledFlag; 1875 1870 Int m_activeNumILRRefIdx; //< Active inter-layer reference pictures 1876 1871 Int m_interLayerPredLayerIdc [MAX_VPS_LAYER_ID_PLUS1]; 1877 #else1878 #if SVC_EXTENSION1879 Int m_numILRRefIdx; //< for inter-layer reference picture ser1880 #endif1881 #endif1882 1872 #if POC_RESET_FLAG 1883 1873 Bool m_bPocResetFlag; … … 2142 2132 #endif 2143 2133 2144 #if JCTVC_M0458_INTERLAYER_RPS_SIG2145 2134 Int getActiveNumILRRefIdx ( ) { return m_activeNumILRRefIdx; } 2146 2135 Void setActiveNumILRRefIdx ( Int i ) { m_activeNumILRRefIdx = i; } … … 2151 2140 Void setInterLayerPredEnabledFlag ( Bool val ) { m_interLayerPredEnabledFlag = val; } 2152 2141 Bool getInterLayerPredEnabledFlag () { return m_interLayerPredEnabledFlag;} 2153 #else2154 Void setNumILRRefIdx ( Int i ) { m_numILRRefIdx = i; }2155 #endif2156 2142 2157 2143 Void setNumMotionPredRefLayers(int i) { m_numMotionPredRefLayers = i; } -
branches/SHM-5.0-dev/source/Lib/TLibCommon/TypeDef.h
r563 r564 149 149 #define ENCODER_FAST_MODE 1 ///< JCTVC-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. 150 150 #define REF_IDX_MFM 1 ///< JCTVC-L0336: motion vector mapping of inter-layer reference picture 151 #define JCTVC_M0458_INTERLAYER_RPS_SIG 1 ///< implementation of JCTVC-L0178152 #if JCTVC_M0458_INTERLAYER_RPS_SIG153 151 #define MAX_ONE_RESAMPLING_DIRECT_LAYERS 1 ///< Allow maximum of one resampling process for direct reference layers 154 152 #define MOTION_RESAMPLING_CONSTRAINT 1 ///< JCTVC-N0108: Allow maximum of one motion resampling process for direct reference layers, and use motion inter-layer prediction from the same layer as texture inter-layer prediction. 155 #endif156 153 #define JCTVC_M0203_INTERLAYER_PRED_IDC 1 ///< JCTVC-M0203: implementation of Inter-layer Prediction Indication 157 154 #if JCTVC_M0203_INTERLAYER_PRED_IDC … … 161 158 #define O0225_MAX_TID_FOR_REF_LAYERS 1 162 159 #define O0225_TID_BASED_IL_RPS_DERIV 1 163 164 160 #define VPS_TSLAYERS 1 ///< JCTVC-O0120 signal max temporal sub-layers for each layer 165 161 #define TSLAYERS_IL_RPS 1 ///< JCTVC-O0120 IL RPS based on max temporal sub-layers -
branches/SHM-5.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r563 r564 1342 1342 } 1343 1343 #endif 1344 #if JCTVC_M0458_INTERLAYER_RPS_SIG1345 1344 READ_FLAG(uiCode, "max_one_active_ref_layer_flag" ); 1346 1345 vps->setMaxOneActiveRefLayerFlag(uiCode); 1347 #endif1348 1346 #if O0062_POC_LSB_NOT_PRESENT_FLAG 1349 1347 for(i = 1; i< vps->getMaxLayers(); i++) … … 2054 2052 2055 2053 #if SVC_EXTENSION 2056 #if JCTVC_M0458_INTERLAYER_RPS_SIG2057 2054 rpcSlice->setActiveNumILRRefIdx(0); 2058 2055 #if ILP_SSH_SIG … … 2156 2153 } 2157 2154 #endif 2158 #else2159 if( rpcSlice->getLayerId() > 0 )2160 {2161 rpcSlice->setNumILRRefIdx( rpcSlice->getVPS()->getNumDirectRefLayers( rpcSlice->getLayerId() ) );2162 }2163 #endif2164 2155 #endif 2165 2156 -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r562 r564 1021 1021 #endif 1022 1022 1023 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1024 WRITE_FLAG(vps->getMaxOneActiveRefLayerFlag(), "max_one_active_ref_layer_flag"); 1025 #endif 1023 WRITE_FLAG(vps->getMaxOneActiveRefLayerFlag(), "max_one_active_ref_layer_flag"); 1026 1024 #if O0062_POC_LSB_NOT_PRESENT_FLAG 1027 1025 for(i = 1; i< vps->getMaxLayers(); i++) … … 1604 1602 } 1605 1603 1606 #if JCTVC_M0458_INTERLAYER_RPS_SIG1604 #if SVC_EXTENSION 1607 1605 #if ILP_SSH_SIG 1608 1606 #if ILP_SSH_SIG_FIX … … 1643 1641 } 1644 1642 } 1645 #endif 1643 #endif //SVC_EXTENSION 1646 1644 1647 1645 if(pcSlice->getSPS()->getUseSAO()) -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r563 r564 1148 1148 #endif 1149 1149 { 1150 #if JCTVC_M0458_INTERLAYER_RPS_SIG1151 1150 pcSlice->setActiveNumILRRefIdx(0); 1152 1151 pcSlice->setInterLayerPredEnabledFlag(0); 1153 #else 1154 pcSlice->setNumILRRefIdx(0); 1155 #endif 1156 } 1157 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1152 } 1158 1153 if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA ) 1159 1154 { … … 1166 1161 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getActiveNumILRRefIdx()); 1167 1162 } 1168 #else1169 if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA )1170 {1171 pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getNumILRRefIdx());1172 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumILRRefIdx());1173 }1174 else1175 {1176 pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getNumRefIdx(REF_PIC_LIST_0)+pcSlice->getNumILRRefIdx());1177 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getNumILRRefIdx());1178 }1179 #endif1180 1163 } 1181 1164 #endif //SVC_EXTENSION -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncSlice.cpp
r563 r564 523 523 if( layerId > 0 ) 524 524 { 525 #if JCTVC_M0458_INTERLAYER_RPS_SIG526 525 if( rpcSlice->getNumILRRefIdx() > 0 ) 527 526 { … … 533 532 rpcSlice->setInterLayerPredEnabledFlag(1); 534 533 } 535 #else536 rpcSlice->setNumILRRefIdx( rpcSlice->getVPS()->getNumDirectRefLayers( layerId ) );537 #endif538 534 rpcSlice->setMFMEnabledFlag(m_ppcTEncTop[layerId]->getMFMEnabledFlag()); 539 535 }
Note: See TracChangeset for help on using the changeset viewer.