Index: branches/HTM-5.1-dev0-MERL-Mediatek-Fix/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- branches/HTM-5.1-dev0-MERL-Mediatek-Fix/source/Lib/TLibCommon/TComDataCU.cpp	(revision 287)
+++ branches/HTM-5.1-dev0-MERL-Mediatek-Fix/source/Lib/TLibCommon/TComDataCU.cpp	(revision 288)
@@ -3788,5 +3788,5 @@
   deriveLeftRightTopIdxGeneral( cCurPS, uiAbsPartIdx, uiPUIdx, uiPartIdxLT, uiPartIdxRT );
   deriveLeftBottomIdxGeneral( cCurPS, uiAbsPartIdx, uiPUIdx, uiPartIdxLB );
-
+#if !FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152
 #if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
   if( m_pcSlice->getIsDepth())
@@ -3822,4 +3822,7 @@
         }
       }
+#if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152
+      xInheritVspMode( pcTextureCU, uiPartIdxCenter, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
+#endif
 #if SIMP_MRG_PRUN
       if ( mrgCandIdx == iCount )
@@ -3831,4 +3834,5 @@
     }
   }
+#endif
 #endif
 
@@ -3893,4 +3897,52 @@
 #endif
   }
+#if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152
+#if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
+  if( m_pcSlice->getIsDepth())
+  {
+    UInt uiPartIdxCenter;
+    xDeriveCenterIdx( cCurPS, uiPUIdx, uiPartIdxCenter );    
+    TComDataCU *pcTextureCU = m_pcSlice->getTexturePic()->getCU( getAddr() );
+    if ( pcTextureCU && !pcTextureCU->isIntra( uiPartIdxCenter ) )
+    {
+      abCandIsInter[iCount] = true;      
+      puhInterDirNeighbours[iCount] = pcTextureCU->getInterDir( uiPartIdxCenter );
+      if( ( puhInterDirNeighbours[iCount] & 1 ) == 1 )
+      {
+        pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_0, pcMvFieldNeighbours[iCount<<1] );
+        TComMv cMvPred = pcMvFieldNeighbours[iCount<<1].getMv();
+        const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
+        cMvPred+=cAdd;
+        cMvPred>>=2;
+        clipMv(cMvPred);
+        pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,pcMvFieldNeighbours[iCount<<1].getRefIdx());
+      }
+      if ( getSlice()->isInterB() )
+      {
+        if( ( puhInterDirNeighbours[iCount] & 2 ) == 2 )
+        {
+          pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] );
+          TComMv cMvPred = pcMvFieldNeighbours[(iCount<<1)+1].getMv();
+          const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
+          cMvPred+=cAdd;
+          cMvPred>>=2;
+          clipMv(cMvPred);
+          pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx());
+        }
+      }
+#if FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152
+      xInheritVspMode( pcTextureCU, uiPartIdxCenter, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
+#endif
+#if SIMP_MRG_PRUN
+      if ( mrgCandIdx == iCount )
+      {
+        return;
+      }
+#endif
+      iCount ++;
+    }
+  }
+#endif
+#endif
 #if QC_MRG_CANS_B0048
   Int iPdmDir[2] = {0, 0};
Index: branches/HTM-5.1-dev0-MERL-Mediatek-Fix/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- branches/HTM-5.1-dev0-MERL-Mediatek-Fix/source/Lib/TLibCommon/TypeDef.h	(revision 287)
+++ branches/HTM-5.1-dev0-MERL-Mediatek-Fix/source/Lib/TLibCommon/TypeDef.h	(revision 288)
@@ -41,4 +41,6 @@
 //! \ingroup TLibCommon
 //! \{
+
+#define FIX_TEXTURE_MERGING_CANDIDATE_VSP_C0137_C0152 1 
 #define QC_MVHEVC_B0046                   0   //JCT3V-B0046: disable 3DHEVC tools
 #define QC_IV_AS_LT_B0046                 1   //JCT3V-B0046: inter-view reference pictures are treated as long-term pictures 
@@ -54,5 +56,5 @@
 
 // C TRACK 3
-#define MERL_VSP_C0152                                0 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools
+#define MERL_VSP_C0152                                1 // JCT3V-C0152: 1: enable VSP-related tools; 0: disable VSP-related tools
 #define MTK_SAIT_TEMPORAL_FIRST_ORDER_C0141_C0097     1   // JCT3V-C0141/C0097
 #define MTK_SIMPLIFY_DVTC_C0135                       1   // JCT3V-C0135
