Index: branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp	(revision 245)
+++ branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp	(revision 246)
@@ -5808,5 +5808,17 @@
     uiBRIdx = uiPartIdxLT;
     UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB];
+#if MTK_SIMPLIFY_DVTC
+    if (( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() )>= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )
+    {
+      uiLCUnew = -1;
+    }
+    else if(( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() )>= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
+    {
+      uiLCUnew = -1;
+    }
+    else
+#else
     if ( (( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() ) < m_pcSlice->getSPS()->getPicWidthInLumaSamples() ) &&(( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() ) < m_pcSlice->getSPS()->getPicHeightInLumaSamples() ))  // image boundary check
+#endif
     {
       if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) &&           // is not at the last column of LCU 
@@ -5818,5 +5830,9 @@
       {
         uiBRIdx = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];
+#if MTK_SIMPLIFY_DVTC
+        uiLCUnew = -1;
+#else
         uiLCUnew = uiLCUIdx + m_pcPic->getFrameWidthInCU();
+#endif
       }
       else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
@@ -5828,5 +5844,9 @@
       {
         uiBRIdx = 0;
+#if MTK_SIMPLIFY_DVTC
+        uiLCUnew = -1;
+#else
         uiLCUnew = uiLCUIdx + m_pcPic->getFrameWidthInCU() + 1;
+#endif
       }
     }
@@ -5854,6 +5874,8 @@
       if( m_pcSlice->getViewId() == getSlice()->getRefPic( eRefPicList, lpRef)->getViewId() ) 
       {
+#if !MTK_SIMPLIFY_DVTC
         if (uiViewIdxCurr > 1)  
         {
+#endif
           if( (uiLCUnew >= 0 && xGetColDisMV( eRefPicList, lpRef, uiLCUnew, uiBRIdx, cColMv, iTargetViewIdx, iTStartViewIdx)) )
           {
@@ -5875,6 +5897,7 @@
             return ;
           }
+#if !MTK_SIMPLIFY_DVTC
         }
-
+#endif
         if(xGetColDisMV( eRefPicList, lpRef, uiLCUIdx, uiPartIdxCenter,  cColMv, iTargetViewIdx, iTStartViewIdx ))
         {
@@ -5895,4 +5918,5 @@
           return ;
         }
+#if !MTK_SIMPLIFY_DVTC
         if(uiViewIdxCurr == 1)  
         {
@@ -5916,4 +5940,5 @@
           }
         }
+#endif
       }
     }
@@ -6502,5 +6527,17 @@
     uiBRIdx = uiPartIdxLT;
     UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB];
+#if MTK_SIMPLIFY_DVTC
+    if (( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() )>= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )
+    {
+      uiLCUnew = -1;
+    }
+    else if(( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() )>= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
+    {
+      uiLCUnew = -1;
+    }
+    else
+#else
     if ( (( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() ) < m_pcSlice->getSPS()->getPicWidthInLumaSamples() ) &&(( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() ) < m_pcSlice->getSPS()->getPicHeightInLumaSamples() ))  // image boundary check
+#endif
     {
       if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) &&           // is not at the last column of LCU 
@@ -6512,5 +6549,9 @@
       {
         uiBRIdx = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];
+#if MTK_SIMPLIFY_DVTC
+        uiLCUnew = -1;
+#else
         uiLCUnew = uiLCUIdx + m_pcPic->getFrameWidthInCU();
+#endif
       }
       else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
@@ -6522,5 +6563,9 @@
       {
         uiBRIdx = 0;
+#if MTK_SIMPLIFY_DVTC
+        uiLCUnew = -1;
+#else
         uiLCUnew = uiLCUIdx + m_pcPic->getFrameWidthInCU() + 1;
+#endif
       }
     }
@@ -6548,6 +6593,8 @@
       if( m_pcSlice->getViewId() == getSlice()->getRefPic( eRefPicList, lpRef)->getViewId() ) 
       {
+#if !MTK_SIMPLIFY_DVTC
         if (uiViewIdxCurr > 1)  
         {
+#endif
           if( (uiLCUnew >= 0 && xGetColDisMV( eRefPicList, lpRef, uiLCUnew, uiBRIdx, cColMv, iTargetViewIdx, iTStartViewIdx)) )
           {
@@ -6569,6 +6616,7 @@
             return ;
           }
+#if !MTK_SIMPLIFY_DVTC
         }
-
+#endif
         if(xGetColDisMV( eRefPicList, lpRef, uiLCUIdx, uiPartIdxCenter,  cColMv, iTargetViewIdx, iTStartViewIdx ))
         {
@@ -6589,4 +6637,5 @@
           return ;
         }
+#if !MTK_SIMPLIFY_DVTC
         if(uiViewIdxCurr == 1)  
         {
@@ -6610,4 +6659,5 @@
           }
         }
+#endif
       }
     }
Index: branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TypeDef.h	(revision 245)
+++ branches/HTM-5.1-dev3-Mediatek/source/Lib/TLibCommon/TypeDef.h	(revision 246)
@@ -144,4 +144,5 @@
 #define QC_SIMPLE_NBDV_B0047              1   // JCT3V-B0047
 #define MTK_SAIT_TEMPORAL_FIRST_ORDER     1   // JCT3V-C00141/C0097
+#define MTK_SIMPLIFY_DVTC                 1   // JCT3V-C00135
 ///// ***** MOTION PARAMETER INHERITANCE  *********
 #define HHI_MPI                           1   // motion parameter inheritance from texture picture for depth map coding
