Index: /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibCommon/TypeDef.h	(revision 908)
+++ /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibCommon/TypeDef.h	(revision 909)
@@ -200,4 +200,6 @@
 #define MTK_DELTA_DC_FLAG_ONE_CONTEXT_H0084_H0100_H0113     1 // Use only one context for CABAC of delta_dc_flag as in JCTVC-H0084, JCTVC-H0100 and JCTVC-H0113
 #define MTK_SDC_FLAG_FIX_H0095            1   // Remove conditional check of PCM flag based on SDC flag, JCTVC-H0095
+
+#define MTK_DMM_SIMP_CODE_H0092           1   // Remove CABAC context for DMM1 mode coding
 
 #define H_3D_INTER_SDC                    1   // INTER SDC, Inter simplified depth coding
Index: /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibDecoder/TDecSbac.cpp
===================================================================
--- /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 908)
+++ /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 909)
@@ -87,5 +87,5 @@
 , m_cDdcDataSCModel           ( 1,             1,               NUM_DDC_DATA_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
 , m_cAngleFlagSCModel         ( 1,             1,               NUM_ANGLE_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels)
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
 , m_cDmm1DataSCModel          ( 1,             1,               NUM_DMM1_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
 #endif
@@ -171,5 +171,5 @@
   m_cDdcDataSCModel.initBuffer           ( sliceType, qp, (UChar*)INIT_DDC_DATA );
   m_cAngleFlagSCModel.initBuffer         ( sliceType, qp, (UChar*)INIT_ANGLE_FLAG );
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
   m_cDmm1DataSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_DMM1_DATA );
 #endif
@@ -241,5 +241,5 @@
   m_cDdcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_DDC_DATA );
   m_cAngleFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG );
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
   m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
 #endif
@@ -423,5 +423,9 @@
   for( Int i = 0; i < iNumBit; i++ )
   {
-    m_pcTDecBinIf->decodeBin( uiSymbol, m_cDmm1DataSCModel.get(0, 0, 0) );
+#if MTK_DMM_SIMP_CODE_H0092
+      m_pcTDecBinIf->decodeBinEP( uiSymbol );
+#else
+      m_pcTDecBinIf->decodeBin( uiSymbol, m_cDmm1DataSCModel.get(0, 0, 0) );
+#endif
     uiIdx += uiSymbol << i;
   }
Index: /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibDecoder/TDecSbac.h
===================================================================
--- /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibDecoder/TDecSbac.h	(revision 908)
+++ /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibDecoder/TDecSbac.h	(revision 909)
@@ -214,5 +214,5 @@
   ContextModel3DBuffer m_cDdcDataSCModel;
   ContextModel3DBuffer m_cAngleFlagSCModel;
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
   ContextModel3DBuffer m_cDmm1DataSCModel;
 #endif
Index: /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncSbac.cpp
===================================================================
--- /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 908)
+++ /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 909)
@@ -93,5 +93,5 @@
 , m_cDdcDataSCModel           ( 1,             1,               NUM_DDC_DATA_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
 , m_cAngleFlagSCModel         ( 1,             1,               NUM_ANGLE_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels)
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
 , m_cDmm1DataSCModel          ( 1,             1,               NUM_DMM1_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
 #endif
@@ -169,5 +169,5 @@
   m_cDdcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_DDC_DATA );
   m_cAngleFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG );
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
   m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
 #endif
@@ -255,5 +255,5 @@
       curCost += m_cDdcDataSCModel.calcCost           ( curSliceType, qp, (UChar*)INIT_DDC_DATA );
       curCost += m_cAngleFlagSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_ANGLE_FLAG );  
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
       curCost += m_cDmm1DataSCModel.calcCost          ( curSliceType, qp, (UChar*)INIT_DMM1_DATA );
 #endif
@@ -319,5 +319,5 @@
   m_cDdcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_DDC_DATA );
   m_cAngleFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG );
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
   m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
 #endif
@@ -520,5 +520,9 @@
   for ( Int i = 0; i < iNumBit; i++ )
   {
-    m_pcBinIf->encodeBin( ( uiTabIdx >> i ) & 1, m_cDmm1DataSCModel.get(0, 0, 0) );
+#if MTK_DMM_SIMP_CODE_H0092
+      m_pcBinIf->encodeBinEP( ( uiTabIdx >> i ) & 1 );
+#else
+      m_pcBinIf->encodeBin( ( uiTabIdx >> i ) & 1, m_cDmm1DataSCModel.get(0, 0, 0) );
+#endif
   }
 }
Index: /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncSbac.h
===================================================================
--- /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncSbac.h	(revision 908)
+++ /branches/HTM-10.2-dev3-MediaTek/source/Lib/TLibEncoder/TEncSbac.h	(revision 909)
@@ -258,5 +258,5 @@
   ContextModel3DBuffer m_cDdcDataSCModel;
   ContextModel3DBuffer m_cAngleFlagSCModel;
-#if H_3D_DIM_DMM
+#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
   ContextModel3DBuffer m_cDmm1DataSCModel;
 #endif
