Changeset 601 in 3DVCSoftware for branches/HTM-DEV-2.0-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
- Timestamp:
- 29 Aug 2013, 15:10:30 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-2.0-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r598 r601 1900 1900 // get DC prediction for each segment 1901 1901 Pel apDCPredValues[2]; 1902 #if KWU_SDC_SIMPLE_DC_E0117 1903 analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode ); 1904 #else 1902 1905 analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride ); 1906 #endif 1903 1907 1904 1908 // get original DC for each segment 1905 1909 Pel apDCOrigValues[2]; 1910 #if KWU_SDC_SIMPLE_DC_E0117 1911 analyzeSegmentsSDC(piOrg, uiStride, uiWidth, apDCOrigValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode, true ); 1912 #else 1906 1913 analyzeSegmentsSDC(piOrg, uiStride, uiWidth, apDCOrigValues, uiNumSegments, pbMask, uiMaskStride ); 1914 #endif 1907 1915 1908 1916 for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ ) … … 2842 2850 if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight ) 2843 2851 { 2852 2853 #if SCU_HS_FAST_DEPTH_INTRA_E0238 2854 Int threshold = max(((pcCU->getQP(0))>>3)-1,3); 2855 Int varThreshold = (Int)( threshold * threshold - 8 ); 2856 UInt varCU = m_pcRdCost->calcVAR(piOrg, uiStride, uiWidth,uiHeight,pcCU->getDepth(0)); 2857 #endif 2858 2859 2844 2860 #if H_3D_DIM_DMM 2845 if( m_pcEncCfg->getUseDMM() ) 2861 if( m_pcEncCfg->getUseDMM() 2862 #if SCU_HS_FAST_DEPTH_INTRA_E0238 2863 && (uiRdModeList[0] != 0 || varCU >= varThreshold) 2864 #endif 2865 ) 2846 2866 { 2847 2867 for( UInt dmmType = 0; dmmType < DMM_NUM_TYPE; dmmType++ ) … … 2858 2878 biSegmentation = &(g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])][uiTabIdx]); 2859 2879 } break; 2880 #if !SEC_DMM2_E0146 2860 2881 case( DMM2_IDX ): 2861 2882 { … … 2869 2890 } 2870 2891 } break; 2892 #endif 2871 2893 case( DMM3_IDX ): 2872 2894 { 2895 #if LGE_PKU_DMM3_OVERLAP_E0159 2896 TComPic* pcPicTex = pcCU->getSlice()->getTexturePic(); 2897 TComDataCU* pcColTexCU = pcPicTex->getCU( pcCU->getAddr() ); 2898 UInt uiTexPartIdx = pcCU->getZorderIdxInCU() + uiPartOffset; 2899 Int uiColTexIntraDir = pcColTexCU->isIntra( uiTexPartIdx ) ? pcColTexCU->getLumaIntraDir( uiTexPartIdx ) : 255; 2900 2901 if( uiColTexIntraDir > DC_IDX && uiColTexIntraDir < 35 ) 2902 { 2903 #endif 2873 2904 UInt uiIntraTabIdx = 0; 2874 2905 xSearchDmm3Wedge( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight, uiTabIdx, uiIntraTabIdx ); … … 2876 2907 pcCU->setDmm3IntraTabIdxSubParts( uiIntraTabIdx, uiPartOffset, uiDepth + uiInitTrDepth ); 2877 2908 biSegmentation = &(g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])][uiTabIdx]); 2909 #if LGE_PKU_DMM3_OVERLAP_E0159 2910 } 2911 #endif 2878 2912 } break; 2879 2913 case( DMM4_IDX ): … … 2903 2937 #endif 2904 2938 #if H_3D_DIM_RBC 2905 if( m_pcEncCfg->getUseRBC() ) 2939 if( m_pcEncCfg->getUseRBC() 2940 #if SCU_HS_FAST_DEPTH_INTRA_E0238 2941 && (uiRdModeList[0] != 0 || varCU >= varThreshold) 2942 #endif 2943 ) 2906 2944 { 2907 2945 if( xSearchRbcEdge( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight ) ) … … 7323 7361 } 7324 7362 7363 #if !SEC_DMM2_E0146 7325 7364 Void TEncSearch::xSearchDmm2Wedge( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, Int& riWedgeDeltaEnd ) 7326 7365 { … … 7388 7427 return; 7389 7428 } 7429 #endif 7390 7430 7391 7431 Void TEncSearch::xSearchDmm3Wedge( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, UInt& ruiIntraTabIdx )
Note: See TracChangeset for help on using the changeset viewer.