Index: branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp
===================================================================
--- branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 766)
+++ branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 767)
@@ -215,5 +215,5 @@
 }
 
-#if DLT_DIFF_CODING_IN_PPS
+#if H_3D
 Void TDecCavlc::parsePPS(TComPPS* pcPPS, TComVPS* pcVPS )
 #else
@@ -368,5 +368,5 @@
   if (uiCode)
   {
-#if DLT_DIFF_CODING_IN_PPS
+#if H_3D
     parsePPSExtension( pcPPS, pcVPS );
     READ_FLAG( uiCode, "pps_extension2_flag");
@@ -378,13 +378,14 @@
         READ_FLAG( uiCode, "pps_extension_data_flag");
       }
-#if DLT_DIFF_CODING_IN_PPS
-    }
-#endif
-  }
-}
-
-#if DLT_DIFF_CODING_IN_PPS
+#if H_3D
+    }
+#endif
+  }
+}
+
+#if H_3D
 Void TDecCavlc::parsePPSExtension( TComPPS* pcPPS, TComVPS* pcVPS )
 {
+  //Ed.(GT): pcVPS should not be used here. Needs to be fixed. 
   UInt uiCode = 0; 
   TComDLT* pcDLT = new TComDLT;
@@ -1005,26 +1006,4 @@
   }
 #endif
-
-#if !CAM_HLS_F0136_F0045_F0082
-  UInt uiCamParPrecision = 0; 
-  Bool bCamParSlice      = false; 
-  if ( !depthFlag )
-  {      
-    READ_UVLC( uiCamParPrecision, "cp_precision" );
-    READ_FLAG( uiCode, "cp_in_slice_header_flag" );    bCamParSlice = ( uiCode == 1 );
-    if( !bCamParSlice )
-    {       
-      for( UInt uiBaseIndex = 0; uiBaseIndex < viewIndex; uiBaseIndex++ )
-      {
-        Int iCode; 
-        READ_SVLC( iCode, "cp_scale" );                m_aaiTempScale  [ uiBaseIndex ][ viewIndex ]   = iCode;
-        READ_SVLC( iCode, "cp_off" );                  m_aaiTempOffset [ uiBaseIndex ][ viewIndex ]   = iCode;
-        READ_SVLC( iCode, "cp_inv_scale_plus_scale" ); m_aaiTempScale  [ viewIndex   ][ uiBaseIndex ] = iCode - m_aaiTempScale [ uiBaseIndex ][ viewIndex ];
-        READ_SVLC( iCode, "cp_inv_off_plus_off" );     m_aaiTempOffset [ viewIndex   ][ uiBaseIndex ] = iCode - m_aaiTempOffset[ uiBaseIndex ][ viewIndex ];
-      }
-    }
-  }
-  pcSPS->initCamParaSPS( viewIndex, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset ); 
-#endif
 }
 #endif
@@ -1132,7 +1111,5 @@
 #if H_3D
       m_pcBitstream->readOutTrailingBits();
-#if CAM_HLS_F0136_F0045_F0082
       pcVPS->createCamPars(pcVPS->getNumViews());
-#endif
       parseVPSExtension2( pcVPS );   
       READ_FLAG( uiCode,  "vps_extension3_flag" );
@@ -1742,32 +1719,4 @@
         READ_FLAG( uiCode, "vps_depth_modes_flag[i]" );             pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );
         //          READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPreFlag     ( i, uiCode == 1 ? true : false ); 
-#if H_3D_DIM_DLT
-#if !DLT_DIFF_CODING_IN_PPS
-        if( pcVPS->getVpsDepthModesFlag( i ) )
-        {
-          READ_FLAG( uiCode, "dlt_flag[i]" );                       pcVPS->setUseDLTFlag( i, uiCode == 1 ? true : false );
-        }
-        if( pcVPS->getUseDLTFlag( i ) )
-        {
-          // decode mapping
-          UInt uiNumDepthValues;
-          // parse number of values in DLT
-          READ_UVLC(uiNumDepthValues, "num_depth_values_in_dlt[i]");
-
-          // parse actual DLT values
-          Int* aiIdx2DepthValue = (Int*) calloc(uiNumDepthValues, sizeof(Int));
-          for(Int d=0; d<uiNumDepthValues; d++)
-          {
-            READ_UVLC(uiCode, "dlt_depth_value[i][d]");
-            aiIdx2DepthValue[d] = (Int)uiCode;
-          }
-
-          pcVPS->setDepthLUTs(i, aiIdx2DepthValue, uiNumDepthValues);
-
-          // clean memory
-          free(aiIdx2DepthValue);
-        }
-#endif
-#endif
 #if H_3D_INTER_SDC
             READ_FLAG( uiCode, "depth_inter_SDC_flag" );              pcVPS->setInterSDCFlag( i, uiCode ? true : false );
@@ -1776,5 +1725,5 @@
     }
   }
-#if CAM_HLS_F0136_F0045_F0082
+
   UInt uiCamParPrecision = 0; 
   Bool bCamParSlice      = false; 
@@ -1802,5 +1751,5 @@
     }
   }
-#endif
+
   READ_FLAG( uiCode, "iv_mv_scaling_flag");                       pcVPS->setIvMvScalingFlag( uiCode == 1 ? true : false ); 
 }
@@ -2462,10 +2411,6 @@
   }
 
-#if CAM_HLS_F0044
-#if CAM_HLS_F0136_F0045_F0082
+#if H_3D
   if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && !rpcSlice->getIsDepth() )
-#else
-  if( rpcSlice->getSPS()->hasCamParInSliceHeader() )
-#endif
   {
     UInt uiViewIndex = rpcSlice->getViewIndex();
@@ -2479,5 +2424,4 @@
     rpcSlice->setCamparaSlice( m_aaiTempScale, m_aaiTempOffset );
   }
-
 #endif
 
@@ -2485,34 +2429,5 @@
   {
     READ_UVLC(uiCode,"slice_header_extension_length");
-#if H_3D && !CAM_HLS_F0044
-#if CAM_HLS_F0136_F0045_F0082
-    if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && !rpcSlice->getIsDepth() )
-#else
-    if( rpcSlice->getSPS()->hasCamParInSliceHeader() )
-#endif
-    {
-      UInt uiViewIndex = rpcSlice->getViewIndex();
-      for( UInt uiBaseIndex = 0; uiBaseIndex < uiViewIndex; uiBaseIndex++ )
-      {
-        READ_SVLC( iCode, "cp_scale" );                m_aaiTempScale [ uiBaseIndex ][ uiViewIndex ] = iCode;
-        READ_SVLC( iCode, "cp_off" );                  m_aaiTempOffset[ uiBaseIndex ][ uiViewIndex ] = iCode;
-        READ_SVLC( iCode, "cp_inv_scale_plus_scale" ); m_aaiTempScale [ uiViewIndex ][ uiBaseIndex ] = iCode - m_aaiTempScale [ uiBaseIndex ][ uiViewIndex ];
-        READ_SVLC( iCode, "cp_inv_off_plus_off" );     m_aaiTempOffset[ uiViewIndex ][ uiBaseIndex ] = iCode - m_aaiTempOffset[ uiBaseIndex ][ uiViewIndex ];
-      }
-      rpcSlice->setCamparaSlice( m_aaiTempScale, m_aaiTempOffset );
-    }
-
-    READ_FLAG(uiCode,"slice_segment_header_extension2_flag"); 
-    if ( uiCode )
-    {    
-      READ_UVLC(uiCode,"slice_header_extension2_length");
-      for(Int i=0; i<uiCode; i++)
-      {
-        UInt ignore;
-        READ_CODE(8,ignore,"slice_header_extension2_data_byte");
-      }
-    }
-  }
-#else
+
     for(Int i=0; i<uiCode; i++)
     {
@@ -2521,5 +2436,5 @@
     }
   }
-#endif
+
   m_pcBitstream->readByteAlignment();
 
Index: branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.h
===================================================================
--- branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.h	(revision 766)
+++ branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.h	(revision 767)
@@ -96,5 +96,5 @@
 #endif
 
-#if H_3D && DLT_DIFF_CODING_IN_PPS
+#if H_3D
   Void  parsePPS            ( TComPPS* pcPPS, TComVPS* pcVPS );
   Void  parsePPSExtension   ( TComPPS* pcPPS, TComVPS* pcVPS );
Index: branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp
===================================================================
--- branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp	(revision 766)
+++ branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCu.cpp	(revision 767)
@@ -754,20 +754,12 @@
     {
 #if H_3D
-#if DLT_DIFF_CODING_IN_PPS
       if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
-#else
-      if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
-#endif
-        {
-#if DLT_DIFF_CODING_IN_PPS
-          pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
-#else
-          pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
-#endif
-        }
-        else
-        {
-      pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
-        }
+      {
+        pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
+      }
+      else
+      {
+        pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
+      }
 #endif
       pRecIPred[ uiX ] = pReco[ uiX ];
@@ -979,13 +971,7 @@
   {
 #if H_3D_DIM_DLT
-#if DLT_DIFF_CODING_IN_PPS
     Pel   pPredIdx    = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
     Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
     Pel   pRecoValue  = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
-#else
-    Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
-    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
-    Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
-#endif
 
     apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
Index: branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecEntropy.h
===================================================================
--- branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecEntropy.h	(revision 766)
+++ branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecEntropy.h	(revision 767)
@@ -71,5 +71,5 @@
   virtual Void  parseSPS                  ( TComSPS* pcSPS )                                      = 0;
 #endif
-#if DLT_DIFF_CODING_IN_PPS
+#if H_3D
   virtual Void  parsePPS                  ( TComPPS* pcPPS, TComVPS* pcVPS )                      = 0;
 #else
@@ -152,5 +152,5 @@
   Void    decodeSPS                   ( TComSPS* pcSPS     )    { m_pcEntropyDecoderIf->parseSPS(pcSPS);                    }
 #endif
-#if DLT_DIFF_CODING_IN_PPS
+#if H_3D
   Void    decodePPS                   ( TComPPS* pcPPS, TComVPS* pcVPS )    { m_pcEntropyDecoderIf->parsePPS(pcPPS, pcVPS);                    }
 #else
Index: branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecSbac.cpp
===================================================================
--- branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 766)
+++ branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 767)
@@ -442,9 +442,5 @@
   
 #if H_3D_DIM_DLT
-#if DLT_DIFF_CODING_IN_PPS
   UInt uiMaxResidualBits = pcCU->getSlice()->getPPS()->getDLT()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
-#else
-  UInt uiMaxResidualBits = pcCU->getSlice()->getVPS()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
-#endif
 #else
   UInt uiMaxResidualBits = g_bitDepthY;
@@ -470,9 +466,5 @@
     UInt uiCount = 0;
 #if H_3D_DIM_DLT
-#if DLT_DIFF_CODING_IN_PPS
     UInt uiNumDepthValues = pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
-#else
-    UInt uiNumDepthValues = pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
-#endif
 #else
     UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
Index: branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecSbac.h
===================================================================
--- branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecSbac.h	(revision 766)
+++ branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecSbac.h	(revision 767)
@@ -81,5 +81,5 @@
   Void  parseSPS                  ( TComSPS* /*pcSPS*/ ) {}
 #endif
-#if DLT_DIFF_CODING_IN_PPS
+#if H_3D
   Void  parsePPS                  ( TComPPS* /*pcPPS*/, TComVPS* /*pcVPS*/ ) {}
 #else
Index: branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecTop.cpp
===================================================================
--- branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecTop.cpp	(revision 766)
+++ branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecTop.cpp	(revision 767)
@@ -228,5 +228,5 @@
     m_uiMaxViewIndex                     = std::max( m_uiMaxViewIndex, uiViewIndex );
     m_aiViewId[ uiViewIndex ]            = pcSlice->getViewId();
-#if CAM_HLS_F0136_F0045_F0082
+
     if( uiViewIndex == 1 )
     {
@@ -239,16 +239,5 @@
       AOF( m_bCamParsVaryOverTime    == pcSlice->getVPS()->hasCamParInSliceHeader ( uiViewIndex ) );
     }
-#else
-    if( uiViewIndex == 1 )
-    {
-      m_uiCamParsCodedPrecision       = pcSlice->getSPS()->getCamParPrecision     ();
-      m_bCamParsVaryOverTime          = pcSlice->getSPS()->hasCamParInSliceHeader ();
-    }
-    else if( uiViewIndex > 1 )
-    {
-      AOF( m_uiCamParsCodedPrecision == pcSlice->getSPS()->getCamParPrecision     () );
-      AOF( m_bCamParsVaryOverTime    == pcSlice->getSPS()->hasCamParInSliceHeader () );
-    }
-#endif
+
     for( UInt uiBaseIndex = 0; uiBaseIndex < uiViewIndex; uiBaseIndex++ )
     {
@@ -264,15 +253,8 @@
       else
       {
-#if CAM_HLS_F0136_F0045_F0082
         m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getVPS()->getCodedScale    (uiViewIndex) [ uiBaseIndex ];
         m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getVPS()->getCodedOffset   (uiViewIndex) [ uiBaseIndex ];
         m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getVPS()->getInvCodedScale (uiViewIndex) [ uiBaseIndex ];
         m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getVPS()->getInvCodedOffset(uiViewIndex) [ uiBaseIndex ];
-#else
-        m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getSPS()->getCodedScale    () [ uiBaseIndex ];
-        m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getSPS()->getCodedOffset   () [ uiBaseIndex ];
-        m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getSPS()->getInvCodedScale () [ uiBaseIndex ];
-        m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getSPS()->getInvCodedOffset() [ uiBaseIndex ];
-#endif
         xInitLUTs( uiBaseIndex, uiViewIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
         xInitLUTs( uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiViewIndex ][ uiBaseIndex ], m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
@@ -306,9 +288,4 @@
 CamParsCollector::copyCamParamForSlice( TComSlice* pcSlice )
 {
-#if !CAM_HLS_F0136_F0045_F0082
-  UInt uiViewIndex = pcSlice->getViewIndex();
-
-  pcSlice->getSPS()->initCamParaSPS( uiViewIndex, m_uiCamParsCodedPrecision, m_bCamParsVaryOverTime, m_aaiCodedScale, m_aaiCodedOffset );
-#endif
   if( m_bCamParsVaryOverTime )
   {
@@ -1111,12 +1088,4 @@
     m_pcCamParsCollector->setSlice( pcSlice );
   }
-#if H_3D_IV_MERGE
-  if( pcSlice->getIsDepth() )
-  {
-#if !CAM_HLS_F0136_F0045_F0082
-    pcSlice->getSPS()->setHasCamParInSliceHeader( false );
-#endif
-  }
-#endif
 #endif
   m_bFirstSliceInPicture = false;
@@ -1158,5 +1127,5 @@
   pps->setLayerId( getLayerId() ); 
 #endif
-#if DLT_DIFF_CODING_IN_PPS
+#if H_3D
   // Assuming that all PPS indirectly refer to the same VPS via different SPS
   // There is no parsing dependency in decoding DLT in PPS. 
@@ -1165,5 +1134,5 @@
   //   Step 1) decoding DLT tables based on the number of depth layers, and
   //   Step 2) mapping DLT tables to the depth layers
-  // as descripted in the 3D-HEVC WD. 
+  // as described in the 3D-HEVC WD. 
   TComVPS* vps = m_parameterSetManagerDecoder.getPrefetchedVPS( 0 );
   m_cEntropyDecoder.decodePPS( pps, vps );
