Ticket #54: mods.patch

File mods.patch, 6.8 KB (added by shimizu.shinya, 10 years ago)

Patch file

  • source/Lib/TLibCommon/TComDataCU.cpp

    diff -ur D:/work/JCT-3V/HTM\HTM9.0r1/source/Lib/TLibCommon/TComDataCU.cpp D:/work/AT/JCT3V-G/pre/HTM9.0r1-BugFixClip/source/Lib/TLibCommon/TComDataCU.cpp
    old new  
    34263426
    34273427          cMv = cMv;
    34283428        }
     3429#if !(NTT_BUG_FIX_CLIP)
    34293430        clipMv( cMv );
     3431#endif
    34303432        pcMvFieldNeighbours[(iCount<<1)+refListIdY].setMvField( cMv, i );
    34313433#if H_3D_NBDV
    34323434        pcMvFieldNeighbours[(iCount<<1)+refListIdY].getMv().setIDVFlag (false);
     
    34763478        {
    34773479          cMv.setVer(0);
    34783480        }
     3481#if !(NTT_BUG_FIX_CLIP)
    34793482        clipMv( cMv );
     3483#endif
    34803484
    34813485#if ETRIKHU_MERGE_REUSE_F0093
    34823486        rightShiftMergeCandList( pcMvFieldNeighbours, puhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, iCount, (5-iCount), iCount3DV);
     
    43084312        const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
    43094313        cMvPred+=cAdd;
    43104314        cMvPred>>=2;
     4315#if !(NTT_BUG_FIX_CLIP)
    43114316        clipMv(cMvPred);
     4317#endif
    43124318        tmpMV[0].setMvField(cMvPred,tRef[0]);
    43134319      }
    43144320      if ( getSlice()->isInterB() )
     
    43214327          const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
    43224328          cMvPred+=cAdd;
    43234329          cMvPred>>=2;
     4330#if !(NTT_BUG_FIX_CLIP)
    43244331          clipMv(cMvPred);
     4332#endif
    43254333          tmpMV[1].setMvField(cMvPred,tRef[1]);
    43264334        }
    43274335      }
     
    44234431        const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
    44244432        cMvPred+=cAdd;
    44254433        cMvPred>>=2;
     4434#if !(NTT_BUG_FIX_CLIP)
    44264435        clipMv(cMvPred);
     4436#endif
    44274437        pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,iValidDepRef);
    44284438      }
    44294439      if ( getSlice()->isInterB() )
     
    44364446          const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
    44374447          cMvPred+=cAdd;
    44384448          cMvPred>>=2;
     4449#if !(NTT_BUG_FIX_CLIP)
    44394450          clipMv(cMvPred);
     4451#endif
    44404452          pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,iValidDepRef);
    44414453        }
    44424454      }
     
    56005612        const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
    56015613        cMvPred+=cAdd;
    56025614        cMvPred>>=2;
     5615#if !(NTT_BUG_FIX_CLIP)
    56035616        clipMv(cMvPred);
     5617#endif
    56045618        pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,iValidDepRef);
    56055619      }
    56065620
     
    56145628          const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
    56155629          cMvPred+=cAdd;
    56165630          cMvPred>>=2;
     5631#if !(NTT_BUG_FIX_CLIP)
    56175632          clipMv(cMvPred);
     5633#endif
    56185634          pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,iValidDepRef);
    56195635        }
    56205636      }
     
    77477763
    77487764      if( bCheck )
    77497765      {
     7766#if !(NTT_BUG_FIX_CLIP)
    77507767        clipMv(cColMv);
     7768#endif
    77517769        pDInfo->m_acNBDV = cColMv;
    77527770        pDInfo->m_aVIdxCan  = iTargetViewIdx;
    77537771
     
    78167834        if( cIDVInfo.m_bAvailab[iList][curPos] )
    78177835        {
    78187836          TComMv cDispVec = cIDVInfo.m_acMvCand[iList][ curPos ];
     7837#if !(NTT_BUG_FIX_CLIP)
    78197838          clipMv( cDispVec );
     7839#endif
    78207840          pDInfo->m_acNBDV = cDispVec;
    78217841          pDInfo->m_aVIdxCan = cIDVInfo.m_aVIdxCan[iList][ curPos ];
    78227842#if H_3D_NBDV_REF
     
    79467966
    79477967    Pel iDisp = getMcpFromDM( pcBaseViewDepthPicYuv, cMvPred, iBlkX, iBlkY, iWidth, iHeight, aiShiftLUT );
    79487968    cMvPred->setHor( iDisp );
     7969#if !(NTT_BUG_FIX_CLIP)
    79497970    clipMv(*cMvPred);
     7971#endif
    79507972  }
    79517973}
    79527974#endif //H_3D_NBDV_REF
     
    79727994        Int refViewIdx  = pcTmpCU->getSlice()->getRefPic(eRefPicList, refId)->getViewIndex();
    79737995        if (refViewIdx != m_pcSlice->getViewIndex())
    79747996        {
     7997#if !(NTT_BUG_FIX_CLIP)
    79757998          clipMv(cMvPred);
     7999#endif
    79768000          pNbDvInfo->m_acNBDV = cMvPred;
    79778001          pNbDvInfo->m_aVIdxCan = refViewIdx;
    79788002#if H_3D_NBDV_REF
     
    83758399                      cMv.setIDVVer    (cDv.getVer()); 
    83768400                      cMv.setIDVVId    (iViewIndex);
    83778401                    }
    8378 
     8402                   
     8403#if !(NTT_BUG_FIX_CLIP)
    83798404                    clipMv( cMv );
     8405#endif
    83808406                    bLoop_stop = true;
    83818407
    83828408                    pcMvFieldSP[2*iPartition + uiCurrRefListId].setMvField(cMv, iPdmRefIdx);
     
    85078533                  }
    85088534#endif
    85098535#endif
     8536#if !(NTT_BUG_FIX_CLIP)
    85108537                  clipMv( cMv );
     8538#endif
    85118539                  paiPdmRefIdx  [ (uiCurrRefListId + (iLoopCan<<2)) ] = iPdmRefIdx;
    85128540                  pacPdmMv      [ (uiCurrRefListId + (iLoopCan<<2)) ] = cMv;
    85138541                  stopLoop = true;
     
    85568584            cMv.setHor((cMv.getHor()+2)>>2);
    85578585#endif
    85588586          cMv.setVer( 0 );
     8587#if !(NTT_BUG_FIX_CLIP)
    85598588          clipMv( cMv );
     8589#endif
    85608590          pacPdmMv      [iRefListId + 2 + (iLoopCan<<2)] = cMv;
    85618591        }
    85628592        break;
  • source/Lib/TLibCommon/TComPrediction.cpp

    diff -ur D:/work/JCT-3V/HTM\HTM9.0r1/source/Lib/TLibCommon/TComPrediction.cpp D:/work/AT/JCT3V-G/pre/HTM9.0r1-BugFixClip/source/Lib/TLibCommon/TComPrediction.cpp
    old new  
    10161016
    10171017    assert ( cDistparity.bDV );
    10181018
     1019#if NTT_BUG_FIX_CLIP
     1020    TComMv cNBDV = cDistparity.m_acNBDV;
     1021    pcCU->clipMv( cNBDV );
     1022
     1023    pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
     1024    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
     1025    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
     1026#else
    10191027    pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
    10201028    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true );
    10211029    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true );
    1022    
     1030#endif   
    10231031    pcPicYuvRef = pcPicYuvBaseRef->getPicYuvRec();
    10241032    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, bi, true );
    10251033    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, bi, true );
  • source/Lib/TLibCommon/TypeDef.h

    diff -ur D:/work/JCT-3V/HTM\HTM9.0r1/source/Lib/TLibCommon/TypeDef.h D:/work/AT/JCT3V-G/pre/HTM9.0r1-BugFixClip/source/Lib/TLibCommon/TypeDef.h
    old new  
    3838#ifndef _TYPEDEF__
    3939#define _TYPEDEF__
    4040
     41#define NTT_BUG_FIX_CLIP 1
     42
    4143//! \ingroup TLibCommon
    4244//! \{
    4345/////////////////////////////////////////////////////////////////////////////////////////