Changeset 291 in 3DVCSoftware


Ignore:
Timestamp:
19 Feb 2013, 15:44:23 (11 years ago)
Author:
tech
Message:

Integrated fix for harmonization of C0137/C0152 from Rev. 288.
(FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152)

Location:
branches/HTM-5.1-dev0/source/Lib/TLibCommon
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r290 r291  
    38783878  deriveLeftRightTopIdxGeneral( cCurPS, uiAbsPartIdx, uiPUIdx, uiPartIdxLT, uiPartIdxRT );
    38793879  deriveLeftBottomIdxGeneral( cCurPS, uiAbsPartIdx, uiPUIdx, uiPartIdxLB );
    3880 
     3880#if !FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152
    38813881#if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
    38823882  if( m_pcSlice->getIsDepth())
     
    39123912        }
    39133913      }
     3914#if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152
     3915      xInheritVspMode( pcTextureCU, uiPartIdxCenter, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
     3916#endif
    39143917#if SIMP_MRG_PRUN
    39153918      if ( mrgCandIdx == iCount )
     
    39213924    }
    39223925  }
     3926#endif
    39233927#endif
    39243928
     
    39723976#endif
    39733977  }
     3978#if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152
     3979#if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
     3980  if( m_pcSlice->getIsDepth())
     3981  {
     3982    UInt uiPartIdxCenter;
     3983    xDeriveCenterIdx( cCurPS, uiPUIdx, uiPartIdxCenter );   
     3984    TComDataCU *pcTextureCU = m_pcSlice->getTexturePic()->getCU( getAddr() );
     3985    if ( pcTextureCU && !pcTextureCU->isIntra( uiPartIdxCenter ) )
     3986    {
     3987      abCandIsInter[iCount] = true;     
     3988      puhInterDirNeighbours[iCount] = pcTextureCU->getInterDir( uiPartIdxCenter );
     3989      if( ( puhInterDirNeighbours[iCount] & 1 ) == 1 )
     3990      {
     3991        pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_0, pcMvFieldNeighbours[iCount<<1] );
     3992        TComMv cMvPred = pcMvFieldNeighbours[iCount<<1].getMv();
     3993        const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
     3994        cMvPred+=cAdd;
     3995        cMvPred>>=2;
     3996        clipMv(cMvPred);
     3997        pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,pcMvFieldNeighbours[iCount<<1].getRefIdx());
     3998      }
     3999      if ( getSlice()->isInterB() )
     4000      {
     4001        if( ( puhInterDirNeighbours[iCount] & 2 ) == 2 )
     4002        {
     4003          pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] );
     4004          TComMv cMvPred = pcMvFieldNeighbours[(iCount<<1)+1].getMv();
     4005          const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
     4006          cMvPred+=cAdd;
     4007          cMvPred>>=2;
     4008          clipMv(cMvPred);
     4009          pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx());
     4010        }
     4011      }
     4012#if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152
     4013      xInheritVspMode( pcTextureCU, uiPartIdxCenter, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
     4014#endif
     4015#if SIMP_MRG_PRUN
     4016      if ( mrgCandIdx == iCount )
     4017      {
     4018        return;
     4019      }
     4020#endif
     4021      iCount ++;
     4022    }
     4023  }
     4024#endif
     4025#endif
    39744026#if QC_MRG_CANS_B0048
    39754027  Int iPdmDir[2] = {0, 0};
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TypeDef.h

    r290 r291  
    179179
    180180///// ***** VSP *********
    181 #define MERL_VSP_C0152                    0 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools
     181#define MERL_VSP_C0152                    1 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools
     182#define FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152 1
    182183#if MERL_VSP_C0152
    183184
Note: See TracChangeset for help on using the changeset viewer.