Ignore:
Timestamp:
12 Aug 2013, 11:11:06 (11 years ago)
Author:
mediatek-htm
Message:

Integration of JCT3V-E0172. The MACRO is "MTK_RVS_BUGFIX_E0172".

By Na Zhang (na.zhang@…)

File:
1 edited

Legend:

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

    r537 r566  
    35503550#if H_3D_VSP
    35513551                                 , Int* vspFlag
     3552#if MTK_VSP_FIX_E0172
     3553                                 , Int* vspDir
     3554#endif
    35523555#endif
    35533556                                 , Int& numValidMergeCand
     
    35693572#if H_3D_VSP
    35703573                                   , vspFlag
     3574#if MTK_VSP_FIX_E0172
     3575                                   , vspDir
     3576#endif
    35713577#endif
    35723578                                   , numValidMergeCand
     
    35803586#if H_3D_VSP
    35813587                                 , vspFlag
     3588#if MTK_VSP_FIX_E0172
     3589                                 , vspDir
     3590#endif
    35823591#endif
    35833592                                 , numValidMergeCand
    35843593                                 );
    35853594  }
     3595#if MTK_VSP_FIX_E0172
     3596  xRestrictBipredMergeCand( pcCU, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours,vspFlag, numValidMergeCand );
     3597#else
    35863598  xRestrictBipredMergeCand( pcCU, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
     3599#endif
    35873600
    35883601  ruiCost = MAX_UINT;
     
    36003613#if H_3D_VSP
    36013614      pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );
     3615#if MTK_VSP_FIX_E0172
     3616      pcCU->setVSPDirSubParts( vspDir[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );
     3617#endif
    36023618#endif
    36033619
     
    36293645 * \returns Void
    36303646 */
     3647#if MTK_VSP_FIX_E0172
     3648Void TEncSearch::xRestrictBipredMergeCand( TComDataCU* pcCU, UInt puIdx, TComMvField* mvFieldNeighbours, UChar* interDirNeighbours, Int* vspFlag, Int numValidMergeCand )
     3649#else
    36313650Void TEncSearch::xRestrictBipredMergeCand( TComDataCU* pcCU, UInt puIdx, TComMvField* mvFieldNeighbours, UChar* interDirNeighbours, Int numValidMergeCand )
     3651#endif
    36323652{
    36333653  if ( pcCU->isBipredRestriction(puIdx) )
     
    36353655    for( UInt mergeCand = 0; mergeCand < numValidMergeCand; ++mergeCand )
    36363656    {
     3657#if MTK_VSP_FIX_E0172
     3658      if ( (interDirNeighbours[mergeCand] == 3) && (vspFlag[mergeCand] == false) )
     3659#else
    36373660      if ( interDirNeighbours[mergeCand] == 3 )
     3661#endif
    36383662      {
    36393663        interDirNeighbours[mergeCand] = 1;
     
    37583782#if H_3D_VSP
    37593783    pcCU->setVSPFlagSubParts( 0, uiPartAddr, iPartIdx, pcCU->getDepth(uiPartAddr) );
     3784#if MTK_VSP_FIX_E0172
     3785    pcCU->setVSPDirSubParts( 0, uiPartAddr, iPartIdx, pcCU->getDepth(uiPartAddr) );
     3786#endif
    37603787#endif
    37613788   
     
    42504277      Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    42514278      memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     4279#if MTK_VSP_FIX_E0172
     4280      Int vspDir[MRG_MAX_NUM_CANDS_MEM];
     4281      memset(vspDir, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     4282#endif
    42524283#endif
    42534284
     
    42554286#if H_3D_VSP
    42564287                      , vspFlag
     4288#if MTK_VSP_FIX_E0172
     4289                      , vspDir
     4290#endif
    42574291#endif
    42584292                      , numValidMergeCand
     
    42654299#if H_3D_VSP
    42664300        pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
     4301#if MTK_VSP_FIX_E0172
     4302        pcCU->setVSPDirSubParts( vspDir[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
     4303#endif
    42674304#endif
    42684305        pcCU->setInterDirSubParts  ( uiMRGInterDir, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
     
    42874324#if H_3D_VSP
    42884325        pcCU->setVSPFlagSubParts ( 0,             uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
     4326#if MTK_VSP_FIX_E0172
     4327        pcCU->setVSPDirSubParts ( 0,             uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
     4328#endif
    42894329#endif
    42904330        {
Note: See TracChangeset for help on using the changeset viewer.