- Timestamp:
- 13 Dec 2013, 23:00:20 (11 years ago)
- Location:
- branches/SHM-4.1-dev/source
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-4.1-dev/source/App/TAppEncoder/TAppEncTop.cpp
r512 r514 1100 1100 #endif 1101 1101 #endif 1102 #if VPS_TSLAYERS 1103 vps->setMaxTSLayersPresentFlag(true); 1104 for( i = 0; i < MAX_VPS_LAYER_ID_PLUS1 - 1; i++ ) 1105 { 1106 vps->setMaxTSLayersMinus1(i, vps->getMaxTLayers()-1); 1107 } 1108 #endif 1102 1109 #if N0120_MAX_TID_REF_PRESENT_FLAG 1103 1110 #if N0120_MAX_TID_REF_CFG -
branches/SHM-4.1-dev/source/Lib/TLibCommon/TComSlice.h
r512 r514 594 594 Bool m_maxTidRefPresentFlag; 595 595 #endif 596 #if VPS_TSLAYERS 597 Bool m_maxTSLayersPresentFlag; 598 UInt m_maxTSLayerMinus1[MAX_VPS_LAYER_ID_PLUS1 - 1]; 599 #endif 596 600 #if M0040_ADAPTIVE_RESOLUTION_CHANGE 597 601 Bool m_singleLayerForNonIrapFlag; … … 840 844 Void setMaxTidRefPresentFlag(Bool x) { m_maxTidRefPresentFlag = x;} 841 845 #endif 846 #if VPS_TSLAYERS 847 Bool getMaxTSLayersPresentFlag() { return m_maxTSLayersPresentFlag ;} 848 Void setMaxTSLayersPresentFlag(Bool x) { m_maxTSLayersPresentFlag = x;} 849 UInt getMaxTSLayersMinus1(Int layerId) { return m_maxTSLayerMinus1[layerId];} 850 Void setMaxTSLayersMinus1(Int layerId, UInt maxTSublayer) { m_maxTSLayerMinus1[layerId] = maxTSublayer;} 851 #endif 842 852 #if M0040_ADAPTIVE_RESOLUTION_CHANGE 843 853 Bool getSingleLayerForNonIrapFlag() { return m_singleLayerForNonIrapFlag; } -
branches/SHM-4.1-dev/source/Lib/TLibCommon/TypeDef.h
r512 r514 131 131 #define O0225_MAX_TID_FOR_REF_LAYERS 1 132 132 #define O0225_TID_BASED_IL_RPS_DERIV 1 133 134 #define VPS_TSLAYERS 1 ///< JCTVC-O0120 signal max temporal sub-layers for each layer 135 #define TSLAYERS_IL_RPS 1 ///< JCTVC-O0120 IL RPS based on max temporal sub-layers 133 136 #endif 134 137 #if REF_IDX_MFM -
branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r512 r514 1109 1109 } 1110 1110 #endif 1111 #if VPS_TSLAYERS 1112 READ_FLAG( uiCode, "vps_sub_layers_max_minus1_present_flag"); vps->setMaxTSLayersPresentFlag(uiCode ? true : false); 1113 if (vps->getMaxTSLayersPresentFlag()) 1114 { 1115 for(i = 0; i < vps->getMaxLayers() - 1; i++) 1116 { 1117 READ_CODE( 3, uiCode, "sub_layers_vps_max_minus1[i]" ); vps->setMaxTSLayersMinus1(i, uiCode); 1118 } 1119 } 1120 else 1121 { 1122 for( i = 0; i < vps->getMaxLayers() - 1; i++) 1123 { 1124 vps->setMaxTSLayersMinus1(i, vps->getMaxTLayers()-1); 1125 } 1126 } 1127 #endif 1111 1128 #if JCTVC_M0203_INTERLAYER_PRED_IDC 1112 1129 #if N0120_MAX_TID_REF_PRESENT_FLAG … … 1928 1945 else 1929 1946 { 1930 #if O0225_TID_BASED_IL_RPS_DERIV 1931 if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(0,rpcSlice->getLayerId()) > rpcSlice->getTLayer()) 1947 #if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS 1948 if( (rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(0,rpcSlice->getLayerId()) > rpcSlice->getTLayer()) && 1949 (rpcSlice->getVPS()->getMaxTSLayersMinus1(0) >= rpcSlice->getTLayer()) ) 1932 1950 { 1933 1951 #endif 1934 1952 rpcSlice->setActiveNumILRRefIdx(1); 1935 1953 rpcSlice->setInterLayerPredLayerIdc(0,0); 1936 #if O0225_TID_BASED_IL_RPS_DERIV 1954 #if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS 1937 1955 } 1938 1956 #endif … … 1949 1967 rpcSlice->setInterLayerPredEnabledFlag(true); 1950 1968 1951 #if O0225_TID_BASED_IL_RPS_DERIV 1969 #if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS 1952 1970 Int numRefLayerPics = 0; 1953 1971 Int i = 0; … … 1955 1973 for(i = 0, numRefLayerPics = 0; i < rpcSlice->getNumILRRefIdx(); i++ ) 1956 1974 { 1957 if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) > rpcSlice->getTLayer()) 1975 if(rpcSlice->getVPS()->getMaxTidIlRefPicsPlus1(rpcSlice->getVPS()->getLayerIdInVps(i),rpcSlice->getLayerId()) > rpcSlice->getTLayer() && 1976 (rpcSlice->getVPS()->getMaxTSLayersMinus1(rpcSlice->getVPS()->getLayerIdInVps(i)) >= rpcSlice->getTLayer()) ) 1958 1977 { 1959 1978 refLayerPicIdc[ numRefLayerPics++ ] = i; -
branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecTop.cpp
r507 r514 1219 1219 if( pcPic->isSpatialEnhLayer(refLayerIdc) ) 1220 1220 { 1221 #if O0098_SCALED_REF_LAYER_ID1221 /*#if O0098_SCALED_REF_LAYER_ID 1222 1222 Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindowForLayer(pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc)); 1223 1223 #else 1224 1224 Window &scalEL = pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc); 1225 #endif 1225 #endif*/ 1226 1226 #if O0215_PHASE_ALIGNMENT 1227 1227 #if O0194_JOINT_US_BITSHIFT -
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r512 r514 909 909 } 910 910 #endif 911 #if VPS_TSLAYERS 912 WRITE_FLAG( vps->getMaxTSLayersPresentFlag(), "vps_sub_layers_max_minus1_present_flag"); 913 if (vps->getMaxTSLayersPresentFlag()) 914 { 915 for( i = 0; i < vps->getMaxLayers() - 1; i++) 916 { 917 WRITE_CODE(vps->getMaxTSLayersMinus1(i), 3, "sub_layers_vps_max_minus1[i]" ); 918 } 919 } 920 #endif 911 921 #if JCTVC_M0203_INTERLAYER_PRED_IDC 912 922 #if N0120_MAX_TID_REF_PRESENT_FLAG -
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r513 r514 804 804 if( pcPic->isSpatialEnhLayer(refLayerIdc)) 805 805 { 806 #if O0098_SCALED_REF_LAYER_ID806 /*#if O0098_SCALED_REF_LAYER_ID 807 807 Window scalEL = pcSlice->getSPS()->getScaledRefLayerWindowForLayer(pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc)); 808 808 #else 809 809 Window scalEL = pcSlice->getSPS()->getScaledRefLayerWindow(refLayerIdc); 810 #endif 810 #endif*/ 811 811 #if O0215_PHASE_ALIGNMENT 812 812 #if O0194_JOINT_US_BITSHIFT
Note: See TracChangeset for help on using the changeset viewer.