Changeset 888 in 3DVCSoftware for branches/HTM-10.2-dev0/source/Lib


Ignore:
Timestamp:
30 Mar 2014, 19:00:36 (11 years ago)
Author:
ntt
Message:

bug fix for ticket#54

Location:
branches/HTM-10.2-dev0/source/Lib/TLibCommon
Files:
3 edited

Legend:

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

    r884 r888  
    33343334          cMv.setVer(0);
    33353335        }
     3336#if !(NTT_BUG_FIX_TK54)
    33363337        clipMv( cMv );
     3338#endif
    33373339
    33383340        rightShiftMergeCandList( pcMvFieldNeighbours, puhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, iCount, (5-iCount), iCount3DV);
     
    41104112              {
    41114113                TComMv cMv = cTexMvField.getMv() + cMvRounding;
    4112                 cMv >>=2;
     4114                cMv >>=2;         
     4115#if !(NTT_BUG_FIX_TK54)
    41134116                this->clipMv( cMv );
     4117#endif
    41144118                pcMvFieldSP[2*iPartition + uiCurrRefListId].setMvField(cMv, iValidDepRef);
    41154119              }
     
    42614265            cMVField.getMv() += cAdd;
    42624266            cMVField.getMv() >>= 2;
     4267#if !(NTT_BUG_FIX_TK54)
    42634268            clipMv( cMVField.getMv() );
     4269#endif
    42644270            tmpMV[ 0 ].setMvField( cMVField.getMv(), iValidDepRef );
    42654271            tmpDir = 1;
     
    42844290            cMVField.getMv() += cAdd;
    42854291            cMVField.getMv() >>= 2;
     4292#if !(NTT_BUG_FIX_TK54)
    42864293            clipMv( cMVField.getMv() );
     4294#endif
    42874295            tmpMV[ 1 ].setMvField( cMVField.getMv(), iValidDepRef );
    42884296            tmpDir = 2;
     
    62276235      if( bCheck )
    62286236      {
     6237#if !(NTT_BUG_FIX_TK54)
    62296238        clipMv(cColMv);
     6239#endif
    62306240        pDInfo->m_acNBDV = cColMv;
    62316241        pDInfo->m_aVIdxCan  = iTargetViewIdx;
     
    62966306        {
    62976307          TComMv cDispVec = cIDVInfo.m_acMvCand[iList][ curPos ];
     6308#if !(NTT_BUG_FIX_TK54)
    62986309          clipMv( cDispVec );
     6310#endif
    62996311          pDInfo->m_acNBDV = cDispVec;
    63006312          pDInfo->m_aVIdxCan = cIDVInfo.m_aVIdxCan[iList][ curPos ];
     
    64266438    Pel iDisp = getMcpFromDM( pcBaseViewDepthPicYuv, cMvPred, iBlkX, iBlkY, iWidth, iHeight, aiShiftLUT );
    64276439    cMvPred->setHor( iDisp );
     6440#if !(NTT_BUG_FIX_TK54)
    64286441    clipMv(*cMvPred);
     6442#endif
    64296443  }
    64306444}
     
    64526466        if (refViewIdx != m_pcSlice->getViewIndex())
    64536467        {
     6468#if !(NTT_BUG_FIX_TK54)
    64546469          clipMv(cMvPred);
     6470#endif
    64556471          pNbDvInfo->m_acNBDV = cMvPred;
    64566472          pNbDvInfo->m_aVIdxCan = refViewIdx;
     
    68596875#endif
    68606876#endif
     6877#if !(NTT_BUG_FIX_TK54)
    68616878                    clipMv( cMv );
     6879#endif
    68626880                    paiPdmRefIdx  [ uiCurrRefListId ] = iPdmRefIdx;
    68636881                    pacPdmMv      [ uiCurrRefListId ] = cMv;
     
    69176935                            cMv.setIDVVId    (iViewIndex);
    69186936                          }
    6919 
     6937                         
     6938#if !(NTT_BUG_FIX_TK54)
    69206939                          clipMv( cMv );
     6940#endif
    69216941                          bLoop_stop = true;
    69226942
     
    70187038#endif
    70197039#endif
     7040#if !(NTT_BUG_FIX_TK54)
    70207041                  clipMv( cMv );
     7042#endif
    70217043                  paiPdmRefIdx  [ (uiCurrRefListId + (iLoopCan<<2)) ] = iPdmRefIdx;
    70227044                  pacPdmMv      [ (uiCurrRefListId + (iLoopCan<<2)) ] = cMv;
     
    70717093#endif
    70727094            cMv.setVer( 0 );
     7095#if !(NTT_BUG_FIX_TK54)
    70737096            clipMv( cMv );
     7097#endif
    70747098            pacPdmMv      [iRefListId + 2 + (iLoopCan<<2)] = cMv;
    70757099          }
  • branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComPrediction.cpp

    r884 r888  
    12861286
    12871287    assert ( cDistparity.bDV );
    1288 
     1288   
     1289#if NTT_BUG_FIX_TK54
     1290    TComMv cNBDV = cDistparity.m_acNBDV;
     1291    pcCU->clipMv( cNBDV );
     1292   
     1293    pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
     1294    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
     1295    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
     1296#else
    12891297    pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
    12901298    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true );
    12911299    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true );
     1300#endif
    12921301   
    12931302    pcPicYuvRef = pcPicYuvBaseRef->getPicYuvRec();
  • branches/HTM-10.2-dev0/source/Lib/TLibCommon/TypeDef.h

    r884 r888  
    6565#define H_3D          ( HEVC_EXT == 2)
    6666
     67#define NTT_BUG_FIX_TK54    1
     68
    6769
    6870/////////////////////////////////////////////////////////////////////////////////////////
     
    313315// #define H_MV_HLS_7_POC_P0041_3            0 // (POC/P0041/POC reset) #3 It was remarked that we should require each non-IRAP picture that has discardable_flag equal to 1 to have NUT value indicating that it is a sub-layer non-reference picture. This was agreed. Decision: Adopt (with constraint for discardable_flag as described above)
    314316// #define H_MV_HLS_7_POC_P0041_FIXES        0 // (POC/P0041/Fixes) For each non-IRAP picture that has discardable_flag equal to 1 to have NUT value indicating that it is a sub-layer non-reference picture.
    315 // #define H_MV_HLS_7_POC_P0056_4            0 // (POC/P0056/layer tree poc) #4 Proposal 1: If the POC reset approach is adopted as the basis for multi-layer POC derivation, it is proposed to derive the POC anchor picture from the previous TID0 picture (that is not a RASL picture, a RADL picture or a sub-layer non-reference picture and not with discardable_flag equal to 1) of  the current layer or any of its reference layer. This is asserted to improve loss resilience and reduce bit rate overhead. Decision: Adopt Proposal 1 (with the suggested modifications – with text provided as P0297).
     317// #define H_MV_HLS_7_POC_P0056_4            0 // (POC/P0056/layer tree poc) #4 Proposal 1: If the POC reset approach is adopted as the basis for multi-layer POC derivation, it is proposed to derive the POC anchor picture from the previous TID0 picture (that is not a RASL picture, a RADL picture or a sub-layer non-reference picture and not with discardable_flag equal to 1) of  the current layer or any of its reference layer. This is asserted to improve loss resilience and reduce bit rate overhead. Decision: Adopt Proposal 1 (with the suggested modifications Ewith text provided as P0297).
    316318
    317319// #define H_MV_HLS_7_SEI_P0133_28           0 // (SEI/P0133/Recovery point SEI) #28 Decision: Adopt change to recover point semantics only (-v3)
Note: See TracChangeset for help on using the changeset viewer.