Index: trunk/source/App/TAppRenderer/RendererMain.cpp
===================================================================
--- trunk/source/App/TAppRenderer/RendererMain.cpp	(revision 81)
+++ trunk/source/App/TAppRenderer/RendererMain.cpp	(revision 100)
@@ -42,5 +42,5 @@
 
 int main(int argc, char* argv[])
-	{
+  {
   TAppRendererTop  cTAppRendererTop;
 
Index: trunk/source/App/TAppRenderer/TAppRendererCfg.cpp
===================================================================
--- trunk/source/App/TAppRenderer/TAppRendererCfg.cpp	(revision 81)
+++ trunk/source/App/TAppRenderer/TAppRendererCfg.cpp	(revision 100)
@@ -53,5 +53,5 @@
 // ====================================================================================================================
 
-#define MAX_INPUT_VIEW_NUM					10
+#define MAX_INPUT_VIEW_NUM          10
 #define MAX_OUTPUT_VIEW_NUM         64
 
Index: trunk/source/App/TAppRenderer/TAppRendererCfg.h
===================================================================
--- trunk/source/App/TAppRenderer/TAppRendererCfg.h	(revision 81)
+++ trunk/source/App/TAppRenderer/TAppRendererCfg.h	(revision 100)
@@ -80,7 +80,7 @@
   ////camera specification ////
   Char*               m_pchCameraParameterFile;         ///< camera parameter file
-  Char*               m_pchSynthViewCameraNumbers;            ///< numbers of views to synthesize
+  Char*               m_pchSynthViewCameraNumbers;      ///< numbers of views to synthesize
   Char*               m_pchViewConfig;                  ///< String to setup renderer
-  Char*               m_pchBaseViewCameraNumbers;             ///< numbers of base views
+  Char*               m_pchBaseViewCameraNumbers;       ///< numbers of base views
 
   // derived
@@ -89,9 +89,9 @@
   Bool                m_bUseSetupString;                ///< true if setup string is used
 
-  Int                 m_iNumberOfInputViews;						///< number of input Views
-  Int                 m_iNumberOfOutputViews;						///< number views to synthesize
+  Int                 m_iNumberOfInputViews;            ///< number of input Views
+  Int                 m_iNumberOfOutputViews;           ///< number views to synthesize
 
   //// renderer Modes ////
-  Int                 m_iRenderDirection;                  ///< 0: interpolate, 1: extrapolate from left, 2: extrapolate from right
+  Int                 m_iRenderDirection;               ///< 0: interpolate, 1: extrapolate from left, 2: extrapolate from right
 
   Int                 m_iLog2SamplingFactor;            ///< factor for horizontal upsampling before processing
Index: trunk/source/App/TAppRenderer/TAppRendererTop.cpp
===================================================================
--- trunk/source/App/TAppRenderer/TAppRendererTop.cpp	(revision 81)
+++ trunk/source/App/TAppRenderer/TAppRendererTop.cpp	(revision 100)
@@ -70,8 +70,7 @@
     pcVideoInput->open( m_pchVideoInputFileList[iViewIdx], false, iFileBitDepth, iInteralBitDepth );  // read mode
     pcDepthInput->open( m_pchDepthInputFileList[iViewIdx], false, iFileBitDepth, iInteralBitDepth );  // read mode
-#if HHI_FIX
     pcVideoInput->skipFrames(m_iFrameSkip, m_iSourceWidth, m_iSourceHeight  );
     pcDepthInput->skipFrames(m_iFrameSkip, m_iSourceWidth, m_iSourceHeight  );
-#endif
+
     m_apcTVideoIOYuvVideoInput.push_back( pcVideoInput );
     m_apcTVideoIOYuvDepthInput.push_back( pcDepthInput );
@@ -186,35 +185,26 @@
   while ( ( ( iNumOfRenderedFrames < m_iFramesToBeRendered ) || ( m_iFramesToBeRendered == 0 ) ) && !bAnyEOS )
   {
-
-#if HHI_FIX
     if ( iFrame >= m_iFrameSkip ) 
     {
-#endif
-    // read in depth and video
-    for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
-    {
-      m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad  ) ;
-
-      apcPicYuvBaseVideo[iBaseViewIdx]->extendPicBorder();
-
-      bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof();
-
-      m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad  ) ;
-      apcPicYuvBaseDepth[iBaseViewIdx]->extendPicBorder();
-      bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof();
-
-      if ( m_bTempDepthFilter && (iFrame >= m_iFrameSkip) )
+      // read in depth and video
+      for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
       {
-        m_pcRenTop->temporalFilterVSRS( apcPicYuvBaseVideo[iBaseViewIdx], apcPicYuvBaseDepth[iBaseViewIdx], apcPicYuvLastBaseVideo[iBaseViewIdx], apcPicYuvLastBaseDepth[iBaseViewIdx], ( iFrame == m_iFrameSkip) );
+        m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad  ) ;
+
+        apcPicYuvBaseVideo[iBaseViewIdx]->extendPicBorder();
+
+        bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof();
+
+        m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad  ) ;
+        apcPicYuvBaseDepth[iBaseViewIdx]->extendPicBorder();
+        bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof();
+
+        if ( m_bTempDepthFilter && (iFrame >= m_iFrameSkip) )
+        {
+          m_pcRenTop->temporalFilterVSRS( apcPicYuvBaseVideo[iBaseViewIdx], apcPicYuvBaseDepth[iBaseViewIdx], apcPicYuvLastBaseVideo[iBaseViewIdx], apcPicYuvLastBaseDepth[iBaseViewIdx], ( iFrame == m_iFrameSkip) );
+        }
       }
     }
-
-#if HHI_FIX
-    }
-    else
-#else
-    if ( iFrame < m_iFrameSkip ) // Skip Frames
-#endif
-    
+    else    
     {
       std::cout << "Skipping Frame " << iFrame << std::endl;
@@ -536,5 +526,13 @@
 
     AOT( m_iLog2SamplingFactor != 0 );
+#if LGE_VSO_EARLY_SKIP_A0093
+    cCurModel.create( m_cRenModStrParser.getNumOfBaseViews(), m_cRenModStrParser.getNumOfModels(), m_iSourceWidth, m_iSourceHeight, m_iShiftPrecision, m_iBlendHoleMargin, false );
+#else
     cCurModel.create( m_cRenModStrParser.getNumOfBaseViews(), m_cRenModStrParser.getNumOfModels(), m_iSourceWidth, m_iSourceHeight, m_iShiftPrecision, m_iBlendHoleMargin );
+#endif
+
+#if HHI_VSO_SPEEDUP_A033
+    cCurModel.setHorOffset( 0 );
+#endif
 
     for ( Int iViewIdx = 0; iViewIdx < m_iNumberOfInputViews; iViewIdx++ )
@@ -563,27 +561,19 @@
     {
 
-#if HHI_FIX
       if ( iFrame >= m_iFrameSkip )
       {      
-#endif
-      // read in depth and video
-      for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
-      {
-        m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad  ) ;
-        bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof();
-
-        m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad  ) ;
-        bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof();
-      }
-#if HHI_FIX
+        // read in depth and video
+        for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
+        {
+          m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad  ) ;
+          bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof();
+
+          m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad  ) ;
+          bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof();
+        }
       }
       else
-#else
-      if ( iFrame < m_iFrameSkip )
-#endif
       {
-#if HHI_FIX
         iFrame++;
-#endif
         continue;
       }
@@ -598,15 +588,8 @@
       }
 
-#if HHI_FIX
       m_cCameraData.update( (UInt) ( iFrame - m_iFrameSkip ));
-#endif
 
       for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
       {
-#if HHI_FIX
-#else
-        m_cCameraData.update( (UInt)iFrame );
-#endif
-
         // setup virtual views
         Int iBaseViewSIdx = m_cCameraData.getBaseId2SortedId()[iBaseViewIdx];
@@ -726,5 +709,12 @@
 
   AOT( m_iLog2SamplingFactor != 0 );
+#if HHI_VSO_SPEEDUP_A033
+  cCurModel.setHorOffset( 0 );
+#endif
+#if LGE_VSO_EARLY_SKIP_A0093
+  cCurModel.create( m_iNumberOfInputViews, m_iNumberOfOutputViews, m_iSourceWidth, m_iSourceHeight, m_iShiftPrecision, m_iBlendHoleMargin, false );
+#else
   cCurModel.create( m_iNumberOfInputViews, m_iNumberOfOutputViews, m_iSourceWidth, m_iSourceHeight, m_iShiftPrecision, m_iBlendHoleMargin );
+#endif
 
   for ( UInt uiBaseView = 0; uiBaseView < m_iNumberOfInputViews; uiBaseView++ )
@@ -788,41 +778,28 @@
   {
 
-#if HHI_FIX
     if ( iFrame >= m_iFrameSkip )
     {      
-#endif
-    // read in depth and video
-    for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
-    {
-      m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad  ) ;
-      bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof();
-
-      m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad  ) ;
-      bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof();
-
-      if ( iFrame >= m_iFrameSkip )
+      // read in depth and video
+      for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
       {
-        Int iBaseViewSIdx = m_cCameraData.getBaseId2SortedId()[iBaseViewIdx];
-        cCurModel.setBaseView( iBaseViewSIdx, apcPicYuvBaseVideo[iBaseViewIdx], apcPicYuvBaseDepth[iBaseViewIdx], NULL, NULL );
+        m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad  ) ;
+        bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof();
+
+        m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad  ) ;
+        bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof();
+
+        if ( iFrame >= m_iFrameSkip )
+        {
+          Int iBaseViewSIdx = m_cCameraData.getBaseId2SortedId()[iBaseViewIdx];
+          cCurModel.setBaseView( iBaseViewSIdx, apcPicYuvBaseVideo[iBaseViewIdx], apcPicYuvBaseDepth[iBaseViewIdx], NULL, NULL );
+        }
       }
     }
-
-#if HHI_FIX
-    }
     else
-#else
-    if ( iFrame < m_iFrameSkip ) // Skip Frames
-#endif
     {
       iFrame++;
       continue;
     }
-
-#if HHI_FIX
     m_cCameraData.update( (UInt) (iFrame - m_iFrameSkip ));
-#else
-    m_cCameraData.update( (UInt)iFrame );
-#endif
-
     for(Int iSynthViewIdx=0; iSynthViewIdx < m_iNumberOfOutputViews; iSynthViewIdx++ )
     {
@@ -972,31 +949,25 @@
   {
 
-#if HHI_FIX
+
     if ( iFrame >= m_iFrameSkip )
     {      
-#endif
-    // read in depth and video
-    for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
-    {
-      m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad  ) ;
-      apcPicYuvBaseVideo[iBaseViewIdx]->extendPicBorder();
-      bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof();
-
-      m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad  ) ;
-      apcPicYuvBaseDepth[iBaseViewIdx]->extendPicBorder();
-      bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof();
-
-      if ( m_bTempDepthFilter && (iFrame >= m_iFrameSkip) )
+      // read in depth and video
+      for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ )
       {
-        m_pcRenTop->temporalFilterVSRS( apcPicYuvBaseVideo[iBaseViewIdx], apcPicYuvBaseDepth[iBaseViewIdx], apcPicYuvLastBaseVideo[iBaseViewIdx], apcPicYuvLastBaseDepth[iBaseViewIdx], ( iFrame == m_iFrameSkip) );
+        m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad  ) ;
+        apcPicYuvBaseVideo[iBaseViewIdx]->extendPicBorder();
+        bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof();
+
+        m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad  ) ;
+        apcPicYuvBaseDepth[iBaseViewIdx]->extendPicBorder();
+        bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof();
+
+        if ( m_bTempDepthFilter && (iFrame >= m_iFrameSkip) )
+        {
+          m_pcRenTop->temporalFilterVSRS( apcPicYuvBaseVideo[iBaseViewIdx], apcPicYuvBaseDepth[iBaseViewIdx], apcPicYuvLastBaseVideo[iBaseViewIdx], apcPicYuvLastBaseDepth[iBaseViewIdx], ( iFrame == m_iFrameSkip) );
+        }
       }
     }
-
-#if HHI_FIX
-    }
     else
-#else
-    if ( iFrame < m_iFrameSkip ) // Skip Frames
-#endif
     {
       std::cout << "Skipping Frame " << iFrame << std::endl;
@@ -1005,10 +976,5 @@
       continue;
     }
-
-#if HHI_FIX
     m_cCameraData.update( (UInt) ( iFrame - m_iFrameSkip ) );
-#else
-    m_cCameraData.update( (UInt)iFrame );
-#endif
 
     for(Int iViewIdx=1; iViewIdx < m_iNumberOfInputViews; iViewIdx++ )
Index: trunk/source/App/TAppRenderer/TAppRendererTop.h
===================================================================
--- trunk/source/App/TAppRenderer/TAppRendererTop.h	(revision 81)
+++ trunk/source/App/TAppRenderer/TAppRendererTop.h	(revision 100)
@@ -60,7 +60,7 @@
 private:
   // class interface
-  std::vector<TVideoIOYuv*>		 m_apcTVideoIOYuvVideoInput;
+  std::vector<TVideoIOYuv*>     m_apcTVideoIOYuvVideoInput;
   std::vector<TVideoIOYuv*>    m_apcTVideoIOYuvDepthInput;
-  std::vector<TVideoIOYuv*>		 m_apcTVideoIOYuvSynthOutput;
+  std::vector<TVideoIOYuv*>     m_apcTVideoIOYuvSynthOutput;
 
   // RendererInterface
