Index: branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCavlc.cpp
===================================================================
--- branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCavlc.cpp	(revision 1003)
+++ branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCavlc.cpp	(revision 1007)
@@ -887,4 +887,5 @@
 {
 #if H_3D_QTLPC
+#if !MTK_I0099_VPS_EX2
 //GT: This has to go to VPS
 if( depthFlag )
@@ -893,4 +894,5 @@
   WRITE_FLAG( pcSPS->getUsePC()  ? 1 : 0, "use_pc_flag");
 }
+#endif
 #endif
 }
@@ -1562,8 +1564,13 @@
     if (i!= 0)
     {
+#if MTK_I0099_VPS_EX2
+      WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
+#endif
       if ( !( pcVPS->getDepthId( i ) == 1 ) )
       {
 #if H_3D_IV_MERGE
+#if !MTK_I0099_VPS_EX2
         WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
+#endif
 #if H_3D_SPIVMP
         WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");
@@ -1585,4 +1592,5 @@
       else
       {
+#if !MTK_I0099_VPS_EX2
         if(i!=1)
         {
@@ -1595,9 +1603,15 @@
         }
 #endif
+#endif
 #if H_3D_IV_MERGE
         WRITE_FLAG( pcVPS->getMPIFlag( i ) ? 1 : 0 ,          "mpi_flag[i]" );
 #endif
+#if MTK_I0099_VPS_EX2
+        WRITE_UVLC( pcVPS->getSubPUMPILog2Size(i)-3, "log2_mpi_sub_PU_size_minus3[i]");
+#endif
         WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 ,          "vps_depth_modes_flag[i]" );
-        //WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     ); 
+#if MTK_I0099_VPS_EX2
+        WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     ); 
+#endif
 #if H_3D_INTER_SDC
         WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" );
@@ -1625,5 +1639,7 @@
     }
   }
+#if !MTK_I0099_VPS_EX2
   WRITE_UVLC( pcVPS->getSubPUMPILog2Size( ) - 3, "log2_sub_PU_MPI_size_minus3");
+#endif
 #if H_3D_TMVP
   WRITE_FLAG( pcVPS->getIvMvScalingFlag( ) ? 1 : 0 ,          "iv_mv_scaling_flag" );
Index: branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCfg.h
===================================================================
--- branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCfg.h	(revision 1003)
+++ branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCfg.h	(revision 1007)
@@ -420,7 +420,9 @@
   Bool      m_useMPI;
 #endif
+#if !MTK_I0099_VPS_EX2
 #if H_3D_QTLPC
   Bool      m_bUseQTL;
   Bool      m_bUsePC;
+#endif
 #endif
 #endif
@@ -1008,4 +1010,5 @@
   Void      setUseDLT                       ( Bool b) { m_useDLT = b;    }
 #endif
+#if !MTK_I0099_VPS_EX2
 #if H_3D_QTLPC
   Void      setUseQTL                       ( Bool b ) { m_bUseQTL = b;    }
@@ -1014,4 +1017,5 @@
   Bool      getUsePC                        ()         { return m_bUsePC;  }
 #endif
+#endif
 #if H_3D_IV_MERGE
   Void      setUseMPI                       ( Bool b ) { m_useMPI = b;    }
Index: branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCu.cpp
===================================================================
--- branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCu.cpp	(revision 1003)
+++ branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncCu.cpp	(revision 1007)
@@ -409,5 +409,10 @@
 
 #if H_3D_QTLPC
+#if MTK_I0099_VPS_EX2
+  TComVPS *vps            = pcPic->getSlice(0)->getVPS();
+  Bool  bLimQtPredFalg    = vps->getLimQtPredFlag(pcPic->getSlice(0)->getLayerId()); 
+#else
   TComSPS *sps            = pcPic->getSlice(0)->getSPS();
+#endif
   TComPic *pcTexture      = rpcBestCU->getSlice()->getTexturePic();
 
@@ -531,5 +536,9 @@
       //logic for setting bTrySplit using the partition information that is stored of the texture colocated CU
 
+#if MTK_I0099_VPS_EX2
+      if(depthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFalg)
+#else
       if(depthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL())
+#endif
       {
         TComDataCU* pcTextureCU = pcTexture->getCU( rpcBestCU->getAddr() ); //Corresponding texture LCU
@@ -685,5 +694,9 @@
 
 #if H_3D_QTLPC      
+#if MTK_I0099_VPS_EX2
+      if(depthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFalg)
+#else
       if(depthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL())
+#endif
       {
         bTrySplitDQP = bTrySplit;
Index: branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncSbac.cpp
===================================================================
--- branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 1003)
+++ branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 1007)
@@ -664,5 +664,10 @@
   PartSize eSize         = pcCU->getPartitionSize( uiAbsPartIdx );
 #if H_3D_QTLPC
+#if MTK_I0099_VPS_EX2
+  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
+  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
+#else
   TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
+#endif
   TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
   Bool bDepthMapDetect   = (pcTexture != NULL);
@@ -673,5 +678,9 @@
   Bool depthDependent = false;
   UInt uiTexturePart = eSize;
+#if MTK_I0099_VPS_EX2
+  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag )
+#else
   if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC() )
+#endif
   {
     TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
@@ -1031,5 +1040,10 @@
   Bool bCodeSplitFlag    = true;
 
+#if MTK_I0099_VPS_EX2
+  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
+  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
+#else
   TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
+#endif
   TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
   Bool bDepthMapDetect   = (pcTexture != NULL);
@@ -1038,5 +1052,9 @@
   Bool rapPic     = (pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA);
 
+#if MTK_I0099_VPS_EX2
+  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag  )
+#else
   if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC())
+#endif
   {
     TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
Index: branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncTop.cpp
===================================================================
--- branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncTop.cpp	(revision 1003)
+++ branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibEncoder/TEncTop.cpp	(revision 1007)
@@ -744,7 +744,9 @@
   m_cSPS.setUseAMP ( m_useAMP );
 
+#if !MTK_I0099_VPS_EX2
 #if H_3D_QTLPC
   m_cSPS.setUseQTL( m_bUseQTL );
   m_cSPS.setUsePC ( m_bUsePC  );
+#endif
 #endif
 
