Index: branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder/TDecCAVLC.cpp
===================================================================
--- branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 1003)
+++ branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 1007)
@@ -1051,4 +1051,5 @@
 Void TDecCavlc::parseSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
 { 
+#if !MTK_I0099_VPS_EX2
   UInt uiCode; 
 #if H_3D_QTLPC
@@ -1061,4 +1062,5 @@
     pcSPS->setUsePC( uiCode );
   }
+#endif
 #endif
 }
@@ -1767,8 +1769,13 @@
     if ( i != 0 )
     {
+#if MTK_I0099_VPS_EX2
+      READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
+#endif
       if( !( pcVPS->getDepthId( i ) == 1 ) )
       {
 #if H_3D_IV_MERGE
+#if !MTK_I0099_VPS_EX2
         READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
+#endif
         if( !pcVPS->getNumDirectRefLayers(i) )
         {
@@ -1802,4 +1809,5 @@
       else
       {
+#if !MTK_I0099_VPS_EX2
 #if H_3D_IV_MERGE
         if(i!=1)
@@ -1818,9 +1826,15 @@
         }
 #endif
+#endif
 #if H_3D_IV_MERGE
         READ_FLAG( uiCode, "mpi_flag[i]" );             pcVPS->setMPIFlag( i, uiCode == 1 ? true : false );
 #endif
+#if MTK_I0099_VPS_EX2
+        READ_UVLC (uiCode, "log2_mpi_sub_PU_size_minus3[i]");     pcVPS->setSubPUMPILog2Size(i, uiCode+3);
+#endif
         READ_FLAG( uiCode, "vps_depth_modes_flag[i]" );             pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );
-        //          READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPreFlag     ( i, uiCode == 1 ? true : false ); 
+#if MTK_I0099_VPS_EX2
+        READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPredFlag     ( i, uiCode == 1 ? true : false ); 
+#endif
 #if H_3D_INTER_SDC
             READ_FLAG( uiCode, "depth_inter_SDC_flag" );              pcVPS->setInterSDCFlag( i, uiCode ? true : false );
@@ -1857,5 +1871,7 @@
     }
   }
+#if !MTK_I0099_VPS_EX2
   READ_UVLC (uiCode, "log2_sub_PU_MPI_size_minus3");              pcVPS->setSubPUMPILog2Size( uiCode + 3 ); 
+#endif
   READ_FLAG( uiCode, "iv_mv_scaling_flag");                       pcVPS->setIvMvScalingFlag( uiCode == 1 ? true : false ); 
 }
Index: branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder/TDecSbac.cpp
===================================================================
--- branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 1003)
+++ branches/HTM-11.2-dev2-MediaTek/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 1007)
@@ -721,5 +721,10 @@
   Bool bParseSplitFlag    = true;
 
-  TComSPS *sps            = pcCU->getPic()->getSlice(0)->getSPS();
+#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);
@@ -728,5 +733,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 && bLimQtPredFlag)
+#else
   if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL() && sps->getUsePC())
+#endif
   {
     TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
@@ -770,5 +779,10 @@
 #if H_3D_QTLPC
   Bool bParsePartSize    = 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);
@@ -779,5 +793,9 @@
   Bool depthDependent = false;
   UInt uiTexturePart = uiMode;
+#if MTK_I0099_VPS_EX2
+  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag )
+#else
   if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL() && sps->getUsePC())
+#endif
   {
     TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
