Changeset 622 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComPrediction.cpp


Ignore:
Timestamp:
11 Sep 2013, 14:40:25 (12 years ago)
Author:
tech
Message:

Merged 8.0-dev0@621 (MV-HEVC 5 HLS).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TComPrediction.cpp

    r608 r622  
    456456        dmmSegmentation = &(g_dmmWedgeLists[ g_aucConvertToBit[iWidth] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]);
    457457      } break;
    458 #if !SEC_DMM2_E0146
     458#if !SEC_DMM2_E0146_HHIFIX
    459459    case( DMM2_IDX ):
    460460      {
     
    588588    pcCU->getPartIndexAndSize( iPartIdx, uiPartAddr, iWidth, iHeight );
    589589#if H_3D_VSP
    590     if ( 0 == pcCU->getVSPFlag(uiPartAddr) )
     590    if ( pcCU->getVSPFlag(uiPartAddr) == 0)
    591591    {
    592592#endif
     
    622622    {
    623623      if ( xCheckIdenticalMotion( pcCU, uiPartAddr ) )
     624      {
    624625        xPredInterUniVSP( pcCU, uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred );
     626      }
    625627      else
     628      {
    626629        xPredInterBiVSP ( pcCU, uiPartAddr, iWidth, iHeight, pcYuvPred );
     630      }
    627631    }
    628632#endif
     
    635639
    636640#if H_3D_VSP
    637     if ( 0 == pcCU->getVSPFlag(uiPartAddr) )
     641    if ( pcCU->getVSPFlag(uiPartAddr) == 0 )
    638642    {
    639643#endif
     
    669673    {
    670674      if ( xCheckIdenticalMotion( pcCU, uiPartAddr ) )
     675      {
    671676        xPredInterUniVSP( pcCU, uiPartAddr, iWidth, iHeight, REF_PIC_LIST_0, pcYuvPred );
     677      }
    672678      else
     679      {
    673680        xPredInterBiVSP ( pcCU, uiPartAddr, iWidth, iHeight, pcYuvPred );
     681      }
    674682    }
    675683#endif
     
    722730{
    723731  // Get depth reference
    724 #if MTK_VSP_FIX_E0172
    725   Int vspDir = pcCU->getVSPDir( uiPartAddr );
    726   RefPicList privateRefPicList = (vspDir == 0) ? REF_PIC_LIST_0 : REF_PIC_LIST_1;
    727   Int privateRefIdx = pcCU->getCUMvField( privateRefPicList )->getRefIdx( uiPartAddr );
    728   Int depthRefViewIdx = pcCU->getSlice()->getRefPic(privateRefPicList, privateRefIdx)->getViewIndex();
    729 #else
    730   Int depthRefViewIdx = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan;
    731 #endif
     732  Int       depthRefViewIdx = pcCU->getDvInfo(uiPartAddr).m_aVIdxCan;
    732733  TComPic* pRefPicBaseDepth = pcCU->getSlice()->getIvPic (true, depthRefViewIdx );
    733734  assert(pRefPicBaseDepth != NULL);
     
    748749
    749750  // Do compensation
    750 #if MTK_VSP_FIX_ALIGN_WD_E0172
    751751  TComMv cDv  = pcCU->getDvInfo(uiPartAddr).m_acNBDV;
    752 #else
    753 #if MTK_VSP_FIX_E0172
    754   TComMv cDv  = pcCU->getCUMvField( privateRefPicList )->getMv( uiPartAddr );
    755 #else
    756   TComMv cDv  = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); // cDv is the disparity vector derived from the neighbors
    757 #endif
    758 #endif // end of MTK_VSP_FIX_ALIGN_WD_E0172
    759752  pcCU->clipMv(cDv);
    760753
     
    935928
    936929    if ( iRefIdx[iRefList] < 0 )
     930    {
    937931      continue;
     932    }
    938933    assert( iRefIdx[iRefList] < pcCU->getSlice()->getNumRefIdx(eRefPicList) );
    939934
     
    27732768
    27742769#if H_3D_DIM_DMM
     2770#if !SEC_DMM2_E0146_HHIFIX
    27752771UInt TComPrediction::xPredWedgeFromIntra( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, Int iDeltaEnd )
    27762772{
     
    27842780  {
    27852781    UInt dimType =  getDimType( pcTempCU->getLumaIntraDir( uiTempPartIdx ) );
    2786 #if SEC_DMM2_E0146
    2787     if( DMM1_IDX == dimType || DMM3_IDX == dimType )
    2788 #else
    27892782    if( DMM1_IDX == dimType || DMM2_IDX == dimType || DMM3_IDX == dimType )
    2790 #endif
    27912783    {
    27922784      // get offset between current and reference block
     
    28132805  {
    28142806    UInt dimType = getDimType( pcTempCU->getLumaIntraDir( uiTempPartIdx ) );
    2815 #if SEC_DMM2_E0146
    2816     if( DMM1_IDX == dimType || DMM3_IDX == dimType )
    2817 #else
    28182807    if( DMM1_IDX == dimType || DMM2_IDX == dimType || DMM3_IDX == dimType )
    2819 #endif
    28202808    {
    28212809      // get offset between current and reference block
     
    28492837  return 0;
    28502838}
     2839#endif
    28512840
    28522841UInt TComPrediction::xPredWedgeFromTex( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, UInt intraTabIdx )
     
    28582847  Int           uiColTexIntraDir = pcColTexCU->isIntra( uiTexPartIdx ) ? pcColTexCU->getLumaIntraDir( uiTexPartIdx ) : 255;
    28592848
     2849#if LGE_PKU_DMM3_OVERLAP_E0159_HHIFIX
     2850  assert( uiColTexIntraDir > DC_IDX && uiColTexIntraDir < 35 );
     2851  return g_aauiWdgLstM3[g_aucConvertToBit[uiWidth]][uiColTexIntraDir-2].at(intraTabIdx);
     2852#else
    28602853  if( uiColTexIntraDir > DC_IDX && uiColTexIntraDir < 35 ) { return g_aauiWdgLstM3[g_aucConvertToBit[uiWidth]][uiColTexIntraDir-2].at(intraTabIdx); }
    28612854  else                                                     { return g_dmmWedgeNodeLists[(g_aucConvertToBit[uiWidth])].at(intraTabIdx).getPatternIdx(); }
     2855#endif
    28622856}
    28632857
     
    29142908}
    29152909
     2910#if !SEC_DMM2_E0146_HHIFIX
    29162911Void TComPrediction::xGetBlockOffset( TComDataCU* pcCU, UInt uiAbsPartIdx, TComDataCU* pcRefCU, UInt uiRefAbsPartIdx, UInt& ruiOffsetX, UInt& ruiOffsetY )
    29172912{
     
    33023297}
    33033298#endif
     3299#endif
    33043300#if H_3D_DIM_RBC
    33053301Void TComPrediction::xDeltaDCQuantScaleUp( TComDataCU* pcCU, Pel& rDeltaDC )
Note: See TracChangeset for help on using the changeset viewer.