Index: branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCAVLC.cpp
===================================================================
--- branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 1223)
+++ branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCAVLC.cpp	(revision 1227)
@@ -3390,5 +3390,5 @@
 }
 #endif
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
 Void TDecCavlc::parseSDCFlag    ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
 {
Index: branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCAVLC.h
===================================================================
--- branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCAVLC.h	(revision 1223)
+++ branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCAVLC.h	(revision 1227)
@@ -123,8 +123,8 @@
   Void  parseICFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
 #endif
-#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_DMM || NH_3D_SDC_INTRA || H_3D_INTER_SDC
   Void  parseDeltaDC        ( TComDataCU* /*pcCU*/, UInt /*absPartIdx*/, UInt /*depth*/ ) { assert(0); };
 #endif
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
   Void  parseSDCFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
 #endif
Index: branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.cpp
===================================================================
--- branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.cpp	(revision 1223)
+++ branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.cpp	(revision 1227)
@@ -527,5 +527,5 @@
     if(pcCU->getIPCMFlag(uiAbsPartIdx))
     {
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
       m_pcEntropyDecoder->decodeSDCFlag( pcCU, uiAbsPartIdx, uiDepth );
 #endif
@@ -647,5 +647,5 @@
       //xReconDIS( m_ppcCU[uiDepth], 0, uiDepth );
     }
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
     else if( m_ppcCU[uiDepth]->getSDCFlag(0) )
     {
@@ -1183,5 +1183,5 @@
 }
 
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
 Void TDecCu::xReconIntraSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
 {
@@ -1231,8 +1231,10 @@
 
     //===== init availability pattern =====
-#if !TEMP_SDC_CLEANUP // PM: please migrate together with below "initPattern" and remove macro
-    pcCU->getPattern()->initPattern   ( pcCU, sdcDepth, uiAbsPartIdx );
-    pcCU->getPattern()->initAdiPattern( pcCU, uiAbsPartIdx, sdcDepth, m_pcPrediction->getPredicBuf(), m_pcPrediction->getPredicBufWidth(), m_pcPrediction->getPredicBufHeight(), bAboveAvail, bLeftAvail );
-#endif
+    TComTURecurse tuRecurseCU(pcCU, 0);
+    TComTURecurse tuRecurseWithPU(tuRecurseCU, false, TComTU::DONT_SPLIT);
+
+    Bool bAboveAvail = false;
+    Bool bLeftAvail  = false;
+    m_pcPrediction->initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, false DEBUG_STRING_PASS_INTO(sTemp) );
 
     // get partition
Index: branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.h
===================================================================
--- branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.h	(revision 1223)
+++ branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.h	(revision 1227)
@@ -127,5 +127,5 @@
   Void xReconDIS               ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
 #endif
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
   Void xReconIntraSDC           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
 #endif
Index: branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.cpp
===================================================================
--- branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.cpp	(revision 1223)
+++ branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.cpp	(revision 1227)
@@ -162,5 +162,5 @@
   {
     decodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx, uiDepth );
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
     decodeSDCFlag   ( pcCU, uiAbsPartIdx, uiDepth );
 #endif
@@ -960,5 +960,5 @@
 Void TDecEntropy::decodeCoeff( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool& bCodeDQP, Bool& isChromaQpAdjCoded )
 {
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
   if( pcCU->getSDCFlag( uiAbsPartIdx ) && pcCU->isIntra( uiAbsPartIdx) )
   {
@@ -979,5 +979,5 @@
   if( pcCU->getSlice()->getIsDepth() )
   {
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
     if( pcCU->getSDCFlag( uiAbsPartIdx ) )
     {
@@ -1037,5 +1037,5 @@
 }
 
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
 Void TDecEntropy::decodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
 {
Index: branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.h
===================================================================
--- branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.h	(revision 1223)
+++ branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.h	(revision 1227)
@@ -91,8 +91,8 @@
   virtual Void parseICFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
 #endif
-#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_DMM || NH_3D_SDC_INTRA || H_3D_INTER_SDC
   virtual Void  parseDeltaDC      ( TComDataCU* pcCU, UInt absPartIdx, UInt depth ) = 0;
 #endif
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
   virtual Void parseSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
 #endif
@@ -183,5 +183,5 @@
 #endif
 
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
   Void decodeSDCFlag           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
 #endif
Index: branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.cpp
===================================================================
--- branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 1223)
+++ branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 1227)
@@ -111,8 +111,8 @@
 , m_cDmmModeSCModel                          ( 1,             1,                      NUM_DMM_MODE_CTX                     , m_contextModels + m_numContextModels, m_numContextModels)
 #endif
-#if NH_3D_DMM || NH_3D_INTRA_SDC
+#if NH_3D_DMM || NH_3D_SDC_INTRA
 , m_cDdcDataSCModel                          ( 1,             1,                      NUM_DDC_DATA_CTX                     , m_contextModels + m_numContextModels, m_numContextModels)
 #endif
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
 , m_cSDCResidualFlagSCModel                  ( 1,             1,                     SDC_NUM_RESIDUAL_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
 , m_cSDCResidualSCModel                      ( 1,             1,                     SDC_NUM_RESIDUAL_CTX                  , m_contextModels + m_numContextModels, m_numContextModels)
@@ -202,8 +202,8 @@
   m_cDmmModeSCModel.initBuffer                    ( sliceType, qp, (UChar*)INIT_DMM_MODE );
 #endif
-#if NH_3D_DMM || NH_3D_INTRA_SDC
+#if NH_3D_DMM || NH_3D_SDC_INTRA
   m_cDdcDataSCModel.initBuffer                    ( sliceType, qp, (UChar*)INIT_DDC_DATA );
 #endif
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
   m_cSDCResidualFlagSCModel.initBuffer            ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
   m_cSDCResidualSCModel.initBuffer                ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL );
@@ -2334,8 +2334,8 @@
 #endif
 
-#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_DMM || NH_3D_SDC_INTRA || H_3D_INTER_SDC
 Void TDecSbac::parseDeltaDC( TComDataCU* pcCU, UInt absPartIdx, UInt depth )
 {
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
   if( !(pcCU->getSDCFlag( absPartIdx )) )
 #endif
@@ -2346,5 +2346,5 @@
 
   UInt symbol = 1;
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
   if( pcCU->isIntra( absPartIdx ) && pcCU->getSDCFlag( absPartIdx ))
   {
@@ -2370,5 +2370,5 @@
     if( pcCU->isIntra( absPartIdx ) )
     {
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
       if( pcCU->getSDCFlag( absPartIdx ) )
       {
@@ -2381,5 +2381,5 @@
         pcCU->setDmmDeltaDC( getDmmType( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx ) ), segment, absPartIdx, valDeltaDC );
 #endif
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
       }
 #endif
@@ -2504,5 +2504,5 @@
 }
 #endif
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
 Void TDecSbac::parseSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
 {
Index: branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.h
===================================================================
--- branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.h	(revision 1223)
+++ branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.h	(revision 1227)
@@ -107,5 +107,5 @@
   Void  xReadCoefRemainExGolomb ( UInt &rSymbol, UInt &rParam, const Bool useLimitedPrefixLength, const Int maxLog2TrDynamicRange );
 #endif
-#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_DMM || NH_3D_SDC_INTRA || H_3D_INTER_SDC
   Void  xReadExGolombLevelDdc( UInt& ruiSymbol );
   Void  xParseDeltaDC        ( Pel& rValDeltaDC, UInt uiNumSeg );
@@ -116,8 +116,8 @@
   Void  xParseDmm1WedgeIdx   ( UInt& ruiTabIdx, Int iNumBit );
 #endif
-#if NH_3D_INTRA_SDC
+#if NH_3D_SDC_INTRA
   Void  xParseSDCResidualData     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPart );
 #endif
-#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_SDC_INTRA || H_3D_INTER_SDC
   Void  parseSDCFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
 #endif
@@ -136,5 +136,5 @@
   Void parseDIS          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
 #endif
-#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
+#if NH_3D_DMM || NH_3D_SDC_INTRA || H_3D_INTER_SDC
   Void  parseDeltaDC      ( TComDataCU* pcCU, UInt absPartIdx, UInt depth );
 #endif
@@ -229,8 +229,8 @@
   ContextModel3DBuffer m_cDmmModeSCModel;
 #endif
-#if NH_3D_DMM || NH_3D_INTRA_SDC
+#if NH_3D_DMM || NH_3D_SDC_INTRA
   ContextModel3DBuffer m_cDdcDataSCModel;
 #endif
-#if NH_3D_INTRA_SDC  
+#if NH_3D_SDC_INTRA  
   ContextModel3DBuffer m_cSDCResidualFlagSCModel;
   ContextModel3DBuffer m_cSDCResidualSCModel;
