Index: trunk/source/App/TAppDecoder/TAppDecTop.cpp
===================================================================
--- trunk/source/App/TAppDecoder/TAppDecTop.cpp	(revision 210)
+++ trunk/source/App/TAppDecoder/TAppDecTop.cpp	(revision 296)
@@ -96,7 +96,4 @@
 #endif
 
-#if SONY_COLPIC_AVAILABILITY
-  m_tDecTop[0]->setViewOrderIdx(0);
-#endif
   Int                 viewDepthId = 0;
   Int                 previousViewDepthId  = 0;
@@ -111,9 +108,5 @@
     newPicture[i] = false;
 #if FLEX_CODING_ORDER_M23723
-#if  FIX_FCO_COMP_WARNING
     m_fcoOrder[i] = ' ';
-#else
-    m_fcoOrder[i]=NULL;
-#endif
 #endif
 
@@ -302,5 +295,5 @@
       if( ( viewDepthId == 0 && (viewDepthId != previousViewDepthId) ) || m_tDecTop.size() == 1 )
       {
-#if HHI_INTER_VIEW_RESIDUAL_PRED
+#if H3D_IVRP
         for( Int i = 0; i < m_tDecTop.size(); i++ )
         {
@@ -376,9 +369,5 @@
       if(newPicture[viewDepthId])
       {
-#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
         xWriteOutput( pcListPic[viewDepthId], viewDepthId, nalu.m_temporalId );
-#else
-        xWriteOutput( pcListPic[viewDepthId], viewDepthId );
-#endif
       }
     }
@@ -447,9 +436,5 @@
 }
 
-#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
 Void TAppDecTop::xWriteOutput( TComList<TComPic*>* pcListPic, Int viewDepthId, UInt tId )
-#else
-Void TAppDecTop::xWriteOutput( TComList<TComPic*>* pcListPic, Int viewDepthId )
-#endif
 {
   TComList<TComPic*>::iterator iterPic   = pcListPic->begin();
@@ -470,13 +455,7 @@
   {
     TComPic* pcPic = *(iterPic);
-#if PIC_CROPPING
     TComSPS *sps = pcPic->getSlice(0)->getSPS();
-#endif
     
-#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
     if ( pcPic->getOutputMark() && (not_displayed >  pcPic->getSlice(0)->getSPS()->getNumReorderPics(tId) && pcPic->getPOC() > m_pocLastDisplay[viewDepthId]))
-#else
-    if ( pcPic->getOutputMark() && (not_displayed >  pcPic->getSlice(0)->getSPS()->getNumReorderFrames() && pcPic->getPOC() > m_pocLastDisplay[viewDepthId]))
-#endif
     {
       // write to file
@@ -484,9 +463,5 @@
       if ( m_pchReconFile )
       {
-#if PIC_CROPPING
         m_tVideoIOYuvReconFile[viewDepthId]->write( pcPic->getPicYuvRec(), sps->getPicCropLeftOffset(), sps->getPicCropRightOffset(), sps->getPicCropTopOffset(), sps->getPicCropBottomOffset() );
-#else
-        m_tVideoIOYuvReconFile[viewDepthId]->write( pcPic->getPicYuvRec(), pcPic->getSlice(0)->getSPS()->getPad() );
-#endif
       }
       
@@ -533,7 +508,5 @@
   {
     TComPic* pcPic = *(iterPic);
-#if PIC_CROPPING
     TComSPS *sps = pcPic->getSlice(0)->getSPS();
-#endif
 
     if ( pcPic->getOutputMark() )
@@ -542,9 +515,5 @@
       if ( m_pchReconFile )
       {
-#if PIC_CROPPING
         m_tVideoIOYuvReconFile[viewDepthId]->write( pcPic->getPicYuvRec(), sps->getPicCropLeftOffset(), sps->getPicCropRightOffset(), sps->getPicCropTopOffset(), sps->getPicCropBottomOffset() );
-#else
-        m_tVideoIOYuvReconFile[viewDepthId]->write( pcPic->getPicYuvRec(), pcPic->getSlice(0)->getSPS()->getPad() );
-#endif
       }
       
@@ -764,3 +733,19 @@
 #endif
 }
+
+#if MERL_VSP_C0152
+Void TAppDecTop::setBWVSPLUT(TComSlice* pcSlice,  Int iCodedViewIdx,  Int iCurPoc)
+{
+  //first view does not have VSP 
+  if((iCodedViewIdx == 0)) return;
+
+  AOT( iCodedViewIdx <= 0);
+  //AOT( iCodedViewIdx >= m_iNumberOfViews );
+  Int iNeighborViewId = 0;
+  //  Int* piShiftLUT = bRenderFromLeft ? m_cCamParsCollector.getBaseViewShiftLUTI()[iCodedViewIdx][iNeighborViewId][0] : m_cCamParsCollector.getBaseViewShiftLUTI()[iNeighborViewId][iCodedViewIdx][0];
+  Int* piShiftLUT = m_cCamParsCollector.getBaseViewShiftLUTI()[iNeighborViewId][iCodedViewIdx][0];
+  pcSlice->setBWVSPLUTParam(piShiftLUT, 2-LOG2_DISP_PREC_LUT );
+}
+#endif
+
 //! \}
Index: trunk/source/App/TAppDecoder/TAppDecTop.h
===================================================================
--- trunk/source/App/TAppDecoder/TAppDecTop.h	(revision 210)
+++ trunk/source/App/TAppDecoder/TAppDecTop.h	(revision 296)
@@ -112,4 +112,8 @@
 #endif
 
+#if MERL_VSP_C0152
+  Void  setBWVSPLUT( TComSlice* pcSlice, Int iCodedViewIdx, Int iCurPoc   );
+#endif
+
 protected:
 //  Void  xCreateDecLib     (); ///< create internal classes
@@ -117,9 +121,5 @@
 //  Void  xInitDecLib       (); ///< initialize decoder class
   
-#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
   Void  xWriteOutput      ( TComList<TComPic*>* pcListPic, Int viewDepthId, UInt tId); ///< write YUV to file
-#else
-  Void  xWriteOutput      ( TComList<TComPic*>* pcListPic, Int viewDepthId ); ///< write YUV to file
-#endif
   Void  xFlushOutput      ( TComList<TComPic*>* pcListPic, Int viewDepthId ); ///< flush all remaining decoded pictures to file
 
