Ignore:
Timestamp:
29 Aug 2013, 15:10:30 (11 years ago)
Author:
tech
Message:

Merged dev3: DEV-2.0-DEV3-KWU@589

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r598 r601  
    19001900  // get DC prediction for each segment
    19011901  Pel apDCPredValues[2];
     1902#if KWU_SDC_SIMPLE_DC_E0117
     1903  analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode );
     1904#else
    19021905  analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride );
     1906#endif
    19031907 
    19041908  // get original DC for each segment
    19051909  Pel apDCOrigValues[2];
     1910#if KWU_SDC_SIMPLE_DC_E0117
     1911  analyzeSegmentsSDC(piOrg, uiStride, uiWidth, apDCOrigValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode, true );
     1912#else
    19061913  analyzeSegmentsSDC(piOrg, uiStride, uiWidth, apDCOrigValues, uiNumSegments, pbMask, uiMaskStride );
     1914#endif
    19071915 
    19081916  for( UInt uiSegment = 0; uiSegment < uiNumSegments; uiSegment++ )
     
    28422850    if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight )
    28432851    {
     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
    28442860#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        )
    28462866      {
    28472867        for( UInt dmmType = 0; dmmType < DMM_NUM_TYPE; dmmType++ )
     
    28582878              biSegmentation = &(g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])][uiTabIdx]);
    28592879            } break;
     2880#if !SEC_DMM2_E0146
    28602881          case( DMM2_IDX ):
    28612882            {
     
    28692890              }
    28702891            } break;
     2892#endif
    28712893          case( DMM3_IDX ):
    28722894            {
     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
    28732904              UInt uiIntraTabIdx = 0;
    28742905              xSearchDmm3Wedge( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight, uiTabIdx, uiIntraTabIdx );
     
    28762907              pcCU->setDmm3IntraTabIdxSubParts( uiIntraTabIdx, uiPartOffset, uiDepth + uiInitTrDepth );
    28772908              biSegmentation = &(g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])][uiTabIdx]);
     2909#if LGE_PKU_DMM3_OVERLAP_E0159
     2910              }
     2911#endif
    28782912            } break;
    28792913          case( DMM4_IDX ):
     
    29032937#endif
    29042938#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        )
    29062944      {
    29072945        if( xSearchRbcEdge( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight ) )
     
    73237361}
    73247362
     7363#if !SEC_DMM2_E0146
    73257364Void TEncSearch::xSearchDmm2Wedge( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, Int& riWedgeDeltaEnd )
    73267365{
     
    73887427  return;
    73897428}
     7429#endif
    73907430
    73917431Void 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.