Index: branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.cpp
===================================================================
--- branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.cpp	(revision 786)
+++ branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.cpp	(revision 787)
@@ -6496,6 +6496,22 @@
 #endif
 #if H_3D_IV_MERGE
+#if SEC_DEPTH_DV_DERIVAITON_G0074
+Bool TComDataCU::getDispforDepth (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp)
+#else
 Bool TComDataCU::getDispNeighBlocks (UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDisp)
-{
+#endif
+{
+#if SEC_DEPTH_DV_DERIVAITON_G0074
+  assert(getPartitionSize( uiPartAddr ) == SIZE_2Nx2N);
+
+  TComMv cMv; 
+  Int iDisp     = getSlice()->getDepthToDisparityB( 0 )[ 128 ];
+  cMv.setHor(iDisp);
+  cMv.setVer(0);
+  pDisp->m_acNBDV = cMv;
+  pDisp->m_aVIdxCan = 0;
+
+  return true;
+#else
   Pel pDepPos[3] = {0, 0, 0};
   assert(getPartitionSize( uiPartAddr ) == SIZE_2Nx2N);
@@ -6543,4 +6559,5 @@
     return false;
   }
+#endif
 }
 #endif
Index: branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.h
===================================================================
--- branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.h	(revision 786)
+++ branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TComDataCU.h	(revision 787)
@@ -501,5 +501,9 @@
 #if H_3D
   Void          rightShiftMergeCandList( TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* iVSPIndexTrue, InheritedVSPDisInfo*  inheritedVSPDisInfo, UInt start, UInt num, Int &iCount3DV);
+#if SEC_DEPTH_DV_DERIVAITON_G0074
+  Bool          getDispforDepth  ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp);
+#else
   Bool          getDispNeighBlocks  ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* cDisp);
+#endif
   Bool          getDispMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDis, Int* iPdm );
 #endif
Index: branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TypeDef.h	(revision 786)
+++ branches/HTM-9.3-dev1-Samsung/source/Lib/TLibCommon/TypeDef.h	(revision 787)
@@ -205,4 +205,5 @@
 
 #define SEC_SPIVMP_MCP_SIZE_G0077         1  // Apply SPIVMP only to 2Nx2N partition, JCT3V-G0077
+#define SEC_DEPTH_DV_DERIVAITON_G0074     1  // Simplification of DV derivation for depth, JCT3V-G0074
 
 ///// ***** VIEW SYNTHESIS OPTIMIZAION *********
Index: branches/HTM-9.3-dev1-Samsung/source/Lib/TLibDecoder/TDecCu.cpp
===================================================================
--- branches/HTM-9.3-dev1-Samsung/source/Lib/TLibDecoder/TDecCu.cpp	(revision 786)
+++ branches/HTM-9.3-dev1-Samsung/source/Lib/TLibDecoder/TDecCu.cpp	(revision 787)
@@ -318,5 +318,9 @@
       if( pcCU->getSlice()->getIsDepth())
       {
+#if SEC_DEPTH_DV_DERIVAITON_G0074
+        DvInfo.bDV = m_ppcCU[uiDepth]->getDispforDepth(0, 0, &DvInfo);
+#else
         DvInfo.bDV = m_ppcCU[uiDepth]->getDispNeighBlocks(0, 0, &DvInfo);
+#endif
       }
       else
Index: branches/HTM-9.3-dev1-Samsung/source/Lib/TLibEncoder/TEncCu.cpp
===================================================================
--- branches/HTM-9.3-dev1-Samsung/source/Lib/TLibEncoder/TEncCu.cpp	(revision 786)
+++ branches/HTM-9.3-dev1-Samsung/source/Lib/TLibEncoder/TEncCu.cpp	(revision 787)
@@ -570,5 +570,9 @@
           if (rpcTempCU->getSlice()->getIsDepth() )
           {
+#if SEC_DEPTH_DV_DERIVAITON_G0074
+            DvInfo.bDV = rpcTempCU->getDispforDepth(0, 0, &DvInfo);
+#else
             DvInfo.bDV = rpcTempCU->getDispNeighBlocks(0, 0, &DvInfo);
+#endif
           }
           else
