Changeset 524 in SHVCSoftware for branches/SHM-4.1-dev/source/Lib/TLibEncoder
- Timestamp:
- 19 Dec 2013, 17:46:32 (12 years ago)
- Location:
- branches/SHM-4.1-dev/source/Lib/TLibEncoder
- Files:
-
- 6 edited
-
TEncCavlc.cpp (modified) (1 diff)
-
TEncCfg.h (modified) (2 diffs)
-
TEncCu.cpp (modified) (5 diffs)
-
TEncCu.h (modified) (1 diff)
-
TEncGOP.cpp (modified) (2 diffs)
-
TEncSlice.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r516 r524 1149 1149 WRITE_FLAG(vps->getSingleLayerForNonIrapFlag(), "single_layer_for_non_irap_flag" ); 1150 1150 #endif 1151 #if HIGHER_LAYER_IRAP_SKIP_FLAG 1152 WRITE_FLAG(vps->getHigherLayerIrapSkipFlag(), "higher_layer_irap_skip_flag" ); 1153 #endif 1151 1154 1152 1155 #if !VPS_VUI -
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCfg.h
r512 r524 395 395 #if O0153_ALT_OUTPUT_LAYER_FLAG 396 396 Bool m_altOutputLayerFlag; 397 #endif 398 #if HIGHER_LAYER_IRAP_SKIP_FLAG 399 Int m_skipPictureAtArcSwitch; 397 400 #endif 398 401 #endif … … 937 940 Int getAdaptiveResolutionChange() { return m_adaptiveResolutionChange; } 938 941 #endif 942 #if HIGHER_LAYER_IRAP_SKIP_FLAG 943 Void setSkipPictureAtArcSwitch(Int x) { m_skipPictureAtArcSwitch = x; } 944 Int getSkipPictureAtArcSwitch() { return m_skipPictureAtArcSwitch; } 945 #endif 939 946 #if AUXILIARY_PICTURES 940 947 Void setChromaFormatIDC(ChromaFormat x) { m_chromaFormatIDC = x; } -
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCu.cpp
r494 r524 460 460 if(!bSliceEnd && !bSliceStart && bInsidePicture ) 461 461 { 462 #if HIGHER_LAYER_IRAP_SKIP_FLAG 463 if (m_pcEncCfg->getSkipPictureAtArcSwitch() && m_pcEncCfg->getAdaptiveResolutionChange() > 0 && pcSlice->getLayerId() == 1 && pcSlice->getPOC() == m_pcEncCfg->getAdaptiveResolutionChange()) 464 { 465 rpcTempCU->initEstData( uiDepth, iBaseQP ); 466 467 xCheckRDCostMerge2Nx2N( rpcBestCU, rpcTempCU, &earlyDetectionSkipMode, true ); 468 } 469 else 470 { 471 #endif 462 472 #if (ENCODER_FAST_MODE) 463 473 Bool testInter = true; … … 779 789 bSubBranch = true; 780 790 } 791 #if HIGHER_LAYER_IRAP_SKIP_FLAG 792 } 793 #endif 781 794 } 782 795 else if(!(bSliceEnd && bInsidePicture)) … … 1143 1156 1144 1157 TComSlice * pcSlice = pcCU->getPic()->getSlice(pcCU->getPic()->getCurrSliceIdx()); 1158 #if HIGHER_LAYER_IRAP_SKIP_FLAG 1159 if (m_pcEncCfg->getSkipPictureAtArcSwitch() && m_pcEncCfg->getAdaptiveResolutionChange() > 0 && pcSlice->getLayerId() == 1 && pcSlice->getPOC() == m_pcEncCfg->getAdaptiveResolutionChange()) 1160 { 1161 pcCU->setSkipFlagSubParts(true, uiAbsPartIdx, uiDepth); 1162 } 1163 #endif 1145 1164 // If slice start is within this cu... 1146 1165 Bool bSliceStart = pcSlice->getSliceSegmentCurStartCUAddr() > pcPic->getPicSym()->getInverseCUOrderMap(pcCU->getAddr())*pcCU->getPic()->getNumPartInCU()+uiAbsPartIdx && … … 1353 1372 * \returns Void 1354 1373 */ 1374 #if HIGHER_LAYER_IRAP_SKIP_FLAG 1375 Void TEncCu::xCheckRDCostMerge2Nx2N( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool *earlyDetectionSkipMode, Bool bUseSkip ) 1376 #else 1355 1377 Void TEncCu::xCheckRDCostMerge2Nx2N( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool *earlyDetectionSkipMode ) 1378 #endif 1356 1379 { 1357 1380 assert( rpcTempCU->getSlice()->getSliceType() != I_SLICE ); … … 1387 1410 } 1388 1411 1412 #if HIGHER_LAYER_IRAP_SKIP_FLAG 1413 for( UInt uiNoResidual = bUseSkip?1:0; uiNoResidual < iteration; ++uiNoResidual ) 1414 #else 1389 1415 for( UInt uiNoResidual = 0; uiNoResidual < iteration; ++uiNoResidual ) 1416 #endif 1390 1417 { 1391 1418 for( UInt uiMergeCand = 0; uiMergeCand < numValidMergeCand; ++uiMergeCand ) -
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCu.h
r494 r524 146 146 Int xComputeQP ( TComDataCU* pcCU, UInt uiDepth ); 147 147 Void xCheckBestMode ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, UInt uiDepth ); 148 148 #if HIGHER_LAYER_IRAP_SKIP_FLAG 149 Void xCheckRDCostMerge2Nx2N( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool *earlyDetectionSkipMode, Bool bUseSkip=false); 150 #else 149 151 Void xCheckRDCostMerge2Nx2N( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool *earlyDetectionSkipMode); 152 #endif 150 153 151 154 #if AMP_MRG -
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r514 r524 2280 2280 // set entropy coder for RD 2281 2281 m_pcEntropyCoder->setEntropyCoder ( m_pcSbacCoder, pcSlice ); 2282 #if HIGHER_LAYER_IRAP_SKIP_FLAG 2283 if ( pcSlice->getSPS()->getUseSAO() && !( m_pcEncTop->getSkipPictureAtArcSwitch() && m_pcEncTop->getAdaptiveResolutionChange() > 0 && pcSlice->getLayerId() == 1 && pcSlice->getPOC() == m_pcEncTop->getAdaptiveResolutionChange()) ) 2284 #else 2282 2285 if ( pcSlice->getSPS()->getUseSAO() ) 2286 #endif 2283 2287 { 2284 2288 m_pcEntropyCoder->resetEntropy(); … … 2303 2307 #endif 2304 2308 processingState = ENCODE_SLICE; 2305 2309 #if HIGHER_LAYER_IRAP_SKIP_FLAG 2310 if ( ( m_pcEncTop->getSkipPictureAtArcSwitch() && m_pcEncTop->getAdaptiveResolutionChange() > 0 && pcSlice->getLayerId() == 1 && pcSlice->getPOC() == m_pcEncTop->getAdaptiveResolutionChange()) ) 2311 { 2312 pcSlice->getPic()->getPicSym()->getSaoParam()->bSaoFlag[0]=0; 2313 pcSlice->getPic()->getPicSym()->getSaoParam()->bSaoFlag[1]=0; 2314 } 2315 #endif 2306 2316 for(Int s=0; s< uiNumSlices; s++) 2307 2317 { -
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncSlice.cpp
r508 r524 517 517 rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() ); 518 518 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() ); 519 #if HIGHER_LAYER_IRAP_SKIP_FLAG 520 if (m_pcCfg->getSkipPictureAtArcSwitch() && m_pcCfg->getAdaptiveResolutionChange() > 0 && rpcSlice->getLayerId() == 1 && rpcSlice->getPOC() == m_pcCfg->getAdaptiveResolutionChange()) 521 { 522 rpcSlice->setMaxNumMergeCand ( 1 ); 523 } 524 #endif 519 525 xStoreWPparam( pPPS->getUseWP(), pPPS->getWPBiPred() ); 520 526
Note: See TracChangeset for help on using the changeset viewer.