Changeset 1131 in SHVCSoftware
- Timestamp:
- 7 Jul 2015, 03:31:59 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1130 r1131 839 839 #endif 840 840 Int* cfg_waveFrontSynchro[MAX_LAYERS]; 841 842 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS843 841 Int* cfg_layerSwitchOffBegin[MAX_LAYERS]; 844 842 Int* cfg_layerSwitchOffEnd[MAX_LAYERS]; 845 #endif846 843 847 844 #if MULTIPLE_PTL_SUPPORT … … 941 938 cfg_auxId[layer] = &m_acLayerCfg[layer].m_auxId; 942 939 #endif 943 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS 944 cfg_layerSwitchOffBegin[layer] = &m_acLayerCfg[layer].m_layerSwitchOffBegin; 945 cfg_layerSwitchOffEnd[layer] = &m_acLayerCfg[layer].m_layerSwitchOffEnd; 946 #endif 940 cfg_layerSwitchOffBegin[layer] = &m_acLayerCfg[layer].m_layerSwitchOffBegin; 941 cfg_layerSwitchOffEnd[layer] = &m_acLayerCfg[layer].m_layerSwitchOffEnd; 947 942 #if MULTIPLE_PTL_SUPPORT 948 943 cfg_layerPTLIdx[layer] = &m_acLayerCfg[layer].m_layerPTLIdx; … … 1686 1681 #endif 1687 1682 ("AdaptiveResolutionChange", m_adaptiveResolutionChange, 0, "Adaptive resolution change frame number. Should coincide with EL RAP picture. (0: disable)") 1688 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS1689 1683 ("LayerSwitchOffBegin%d", cfg_layerSwitchOffBegin, 0, MAX_LAYERS, "Switch layer %d off after given poc") 1690 1684 ("LayerSwitchOffEnd%d", cfg_layerSwitchOffEnd, 0, MAX_LAYERS, "Switch layer %d on at given poc") 1691 #endif1692 1685 ("SkipPictureAtArcSwitch", m_skipPictureAtArcSwitch, false, "Code the higher layer picture in ARC up-switching as a skip picture. (0: disable)") 1693 1686 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI … … 1904 1897 #endif 1905 1898 1906 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS1899 #if SVC_EXTENSION 1907 1900 for (Int layer = 0; layer < MAX_LAYERS; layer++) 1908 1901 { -
branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.h
r1090 r1131 147 147 #endif 148 148 149 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS150 149 Int m_layerSwitchOffBegin; 151 150 Int m_layerSwitchOffEnd; 152 #endif153 151 154 152 #if MULTIPLE_PTL_SUPPORT -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1130 r1131 788 788 789 789 m_acTEncTop[layer].setAdaptiveResolutionChange ( m_adaptiveResolutionChange ); 790 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS 791 m_acTEncTop[layer].setLayerSwitchOffBegin (m_acLayerCfg[layer].m_layerSwitchOffBegin); 792 m_acTEncTop[layer].setLayerSwitchOffEnd (m_acLayerCfg[layer].m_layerSwitchOffEnd); 793 #endif 790 m_acTEncTop[layer].setLayerSwitchOffBegin ( m_acLayerCfg[layer].m_layerSwitchOffBegin ); 791 m_acTEncTop[layer].setLayerSwitchOffEnd ( m_acLayerCfg[layer].m_layerSwitchOffEnd ); 794 792 #if AUXILIARY_PICTURES 795 793 m_acTEncTop[layer].setChromaFormatIDC ( m_acLayerCfg[layer].m_chromaFormatIDC ); -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1130 r1131 138 138 #define VPS_EXTN_PROFILE_INFO 1 ///< Include profile information for layer sets in VPS extension 139 139 #define VPS_EXTN_DIRECT_REF_LAYERS 1 ///< Include indication of direct dependency of layers in VPS extension 140 #define R0071_IRAP_EOS_CROSS_LAYER_IMPACTS 1141 140 142 141 #define VPS_VUI_TILES_NOT_IN_USE__FLAG 1 ///< JCTVC-O0226: VPS VUI flag to indicate tile not in use -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1130 r1131 106 106 m_isLastNALWasEos = false; 107 107 #endif 108 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS109 108 m_lastPicHasEos = false; 110 #endif111 109 #if NO_CLRAS_OUTPUT_FLAG 112 110 m_noClrasOutputFlag = false; … … 852 850 setNoClrasOutputFlag(true); 853 851 } 854 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS855 852 else if( m_lastPicHasEos ) 856 853 { 857 854 setNoClrasOutputFlag(true); 858 855 } 859 #endif860 856 else if ( m_apcSlicePilot->getBlaPicFlag() ) 861 857 { … … 1483 1479 } 1484 1480 #endif 1485 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS 1481 1482 #if SVC_EXTENSION 1486 1483 xCheckLayerReset(); 1487 1484 xSetLayerInitializedFlag(); 1488 1485 #endif 1486 1489 1487 // Buffer initialize for prediction. 1490 1488 m_cPrediction.initTempBuff(m_apcSlicePilot->getSPS()->getChromaFormatIdc()); … … 1993 1991 setFirstPicInLayerDecodedFlag(true); 1994 1992 #endif 1995 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS1993 #if SVC_EXTENSION 1996 1994 m_lastPicHasEos = false; 1997 1995 #endif … … 2248 2246 #if Q0177_EOS_CHECKS 2249 2247 assert( m_isLastNALWasEos == false ); 2250 #if !R0071_IRAP_EOS_CROSS_LAYER_IMPACTS 2251 //Check layer id of the nalu. if it is not 0, give a warning message and just return without doing anything. 2252 if (nalu.m_layerId > 0) 2253 { 2254 printf( "\nThis bitstream has EOS with non-zero layer id.\n" ); 2255 return false; 2256 } 2257 #endif 2248 2258 2249 m_isLastNALWasEos = true; 2259 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS2260 2250 m_lastPicHasEos = true; 2261 #endif2262 2251 #endif 2263 2252 m_associatedIRAPType = NAL_UNIT_INVALID; … … 2687 2676 #endif 2688 2677 2689 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS2690 2678 Void TDecTop::xCheckLayerReset() 2691 2679 { … … 2772 2760 } 2773 2761 } 2774 #endif 2775 2776 #if SVC_EXTENSION 2762 2777 2763 Void TDecTop::xDeriveSmallestLayerId(TComVPS* vps) 2778 2764 { … … 2811 2797 } 2812 2798 } 2813 #endif2814 2799 2815 2800 Void TDecTop::xSetSpatialEnhLayerFlag(TComSlice* slice, TComPic* pic) -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.h
r1111 r1131 124 124 Bool m_isLastNALWasEos; 125 125 #endif 126 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS127 126 Bool m_lastPicHasEos; 128 #endif129 127 static UInt m_prevPOC; // POC of the previous slice 130 128 static UInt m_uiPrevLayerId; // LayerId of the previous slice … … 310 308 Void xDecodeSEI( TComInputBitstream* bs, const NalUnitType nalUnitType ); 311 309 310 #if SVC_EXTENSION 312 311 #if NO_CLRAS_OUTPUT_FLAG 313 312 Int getNoClrasOutputFlag() { return m_noClrasOutputFlag;} … … 324 323 Void resetPocRestrictionCheckParameters(); 325 324 #endif 326 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS327 325 Void xCheckLayerReset(); 328 326 Void xSetNoRaslOutputFlag(); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h
r1130 r1131 371 371 Int m_elRapSliceBEnabled; 372 372 Int m_adaptiveResolutionChange; 373 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS374 373 int m_layerSwitchOffBegin; 375 374 int m_layerSwitchOffEnd; 376 #endif377 375 Bool m_altOutputLayerFlag; 378 376 Int m_skipPictureAtArcSwitch; … … 1014 1012 Void setAdaptiveResolutionChange(Int x) { m_adaptiveResolutionChange = x; } 1015 1013 Int getAdaptiveResolutionChange() { return m_adaptiveResolutionChange; } 1016 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS 1017 Void setLayerSwitchOffBegin(Int x) { m_layerSwitchOffBegin = x; } 1018 Int getLayerSwitchOffBegin() { return m_layerSwitchOffBegin; } 1019 Void setLayerSwitchOffEnd(Int x) { m_layerSwitchOffEnd = x; } 1020 Int getLayerSwitchOffEnd() { return m_layerSwitchOffEnd; } 1021 #endif 1022 Void setSkipPictureAtArcSwitch(Int x) { m_skipPictureAtArcSwitch = x; } 1023 Int getSkipPictureAtArcSwitch() { return m_skipPictureAtArcSwitch; } 1014 Void setLayerSwitchOffBegin(Int x) { m_layerSwitchOffBegin = x; } 1015 Int getLayerSwitchOffBegin() { return m_layerSwitchOffBegin; } 1016 Void setLayerSwitchOffEnd(Int x) { m_layerSwitchOffEnd = x; } 1017 Int getLayerSwitchOffEnd() { return m_layerSwitchOffEnd; } 1018 Void setSkipPictureAtArcSwitch(Int x) { m_skipPictureAtArcSwitch = x; } 1019 Int getSkipPictureAtArcSwitch() { return m_skipPictureAtArcSwitch; } 1024 1020 #if AUXILIARY_PICTURES 1025 Void setChromaFormatIDC(ChromaFormat x) { m_chromaFormatIDC = x; }1026 ChromaFormat getChromaFormatIDC() { return m_chromaFormatIDC; }1027 #endif 1028 Bool getAltOuputLayerFlag() const { return m_altOutputLayerFlag; }1029 Void setAltOuputLayerFlag(Bool b) { m_altOutputLayerFlag = b; }1021 Void setChromaFormatIDC(ChromaFormat x) { m_chromaFormatIDC = x; } 1022 ChromaFormat getChromaFormatIDC() { return m_chromaFormatIDC; } 1023 #endif 1024 Bool getAltOuputLayerFlag() const { return m_altOutputLayerFlag; } 1025 Void setAltOuputLayerFlag(Bool b) { m_altOutputLayerFlag = b; } 1030 1026 #if O0149_CROSS_LAYER_BLA_FLAG 1031 Bool getCrossLayerBLAFlag() const { return m_crossLayerBLAFlag; }1032 Void setCrossLayerBLAFlag(Bool b) { m_crossLayerBLAFlag = b; }1027 Bool getCrossLayerBLAFlag() const { return m_crossLayerBLAFlag; } 1028 Void setCrossLayerBLAFlag(Bool b) { m_crossLayerBLAFlag = b; } 1033 1029 #endif 1034 1030 #if FAST_INTRA_SHVC 1035 Bool getUseFastIntraScalable () { return m_useFastIntraScalable; }1036 Void setUseFastIntraScalable ( Bool b ) { m_useFastIntraScalable = b; }1031 Bool getUseFastIntraScalable () { return m_useFastIntraScalable; } 1032 Void setUseFastIntraScalable ( Bool b ) { m_useFastIntraScalable = b; } 1037 1033 #endif 1038 1034 #if VPS_EXTN_DIRECT_REF_LAYERS -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r1130 r1131 122 122 m_lastPocPeriodId = -1; 123 123 #endif 124 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS125 124 m_noRaslOutputFlag = false; 126 125 m_prevPicHasEos = false; 127 #endif128 126 #endif //SVC_EXTENSION 129 127 … … 1111 1109 continue; 1112 1110 } 1113 #endif 1114 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS 1111 1115 1112 if (pocCurr > m_pcEncTop->getLayerSwitchOffBegin() && pocCurr < m_pcEncTop->getLayerSwitchOffEnd()) 1116 1113 { … … 1208 1205 } 1209 1206 #endif 1210 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS 1207 1211 1208 // Set the nal unit type 1212 1209 pcSlice->setNalUnitType(getNalUnitType(pocCurr, m_iLastIDR, isField)); 1213 #endif 1210 1214 1211 #if NO_CLRAS_OUTPUT_FLAG 1215 1212 if (m_layerId == 0 && … … 1225 1222 m_pcEncTop->setNoClrasOutputFlag(true); 1226 1223 } 1227 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS1228 1224 else if (m_prevPicHasEos) 1229 1225 { 1230 1226 m_pcEncTop->setNoClrasOutputFlag(true); 1231 1227 } 1232 #endif1233 1228 else if (pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_LP 1234 1229 || pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_RADL … … 1258 1253 } 1259 1254 #endif 1260 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS1261 1255 xCheckLayerReset(pcSlice); 1262 1256 xSetNoRaslOutputFlag(pcSlice); 1263 1257 xSetLayerInitializedFlag(pcSlice); 1264 #endif 1258 1265 1259 if (m_pcEncTop->getAdaptiveResolutionChange() > 0 && m_layerId > 0 && pocCurr > m_pcEncTop->getAdaptiveResolutionChange()) 1266 1260 { … … 1365 1359 } 1366 1360 1367 #if !R0071_IRAP_EOS_CROSS_LAYER_IMPACTS1368 // Set the nal unit type1369 pcSlice->setNalUnitType(getNalUnitType(pocCurr, m_iLastIDR, isField));1370 #endif1371 1361 #if SVC_EXTENSION 1372 1362 if (m_layerId > 0) … … 1535 1525 } 1536 1526 } 1527 #else 1528 // Set the nal unit type 1529 pcSlice->setNalUnitType(getNalUnitType(pocCurr, m_iLastIDR, isField)); 1537 1530 #endif //#if SVC_EXTENSION 1538 1531 … … 2926 2919 m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream); 2927 2920 2928 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS2929 if (pcSlice->isIRAP())2921 #if SVC_EXTENSION 2922 if( pcSlice->isIRAP() ) 2930 2923 { 2931 2924 //the inference for NoOutputPriorPicsFlag … … 3451 3444 } 3452 3445 3453 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS3446 #if SVC_EXTENSION 3454 3447 m_prevPicHasEos = false; 3455 3448 if (m_pcCfg->getLayerSwitchOffBegin() < m_pcCfg->getLayerSwitchOffEnd()) … … 5341 5334 #endif 5342 5335 5343 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS5344 5336 Void TEncGOP::xCheckLayerReset(TComSlice *slice) 5345 5337 { … … 5457 5449 } 5458 5450 } 5459 #endif // R0071_IRAP_EOS_CROSS_LAYER_IMPACTS5460 5461 5451 #endif //SVC_EXTENSION 5462 5452 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.h
r1089 r1131 175 175 Int m_lastPocPeriodId; 176 176 #endif 177 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS178 177 Bool m_noRaslOutputFlag; 179 178 Bool m_prevPicHasEos; 180 #endif181 179 #endif 182 180 … … 315 313 Void free_mem2DintWithPad(Int **array2D, Int iPadY, Int iPadX); 316 314 #endif 317 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS318 315 Void xCheckLayerReset(TComSlice *slice); 319 316 Void xSetNoRaslOutputFlag(TComSlice *slice); 320 317 Void xSetLayerInitializedFlag(TComSlice *slice); 321 #endif322 318 #endif //SVC_EXTENSION 323 319 };// END CLASS DEFINITION TEncGOP -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.h
r1093 r1131 156 156 Int m_currPocMsb; 157 157 #endif 158 #if R0071_IRAP_EOS_CROSS_LAYER_IMPACTS159 158 Bool m_prevPicHasEos; 160 #endif161 159 #endif //SVC_EXTENSION 162 160 protected:
Note: See TracChangeset for help on using the changeset viewer.