Changeset 573 in 3DVCSoftware
- Timestamp:
- 14 Aug 2013, 21:05:40 (11 years ago)
- Location:
- branches/HTM-DEV-2.0-dev3-SCU-Hisilicon
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-2.0-dev3-SCU-Hisilicon/source/Lib/TLibCommon/TComRdCost.cpp
r537 r573 483 483 484 484 } 485 486 #if SCU_HS_FAST_DEPTH_INTRA_E0238 487 488 UInt TComRdCost::calcVAR (Pel* pi0, Int iStride, Int cuDepth) 489 { 490 UInt uiSum = 0; 491 Int x, y; 492 Int temp = 0; 493 if (iStride == 4) 494 cuDepth = 4; 495 496 for (x = 0; x < iStride; x++) 497 { 498 for (y = 0; y < iStride; y++) 499 { 500 temp += pi0[x*iStride+y]; 501 } 502 } 503 temp = temp >> (6-cuDepth)*2; 504 505 for (x = 0; x < iStride; x++) 506 { 507 for (y = 0; y < iStride; y++) 508 { 509 uiSum += (pi0[x*iStride+y]-temp)*(pi0[x*iStride+y]-temp); 510 } 511 } 512 return (uiSum >> (6-cuDepth)*2); 513 514 } 515 #endif 516 485 517 486 518 #if WEIGHTED_CHROMA_DISTORTION -
branches/HTM-DEV-2.0-dev3-SCU-Hisilicon/source/Lib/TLibCommon/TComRdCost.h
r537 r573 228 228 229 229 UInt calcHAD(Int bitDepth, Pel* pi0, Int iStride0, Pel* pi1, Int iStride1, Int iWidth, Int iHeight ); 230 230 #if SCU_HS_FAST_DEPTH_INTRA_E0238 231 UInt calcVAR (Pel* pi0, Int iStride, Int cuDepth); 232 #endif 231 233 // for motion cost 232 234 #if !FIX203 -
branches/HTM-DEV-2.0-dev3-SCU-Hisilicon/source/Lib/TLibCommon/TypeDef.h
r572 r573 181 181 // LG_ZEROINTRADEPTHRESI_A0087 182 182 #define SCU_HS_DMM4_REMOVE_DIV_E0242 1 // DMM4 Division Removal 183 #define SCU_HS_FAST_DEPTH_INTRA_E0238 1 // Fast DMM and RBC Mode Selection 183 184 #if H_3D_DIM_SDC 184 185 #define LGE_SDC_REMOVE_DC_E0158 1 // Removal of DC mode from SDC -
branches/HTM-DEV-2.0-dev3-SCU-Hisilicon/source/Lib/TLibEncoder/TEncSearch.cpp
r557 r573 2833 2833 if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight ) 2834 2834 { 2835 2836 #if SCU_HS_FAST_DEPTH_INTRA_E0238 2837 Int threshold = max(((pcCU->getQP(0))>>3)-1,3); 2838 Int varThreshold = (int)(threshold*threshold - 8); 2839 UInt uiVarCU=m_pcRdCost->calcVAR(piOrg, uiWidth,pcCU->getDepth(0)); 2840 #endif 2841 2835 2842 #if H_3D_DIM_DMM 2836 if( m_pcEncCfg->getUseDMM() ) 2837 { 2843 if( m_pcEncCfg->getUseDMM() 2844 #if SCU_HS_FAST_DEPTH_INTRA_E0238 2845 && (uiRdModeList[0] != 0 || uiVarCU >= varThreshold) 2846 #endif 2847 ) 2848 { 2838 2849 for( UInt dmmType = 0; dmmType < DMM_NUM_TYPE; dmmType++ ) 2839 2850 { … … 2908 2919 #endif 2909 2920 #if H_3D_DIM_RBC 2910 if( m_pcEncCfg->getUseRBC() ) 2911 { 2921 if( m_pcEncCfg->getUseRBC() 2922 #if SCU_HS_FAST_DEPTH_INTRA_E0238 2923 && (uiRdModeList[0] != 0 || uiVarCU >= varThreshold) 2924 #endif 2925 ) 2926 { 2912 2927 if( xSearchRbcEdge( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight ) ) 2913 2928 {
Note: See TracChangeset for help on using the changeset viewer.