Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComPic.cpp
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComPic.cpp	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComPic.cpp	(revision 1256)
@@ -75,5 +75,5 @@
     m_apcPicYuv[i]      = NULL;
   }
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   m_bReduceBitsQTL    = 0;
 #endif
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComPic.h
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComPic.h	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComPic.h	(revision 1256)
@@ -94,5 +94,5 @@
 #endif
 #endif
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   Bool                  m_bReduceBitsQTL;
 #endif
@@ -132,5 +132,5 @@
 #endif
 #endif
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   Bool          getReduceBitsFlag ()             { return m_bReduceBitsQTL;     }
   Void          setReduceBitsFlag ( Bool bFlag ) { m_bReduceBitsQTL = bFlag;    }
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComRdCost.cpp
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComRdCost.cpp	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComRdCost.cpp	(revision 1256)
@@ -602,4 +602,11 @@
 
   cDtParam.bitDepth   = bitDepth;
+
+#if NH_3D_IC_FIX
+  cDtParam.bUseIC       = false;
+#endif
+#if H_3D_INTER_SDC_FIX
+  cDtParam.bUseSDCMRSAD = false;
+#endif
 
   Dist dist = cDtParam.DistFunc( &cDtParam );
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComSlice.h
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComSlice.h	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TComSlice.h	(revision 1256)
@@ -2707,5 +2707,5 @@
   TComPic*                    getIvPic( Bool depthFlag, Int viewIndex) const         { return  m_ivPicsCurrPoc[ depthFlag ? 1 : 0 ][ viewIndex ];    }
 #endif                                                                                                                                          
-#if H_3D                                                                                                                                             
+#if NH_3D                                                                                                                                             
   TComPic*                    getTexturePic       ()                                 { return  m_ivPicsCurrPoc[0][ m_viewIndex ];                    }
 #endif                                                                                                                                               
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TypeDef.h
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TypeDef.h	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibCommon/TypeDef.h	(revision 1256)
@@ -85,6 +85,11 @@
                                               // SEC_IC_NEIGHBOR_CLIP_I0080    // Clipping of neighboring sample position, JCT3V-I0080
                                               // LGE_CHROMA_IC_J0050_J0034
+
+#define NH_3D_IC_FIX                      1   // Fix uninitialized value in cDtParam.bUseIC (it happened on intra block)
 #define NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC   1   // Full Pel Interpolation for Depth, HHI_FULL_PEL_DEPTH_MAP_MV_ACC
 
+#define NH_3D_QTLPC                       1   // OL_QTLIMIT_PREDCODING_B0068 //JCT3V-B0068
+                                              // HHI_QTLPC_RAU_OFF_C0160 JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units 
+                                              // MTK_TEX_DEP_PAR_G0055 Texture-partition-dependent depth partition. JCT3V-G0055
 
 #endif
@@ -245,4 +250,5 @@
                                               // LGE_INTER_SDC_E0156 Enable inter SDC for depth coding
                                               // SEC_INTER_SDC_G0101 Improved inter SDC with multiple DC candidates
+#define H_3D_INTER_SDC_FIX                1
 #define H_3D_SPIVMP                       1   // H_3D_SPIVMP JCT3V-F0110: Sub-PU level inter-view motion prediction
                                               // SEC_SPIVMP_MCP_SIZE_G0077, Apply SPIVMP only to 2Nx2N partition, JCT3V-G0077
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibDecoder/TDecSbac.cpp
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibDecoder/TDecSbac.cpp	(revision 1256)
@@ -721,5 +721,5 @@
 
   UInt uiSymbol;
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   Bool bParseSplitFlag    = true;
   Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
@@ -736,5 +736,5 @@
 #endif
   {
-    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
+    TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr());
     assert(pcTextureCU->getDepth(uiAbsPartIdx) >= uiDepth);
     bParseSplitFlag         = (pcTextureCU->getDepth(uiAbsPartIdx) > uiDepth);
@@ -751,5 +751,5 @@
   DTRACE_CABAC_T( "\tSplitFlag\n" )
 #endif
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   }
   else
@@ -783,5 +783,5 @@
   assert ( pcCU->getSlice()->getSPS()->getLog2DiffMaxMinCodingBlockSize() == log2DiffMaxMinCodingBlockSize);
 
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   Bool bParsePartSize    = true;
 
@@ -802,5 +802,5 @@
 #endif
   {
-    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
+    TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr());
     assert(pcTextureCU->getDepth(uiAbsPartIdx) >= uiDepth);
     if(pcTextureCU->getDepth(uiAbsPartIdx) == uiDepth )
@@ -819,5 +819,5 @@
   if ( pcCU->isIntra( uiAbsPartIdx ) )
   {
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
     if(bParsePartSize)
     {
@@ -832,5 +832,5 @@
     }
     eMode = uiSymbol ? SIZE_2Nx2N : SIZE_NxN;
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
     }
 #endif
@@ -850,5 +850,5 @@
   else
   {
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
     if(bParsePartSize)
     {
@@ -894,10 +894,10 @@
       }
     }
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
       }
       else if(uiTexturePart == SIZE_2NxN || uiTexturePart == SIZE_2NxnU || uiTexturePart == SIZE_2NxnD)
       {
         UInt uiMaxNumBits = 1;
-        if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )
+        if ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )
         {
           uiMaxNumBits ++;
@@ -905,5 +905,5 @@
         for ( UInt ui = 0; ui < uiMaxNumBits; ui++ )
         {
-          m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) );
+          m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) );
           if ( uiSymbol )
           {
@@ -913,15 +913,15 @@
         }
         eMode = (PartSize) uiMode;
-        if(uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) && uiSymbol==1 )
+        if(uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==1 )
         {
           eMode = SIZE_2NxN;
         }
-        else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth )==0  && uiSymbol==0)
+        else if (uiMode && (( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )==0)  && uiSymbol==0)
         {
           eMode = SIZE_2NxN;
         }
-        else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) && uiSymbol==0)
-        {
-          m_pcTDecBinIf->decodeBinEP(uiSymbol);
+        else if (uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==0)
+        {
+          m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype));
           eMode = (uiSymbol == 0? SIZE_2NxnU : SIZE_2NxnD);
         }
@@ -930,5 +930,5 @@
       {
         UInt uiMaxNumBits = 1;
-        if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )
+        if (  ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) 
         {
           uiMaxNumBits ++;
@@ -936,5 +936,5 @@
         for ( UInt ui = 0; ui < uiMaxNumBits; ui++ )
         {
-          m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) );
+          m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype));
           if ( uiSymbol )
           {
@@ -944,15 +944,15 @@
         }
         eMode = (PartSize) uiMode;
-        if(uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) && uiSymbol==1 )
+        if(uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==1 )
         {
           eMode = SIZE_Nx2N;
         }
-        else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth )==0  && uiSymbol==0)
+        else if (uiMode && (( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )==0)  && uiSymbol==0)
         {
           eMode = SIZE_Nx2N;
         }
-        else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) && uiSymbol==0)
-        {
-          m_pcTDecBinIf->decodeBinEP(uiSymbol);
+        else if (uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==0)
+        {
+          m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype));
           eMode = (uiSymbol == 0? SIZE_nLx2N : SIZE_nRx2N);
         }
@@ -966,5 +966,5 @@
       DTRACE_CU("part_mode", eMode )
 #endif
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
     }
 #endif
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncCu.cpp
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncCu.cpp	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncCu.cpp	(revision 1256)
@@ -413,5 +413,5 @@
 
 
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   Bool  bLimQtPredFalg    = pcPic->getSlice(0)->getQtPredFlag(); 
   TComPic *pcTexture      = rpcBestCU->getSlice()->getTexturePic();
@@ -429,5 +429,5 @@
   m_ppcOrigYuv[uiDepth]->copyFromPicYuv( pcPic->getPicYuvOrg(), rpcBestCU->getCtuRsAddr(), rpcBestCU->getZorderIdxInCtu() );
 
-#if H_3D_QTLPC  
+#if NH_3D_QTLPC  
   Bool    bTrySplit     = true;
   Bool    bTrySplitDQP  = true;
@@ -529,5 +529,5 @@
       }
 
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
       bTrySplit    = true;
 #endif
@@ -547,5 +547,5 @@
 
       rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
       //logic for setting bTrySplit using the partition information that is stored of the texture colocated CU
 #if H_3D_FCO
@@ -555,6 +555,6 @@
 #endif
       {
-        TComDataCU* pcTextureCU = pcTexture->getCU( rpcBestCU->getAddr() ); //Corresponding texture LCU
-        UInt uiCUIdx            = rpcBestCU->getZorderIdxInCU();
+        TComDataCU* pcTextureCU = pcTexture->getCtu( rpcBestCU->getCtuRsAddr() ); //Corresponding texture LCU
+        UInt uiCUIdx            = rpcBestCU->getZorderIdxInCtu();
         assert(pcTextureCU->getDepth(uiCUIdx) >= uiDepth); //Depth cannot be more partitioned than the texture.
         if (pcTextureCU->getDepth(uiCUIdx) > uiDepth || pcTextureCU->getPartitionSize(uiCUIdx) == SIZE_NxN) //Texture was split.
@@ -713,5 +713,5 @@
 #endif
       }
-#if H_3D_QTLPC      
+#if NH_3D_QTLPC      
       if(depthMapDetect && !bIntraSliceDetect && !rapPic && ( m_pcEncCfg->getUseQTL() || bLimQtPredFalg ))
       {
@@ -768,5 +768,5 @@
           {
             if( uiDepth == sps.getLog2DiffMaxMinCodingBlockSize() && doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTrySplit
 #endif
@@ -788,5 +788,5 @@
 
           if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
             && bTryNx2N
 #endif
@@ -809,5 +809,5 @@
           }
           if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
             && bTry2NxN
 #endif
@@ -850,5 +850,5 @@
             {
               if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTry2NxN
 #endif
@@ -870,5 +870,5 @@
               }
               if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTry2NxN
 #endif
@@ -896,5 +896,5 @@
             {
               if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTry2NxN
 #endif
@@ -918,5 +918,5 @@
               }
               if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTry2NxN
 #endif
@@ -945,5 +945,5 @@
             {
               if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTryNx2N
 #endif
@@ -966,5 +966,5 @@
               }
               if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTryNx2N
 #endif
@@ -986,5 +986,5 @@
             {
               if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTryNx2N
 #endif
@@ -1006,5 +1006,5 @@
               }
               if(doNotBlockPu
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
                 && bTryNx2N
 #endif
@@ -1027,5 +1027,5 @@
 
 #else
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
             if (bTry2NxN)
             {
@@ -1042,5 +1042,5 @@
               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
 #endif
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
             }
             if (bTryNx2N)
@@ -1057,5 +1057,5 @@
               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
 #endif
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
             }
 #endif
@@ -1115,5 +1115,5 @@
           if( uiDepth == sps.getLog2DiffMaxMinCodingBlockSize() )
           {
-#if H_3D_QTLPC //Try IntraNxN
+#if NH_3D_QTLPC //Try IntraNxN
               if(bTrySplit)
               {
@@ -1131,5 +1131,5 @@
               rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
             }
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
               }
 #endif
@@ -1247,6 +1247,7 @@
 
     // further split
-#if H_3D_QTLPC
-    if( bSubBranch && bTrySplitDQP && uiDepth < g_uiMaxCUDepth - g_uiAddCUDepth )
+#if NH_3D_QTLPC
+
+    if( bSubBranch && bTrySplitDQP && uiDepth < sps.getLog2DiffMaxMinCodingBlockSize() )
 #else
     if( bSubBranch && uiDepth < sps.getLog2DiffMaxMinCodingBlockSize() )
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSbac.cpp
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSbac.cpp	(revision 1256)
@@ -645,5 +645,5 @@
 {
   PartSize eSize         = pcCU->getPartitionSize( uiAbsPartIdx );
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
   TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
@@ -662,6 +662,6 @@
 #endif
   {
-    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
-    UInt uiCUIdx            = (pcCU->getZorderIdxInCU() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCU();
+    TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr());
+    UInt uiCUIdx            = (pcCU->getZorderIdxInCtu() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCtu();
     assert(pcTextureCU->getDepth(uiCUIdx) >= uiDepth);
     if(pcTextureCU->getDepth(uiCUIdx) == uiDepth )
@@ -694,5 +694,5 @@
   DTRACE_CU("part_mode", eSize )
 #endif        
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
     if (depthDependent==false || uiTexturePart == SIZE_NxN|| uiTexturePart == SIZE_2Nx2N)
     {
@@ -768,5 +768,5 @@
     }
   }
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
     }
     else if(uiTexturePart == SIZE_2NxN || uiTexturePart == SIZE_2NxnU || uiTexturePart == SIZE_2NxnD)
@@ -785,5 +785,5 @@
         {
           m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 0) );
-          if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )
+          if (  pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize  )
           {     
             m_pcBinIf->encodeBin( 1, m_cCUPartSizeSCModel.get( 0, 0, 1) );
@@ -820,5 +820,5 @@
         {
           m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 0) );
-          if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )
+          if ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize )
           {     
             m_pcBinIf->encodeBin( 1, m_cCUPartSizeSCModel.get( 0, 0, 1) );
@@ -1026,5 +1026,5 @@
 
   assert( uiCtx < 3 );
-#if H_3D_QTLPC
+#if NH_3D_QTLPC
   Bool bCodeSplitFlag    = true;
 
@@ -1043,6 +1043,6 @@
 #endif
   {
-    TComDataCU *pcTextureCU = pcTexture->getCU(pcCU->getAddr());
-    UInt uiCUIdx            = (pcCU->getZorderIdxInCU() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCU();
+    TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr());
+    UInt uiCUIdx            = (pcCU->getZorderIdxInCtu() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCtu();
     assert(pcTextureCU->getDepth(uiCUIdx) >= uiDepth);
     bCodeSplitFlag          = (pcTextureCU->getDepth(uiCUIdx) > uiDepth);
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSearch.cpp
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSearch.cpp	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSearch.cpp	(revision 1256)
@@ -2894,4 +2894,11 @@
       const Bool bUseHadamard=pcCU->getCUTransquantBypass(0) == 0;
       m_pcRdCost->setDistParam(distParam, sps.getBitDepth(CHANNEL_TYPE_LUMA), piOrg, uiStride, piPred, uiStride, puRect.width, puRect.height, bUseHadamard);
+
+#if NH_3D_IC_FIX
+      distParam.bUseIC = false;
+#endif
+#if H_3D_INTER_SDC_FIX
+      distParam.bUseSDCMRSAD = false;
+#endif
       distParam.bApplyWeight = false;
       for( Int modeIdx = 0; modeIdx < numModesAvailable; modeIdx++ )
Index: /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSlice.cpp
===================================================================
--- /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSlice.cpp	(revision 1255)
+++ /branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibEncoder/TEncSlice.cpp	(revision 1256)
@@ -1194,6 +1194,6 @@
     }
 
-#if H_3D_QTLPC
-    rpcPic->setReduceBitsFlag(true);
+#if NH_3D_QTLPC
+    pcPic->setReduceBitsFlag(true);
 #endif
     if ( pcSlice->getSPS()->getUseSAO() )
@@ -1266,6 +1266,6 @@
       }
     }
-#if H_3D_QTLPC
-    rpcPic->setReduceBitsFlag(false);
+#if NH_3D_QTLPC
+    pcPic->setReduceBitsFlag(false);
 #endif
   } // CTU-loop
