Index: branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp	(revision 887)
+++ branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComDataCU.cpp	(revision 888)
@@ -3334,5 +3334,7 @@
           cMv.setVer(0);
         }
+#if !(NTT_BUG_FIX_TK54)
         clipMv( cMv );
+#endif
 
         rightShiftMergeCandList( pcMvFieldNeighbours, puhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, iCount, (5-iCount), iCount3DV);
@@ -4110,6 +4112,8 @@
               {
                 TComMv cMv = cTexMvField.getMv() + cMvRounding;
-                cMv >>=2;
+                cMv >>=2;          
+#if !(NTT_BUG_FIX_TK54)
                 this->clipMv( cMv );
+#endif
                 pcMvFieldSP[2*iPartition + uiCurrRefListId].setMvField(cMv, iValidDepRef);
               }
@@ -4261,5 +4265,7 @@
             cMVField.getMv() += cAdd;
             cMVField.getMv() >>= 2;
+#if !(NTT_BUG_FIX_TK54)
             clipMv( cMVField.getMv() );
+#endif
             tmpMV[ 0 ].setMvField( cMVField.getMv(), iValidDepRef );
             tmpDir = 1;
@@ -4284,5 +4290,7 @@
             cMVField.getMv() += cAdd;
             cMVField.getMv() >>= 2;
+#if !(NTT_BUG_FIX_TK54)
             clipMv( cMVField.getMv() );
+#endif
             tmpMV[ 1 ].setMvField( cMVField.getMv(), iValidDepRef );
             tmpDir = 2;
@@ -6227,5 +6235,7 @@
       if( bCheck )
       {
+#if !(NTT_BUG_FIX_TK54)
         clipMv(cColMv);
+#endif
         pDInfo->m_acNBDV = cColMv;
         pDInfo->m_aVIdxCan  = iTargetViewIdx;
@@ -6296,5 +6306,7 @@
         {
           TComMv cDispVec = cIDVInfo.m_acMvCand[iList][ curPos ];
+#if !(NTT_BUG_FIX_TK54)
           clipMv( cDispVec );
+#endif
           pDInfo->m_acNBDV = cDispVec;
           pDInfo->m_aVIdxCan = cIDVInfo.m_aVIdxCan[iList][ curPos ];
@@ -6426,5 +6438,7 @@
     Pel iDisp = getMcpFromDM( pcBaseViewDepthPicYuv, cMvPred, iBlkX, iBlkY, iWidth, iHeight, aiShiftLUT );
     cMvPred->setHor( iDisp );
+#if !(NTT_BUG_FIX_TK54)
     clipMv(*cMvPred);
+#endif
   }
 }
@@ -6452,5 +6466,7 @@
         if (refViewIdx != m_pcSlice->getViewIndex()) 
         {
+#if !(NTT_BUG_FIX_TK54)
           clipMv(cMvPred);
+#endif
           pNbDvInfo->m_acNBDV = cMvPred;
           pNbDvInfo->m_aVIdxCan = refViewIdx;
@@ -6859,5 +6875,7 @@
 #endif
 #endif
+#if !(NTT_BUG_FIX_TK54)
                     clipMv( cMv );
+#endif
                     paiPdmRefIdx  [ uiCurrRefListId ] = iPdmRefIdx;
                     pacPdmMv      [ uiCurrRefListId ] = cMv;
@@ -6917,6 +6935,8 @@
                             cMv.setIDVVId    (iViewIndex); 
                           }
-
+                          
+#if !(NTT_BUG_FIX_TK54)
                           clipMv( cMv );
+#endif
                           bLoop_stop = true;
 
@@ -7018,5 +7038,7 @@
 #endif
 #endif
+#if !(NTT_BUG_FIX_TK54)
                   clipMv( cMv );
+#endif
                   paiPdmRefIdx  [ (uiCurrRefListId + (iLoopCan<<2)) ] = iPdmRefIdx;
                   pacPdmMv      [ (uiCurrRefListId + (iLoopCan<<2)) ] = cMv;
@@ -7071,5 +7093,7 @@
 #endif
             cMv.setVer( 0 );
+#if !(NTT_BUG_FIX_TK54)
             clipMv( cMv );
+#endif
             pacPdmMv      [iRefListId + 2 + (iLoopCan<<2)] = cMv;
           }
Index: branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComPrediction.cpp
===================================================================
--- branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComPrediction.cpp	(revision 887)
+++ branches/HTM-10.2-dev0/source/Lib/TLibCommon/TComPrediction.cpp	(revision 888)
@@ -1286,8 +1286,17 @@
 
     assert ( cDistparity.bDV );
-
+    
+#if NTT_BUG_FIX_TK54
+    TComMv cNBDV = cDistparity.m_acNBDV;
+    pcCU->clipMv( cNBDV );
+    
+    pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
+    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
+    xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
+#else
     pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
     xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true );
     xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true );
+#endif
     
     pcPicYuvRef = pcPicYuvBaseRef->getPicYuvRec();
Index: branches/HTM-10.2-dev0/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- branches/HTM-10.2-dev0/source/Lib/TLibCommon/TypeDef.h	(revision 887)
+++ branches/HTM-10.2-dev0/source/Lib/TLibCommon/TypeDef.h	(revision 888)
@@ -65,4 +65,6 @@
 #define H_3D          ( HEVC_EXT == 2)
 
+#define NTT_BUG_FIX_TK54    1
+
 
 /////////////////////////////////////////////////////////////////////////////////////////
@@ -313,5 +315,5 @@
 // #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) 
 // #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. 
-// #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).
+// #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).
 
 // #define H_MV_HLS_7_SEI_P0133_28           0 // (SEI/P0133/Recovery point SEI) #28 Decision: Adopt change to recover point semantics only (-v3)
