Index: trunk/source/App/TAppEncoder/TAppEncCfg.cpp
===================================================================
--- trunk/source/App/TAppEncoder/TAppEncCfg.cpp	(revision 105)
+++ trunk/source/App/TAppEncoder/TAppEncCfg.cpp	(revision 115)
@@ -335,4 +335,14 @@
   ("AllowNegDist",                    m_bAllowNegDist           , true          , "Allow negative Distortion in VSO")
 #endif
+#if LGE_WVSO_A0119
+  ("WVSO",                            m_bWVSO                   , true         , "Use WVSO" )
+  ("VSOWeight",                       m_iVSOWeight              , 10 					 , "VSO Weight" )
+  ("VSDWeight",                       m_iVSDWeight             , 1 					  , "SAIT Weight" )
+  ("DWeight",									        m_iDWeight						    , 1						 , "SSE Weight" )
+#endif
+
+#if OL_DEPTHLIMIT
+  ("DPL",   m_bDepthPartitionLimiting           , false         , "Use DepthPartitionLimiting" )
+#endif
 
 #endif
@@ -644,4 +654,7 @@
 #endif
 
+#if LGE_WVSO_A0119
+  m_bWVSO = m_bUseVSO && m_bWVSO && m_bUsingDepthMaps;
+#endif
   xCleanUpVectors();
 
@@ -1688,5 +1701,11 @@
 #if HHI_VSO
   printf("VSO:%d ", m_bUseVSO             );
-#endif  
+#endif
+#if LGE_WVSO_A0119
+  printf("WVSO:%d ", m_bWVSO );
+#endif
+#if OL_DEPTHLIMIT
+  printf("DPL:%d ", m_bDepthPartitionLimiting);
+#endif
 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
   printf("DMM:%d ", m_bUseDMM );
@@ -1694,4 +1713,7 @@
 #if HHI_MPI
   printf("MVI:%d ", m_bUseMVI ? 1 : 0 );
+#endif
+#if LGE_WVSO_A0119
+  printf("\nVSO : SAIT : SAD weight = %d : %d : %d ", m_iVSOWeight, m_iVSDWeight, m_iDWeight );
 #endif
   printf("\n\n");
Index: trunk/source/App/TAppEncoder/TAppEncCfg.h
===================================================================
--- trunk/source/App/TAppEncoder/TAppEncCfg.h	(revision 105)
+++ trunk/source/App/TAppEncoder/TAppEncCfg.h	(revision 115)
@@ -297,8 +297,17 @@
   Bool      m_bUseEstimatedVSD;                           ///< Flag for using model based VSD estimation instead of VSO for some encoder decisions (JCT3V-A0033 modification 3)  
 #endif
-
+#if LGE_WVSO_A0119
+  Bool      m_bWVSO;                                    ///< flag for using View Synthesis Optimization  
+  Int				m_iVSOWeight;
+  Int       m_iVSDWeight;
+  Int				m_iDWeight;
+#endif
   // coding tools (depth intra modes)
 #if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
   Bool      m_bUseDMM;                                        ///< flag for using DMM
+#endif
+
+#if OL_DEPTHLIMIT
+  Bool      m_bDepthPartitionLimiting;
 #endif
 
Index: trunk/source/App/TAppEncoder/TAppEncTop.cpp
===================================================================
--- trunk/source/App/TAppEncoder/TAppEncTop.cpp	(revision 105)
+++ trunk/source/App/TAppEncoder/TAppEncTop.cpp	(revision 115)
@@ -207,4 +207,7 @@
     m_acTEncTopList[iViewIdx]->setUseEstimatedVSD              ( false );
 #endif
+#if LGE_WVSO_A0119
+    m_acTEncTopList[iViewIdx]->setWVSO												 ( false ); 
+#endif
 #endif
 
@@ -361,4 +364,7 @@
     m_acTEncTopList[iViewIdx]->setUseDMM                     ( false );
 #endif
+#if OL_DEPTHLIMIT
+	m_acTEncTopList[iViewIdx]->setUseDPL                     ( false );
+#endif
 #if HHI_MPI
     m_acTEncTopList[iViewIdx]->setUseMVI( false );
@@ -524,4 +530,7 @@
       m_acTEncDepthTopList[iViewIdx]->setUseEstimatedVSD              ( m_bUseEstimatedVSD );
 #endif
+#if LGE_WVSO_A0119
+      m_acTEncDepthTopList[iViewIdx]->setWVSO                          ( m_bWVSO      );
+#endif
 #endif
 
@@ -634,4 +643,7 @@
     m_acTEncDepthTopList[iViewIdx]->setUseDMM                     ( m_bUseDMM );
 #endif
+#if OL_DEPTHLIMIT
+	m_acTEncDepthTopList[iViewIdx]->setUseDPL                      (m_bDepthPartitionLimiting);
+#endif
 #if HHI_MPI
      m_acTEncDepthTopList[iViewIdx]->setUseMVI( m_bUseMVI );
@@ -690,4 +702,17 @@
       AOT(true);
     }
+#if LGE_WVSO_A0119 
+    for ( Int iViewNum = 0; iViewNum < m_iNumberOfViews; iViewNum++ )
+    {
+      for (Int iContent = 0; iContent < 2; iContent++ )
+      {
+        TEncTop* pcEncTop = ( iContent == 0 ) ? m_acTEncTopList[iViewNum] : m_acTEncDepthTopList[iViewNum]; 
+        pcEncTop->setWVSO( m_bWVSO );
+        pcEncTop->setVSOWeight( m_iVSOWeight );
+        pcEncTop->setVSDWeight( m_iVSDWeight );
+        pcEncTop->setDWeight( m_iDWeight );
+      }
+    }
+#endif
   }
 #endif
