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/TLibCommon/TComPrediction.cpp

    r598 r601  
    456456        dmmSegmentation = &(g_dmmWedgeLists[ g_aucConvertToBit[iWidth] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]);
    457457      } break;
     458#if !SEC_DMM2_E0146
    458459    case( DMM2_IDX ):
    459460      {
     
    467468        dmmSegmentation = &(g_dmmWedgeLists[ g_aucConvertToBit[iWidth] ][ uiTabIdx ]);
    468469      } break;
     470#endif
    469471    case( DMM3_IDX ):
    470472      {
     
    27822784  {
    27832785    UInt dimType =  getDimType( pcTempCU->getLumaIntraDir( uiTempPartIdx ) );
     2786#if SEC_DMM2_E0146
     2787    if( DMM1_IDX == dimType || DMM3_IDX == dimType )
     2788#else
    27842789    if( DMM1_IDX == dimType || DMM2_IDX == dimType || DMM3_IDX == dimType )
     2790#endif
    27852791    {
    27862792      // get offset between current and reference block
     
    28072813  {
    28082814    UInt dimType = getDimType( pcTempCU->getLumaIntraDir( uiTempPartIdx ) );
     2815#if SEC_DMM2_E0146
     2816    if( DMM1_IDX == dimType || DMM3_IDX == dimType )
     2817#else
    28092818    if( DMM1_IDX == dimType || DMM2_IDX == dimType || DMM3_IDX == dimType )
     2819#endif
    28102820    {
    28112821      // get offset between current and reference block
     
    28702880    iDC += piRefBlkY[k];
    28712881  }
     2882
     2883#if SCU_HS_DMM4_REMOVE_DIV_E0242
     2884  Int cuMaxLog2Size = g_aucConvertToBit[g_uiMaxCUWidth]+2;
     2885  iDC = iDC >> (cuMaxLog2Size - pcCU->getDepth(0))*2;
     2886#else
    28722887  iDC /= (uiWidth*uiHeight);
     2888#endif
    28732889  piRefBlkY = cTempYuv.getLumaAddr();
    28742890
     
    33143330#endif
    33153331#if H_3D_DIM_SDC
    3316 Void TComPrediction::analyzeSegmentsSDC( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride )
     3332Void TComPrediction::analyzeSegmentsSDC( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride
     3333#if KWU_SDC_SIMPLE_DC_E0117
     3334                                         ,UInt uiIntraMode
     3335                                         ,Bool orgDC
     3336#endif
     3337                                        )
    33173338{
    33183339  Int iSumDepth[2];
     
    33213342  memset(iSumPix, 0, sizeof(Int)*2);
    33223343 
     3344#if KWU_SDC_SIMPLE_DC_E0117
     3345  if (orgDC == false)
     3346  {
     3347    if ( getDimType(uiIntraMode) == DMM1_IDX )
     3348    {
     3349      UChar ucSegmentLT = pMask[0];
     3350      UChar ucSegmentRT = pMask[uiSize-1];
     3351      UChar ucSegmentLB = pMask[uiMaskStride * (uiSize-1)];
     3352      UChar ucSegmentRB = pMask[uiMaskStride * (uiSize-1) + (uiSize-1)];
     3353
     3354      rpSegMeans[ucSegmentLT] = pOrig[0];
     3355      rpSegMeans[ucSegmentRT] = pOrig[uiSize-1];
     3356      rpSegMeans[ucSegmentLB] = pOrig[uiStride * (uiSize-1) ];
     3357      rpSegMeans[ucSegmentRB] = pOrig[uiStride * (uiSize-1) + (uiSize-1) ];
     3358    }
     3359    else if (uiIntraMode == PLANAR_IDX)
     3360    {
     3361      Pel* pLeftTop = pOrig;
     3362      Pel* pRightTop = pOrig + (uiSize-1);
     3363      Pel* pLeftBottom = (pOrig+ (uiStride*(uiSize-1)));
     3364      Pel* pRightBottom = (pOrig+ (uiStride*(uiSize-1)) + (uiSize-1));
     3365
     3366      rpSegMeans[0] = (*pLeftTop + *pRightTop + *pLeftBottom + *pRightBottom + 2)>>2;
     3367    }
     3368    return;
     3369  }
     3370#endif
     3371
    33233372  Int subSamplePix;
    33243373  if ( uiSize == 64 || uiSize == 32 )
Note: See TracChangeset for help on using the changeset viewer.