Index: branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncCfg.cpp
===================================================================
--- branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncCfg.cpp	(revision 172)
+++ branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncCfg.cpp	(revision 174)
@@ -292,6 +292,6 @@
   ("MaxCuDQPDepth,-dqd",  m_iMaxCuDQPDepth,        0, "max depth for a minimum CuDQP")
 
-    ("ChromaQpOffset,   -cqo",   m_iChromaQpOffset,           0, "ChromaQpOffset")
-    ("ChromaQpOffset2nd,-cqo2",  m_iChromaQpOffset2nd,        0, "ChromaQpOffset2nd")
+  ("ChromaQpOffset,   -cqo",   m_iChromaQpOffset,           0, "ChromaQpOffset")
+  ("ChromaQpOffset2nd,-cqo2",  m_iChromaQpOffset2nd,        0, "ChromaQpOffset2nd")
 
 #if ADAPTIVE_QP_SELECTION
@@ -454,5 +454,9 @@
                                               "\t0: disable")
 
+#if TMVP_DEPTH_SWITCH
+  ("TMVP", m_enableTMVP, std::vector<Bool>(1,true), "Enable TMVP" )
+#else
   ("TMVP", m_enableTMVP, true, "Enable TMVP" )
+#endif
 
   ("FEN", m_bUseFastEnc, false, "fast encoder setting")
@@ -683,4 +687,13 @@
 #endif
   xCleanUpVectors();
+
+
+#if TMVP_DEPTH_SWITCH
+  if ( m_enableTMVP.size() < 2)
+  {
+    m_enableTMVP.push_back( m_enableTMVP[0]  );
+  }
+#endif
+ 
 
 #if HHI_VSO
@@ -1606,5 +1619,5 @@
   }
 
-printf("Loop Filter Disabled         : %d %d\n", m_abLoopFilterDisable[0] ? 1 : 0,  m_abLoopFilterDisable[1] ? 1 : 0 );
+  printf("Loop Filter Disabled         : %d %d\n", m_abLoopFilterDisable[0] ? 1 : 0,  m_abLoopFilterDisable[1] ? 1 : 0 );
   printf("Coded Camera Param. Precision: %d\n", m_iCodedCamParPrecision);
 
@@ -1704,5 +1717,7 @@
   printf(" ScalingList:%d ", m_useScalingListId );
 
+#if !TMVP_DEPTH_SWITCH
   printf("TMVP:%d ", m_enableTMVP     );
+#endif
 
 #if ADAPTIVE_QP_SELECTION
@@ -1718,4 +1733,7 @@
   printf("SAO:%d ", (m_abUseSAO [0] ? 1 : 0));
   printf("RDQ:%d ", (m_abUseRDOQ[0] ? 1 : 0) );
+#if TMVP_DEPTH_SWITCH
+  printf("TMVP:%d ", (m_enableTMVP[0] ? 1 : 0) );
+#endif
   printf("\n");
 
@@ -1724,4 +1742,7 @@
   printf("SAO:%d ", (m_abUseSAO [1] ? 1 : 0));
   printf("RDQ:%d ", (m_abUseRDOQ[1] ? 1 : 0));
+#if TMVP_DEPTH_SWITCH
+  printf("TMVP:%d ", (m_enableTMVP[1] ? 1 : 0) );
+#endif
 #if HHI_VSO
   printf("VSO:%d ", m_bUseVSO             );
Index: branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncCfg.h
===================================================================
--- branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncCfg.h	(revision 172)
+++ branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncCfg.h	(revision 174)
@@ -258,5 +258,10 @@
   UInt      m_uiBiPredIdc;                                    ///< Use of Bi-Directional Weighting Prediction (B_SLICE): explicit(1) or implicit(2)
 
+#if TMVP_DEPTH_SWITCH
+  vector<Bool> m_enableTMVP;                                  ///< Enable TMVP [0] video, [1] depth
+#else
   Bool      m_enableTMVP;
+#endif
+
 #if MULTIBITS_DATA_HIDING
   Int       m_signHideFlag;
Index: branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncTop.cpp
===================================================================
--- branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncTop.cpp	(revision 172)
+++ branches/HTM-4.1-dev1-HHI/source/App/TAppEncoder/TAppEncTop.cpp	(revision 174)
@@ -342,5 +342,9 @@
     m_acTEncTopList[iViewIdx]->setWaveFrontFlush             ( m_iWaveFrontFlush );
     m_acTEncTopList[iViewIdx]->setWaveFrontSubstreams        ( m_iWaveFrontSubstreams );
-    m_acTEncTopList[iViewIdx]->setEnableTMVP ( m_enableTMVP );
+#if TMVP_DEPTH_SWITCH
+    m_acTEncTopList[iViewIdx]->setEnableTMVP                 ( m_enableTMVP[0] );
+#else
+    m_acTEncTopList[iViewIdx]->setEnableTMVP                 ( m_enableTMVP );
+#endif
     m_acTEncTopList[iViewIdx]->setUseScalingListId           ( m_useScalingListId  );
     m_acTEncTopList[iViewIdx]->setScalingListFile            ( m_scalingListFile   );
@@ -621,5 +625,9 @@
       m_acTEncDepthTopList[iViewIdx]->setWaveFrontFlush             ( m_iWaveFrontFlush );
       m_acTEncDepthTopList[iViewIdx]->setWaveFrontSubstreams        ( m_iWaveFrontSubstreams );
-      m_acTEncDepthTopList[iViewIdx]->setEnableTMVP ( m_enableTMVP );
+#if TMVP_DEPTH_SWITCH
+      m_acTEncDepthTopList[iViewIdx]->setEnableTMVP                 ( m_enableTMVP[1] );
+#else
+      m_acTEncDepthTopList[iViewIdx]->setEnableTMVP                 ( m_enableTMVP );
+#endif
       m_acTEncDepthTopList[iViewIdx]->setUseScalingListId           ( m_useScalingListId  );
       m_acTEncDepthTopList[iViewIdx]->setScalingListFile            ( m_scalingListFile   );
