Changeset 1221 in 3DVCSoftware


Ignore:
Timestamp:
21 May 2015, 14:39:30 (10 years ago)
Author:
rwth
Message:
  • initial implementation of INTRA SDC (still not fully functional)
Location:
branches/HTM-14.1-update-dev1-RWTH
Files:
28 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev1-RWTH/HTM.xcodeproj/project.pbxproj

    r1219 r1221  
    339339                78486FDD1B0B62C70098FD5A /* ContextModel3DBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ContextModel3DBuffer.cpp; sourceTree = "<group>"; };
    340340                78486FDE1B0B62C70098FD5A /* ContextModel3DBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextModel3DBuffer.h; sourceTree = "<group>"; };
    341                 78486FDF1B0B62C70098FD5A /* ContextTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContextTables.h; sourceTree = "<group>"; };
     341                78486FDF1B0B62C70098FD5A /* ContextTables.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = ContextTables.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
    342342                78486FE01B0B62C70098FD5A /* Debug.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Debug.cpp; sourceTree = "<group>"; };
    343343                78486FE11B0B62C70098FD5A /* Debug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Debug.h; sourceTree = "<group>"; };
     
    372372                78486FFE1B0B62C70098FD5A /* TComPicYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPicYuv.h; sourceTree = "<group>"; };
    373373                78486FFF1B0B62C70098FD5A /* TComPicYuvMD5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPicYuvMD5.cpp; sourceTree = "<group>"; };
    374                 784870001B0B62C70098FD5A /* TComPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComPrediction.cpp; sourceTree = "<group>"; };
    375                 784870011B0B62C70098FD5A /* TComPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComPrediction.h; sourceTree = "<group>"; };
     374                784870001B0B62C70098FD5A /* TComPrediction.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = TComPrediction.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
     375                784870011B0B62C70098FD5A /* TComPrediction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = TComPrediction.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
    376376                784870021B0B62C70098FD5A /* TComRdCost.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComRdCost.cpp; sourceTree = "<group>"; };
    377377                784870031B0B62C70098FD5A /* TComRdCost.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComRdCost.h; sourceTree = "<group>"; };
     
    395395                784870151B0B62C70098FD5A /* TComYuv.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TComYuv.cpp; sourceTree = "<group>"; };
    396396                784870161B0B62C70098FD5A /* TComYuv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TComYuv.h; sourceTree = "<group>"; };
    397                 784870171B0B62C70098FD5A /* TypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeDef.h; sourceTree = "<group>"; };
     397                784870171B0B62C70098FD5A /* TypeDef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = TypeDef.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
    398398                784870191B0B62C70098FD5A /* AnnexBread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AnnexBread.cpp; sourceTree = "<group>"; };
    399399                7848701A1B0B62C70098FD5A /* AnnexBread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnnexBread.h; sourceTree = "<group>"; };
     
    415415                7848702A1B0B62C70098FD5A /* TDecGop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecGop.cpp; sourceTree = "<group>"; };
    416416                7848702B1B0B62C70098FD5A /* TDecGop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecGop.h; sourceTree = "<group>"; };
    417                 7848702C1B0B62C70098FD5A /* TDecSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSbac.cpp; sourceTree = "<group>"; };
    418                 7848702D1B0B62C70098FD5A /* TDecSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSbac.h; sourceTree = "<group>"; };
     417                7848702C1B0B62C70098FD5A /* TDecSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = TDecSbac.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
     418                7848702D1B0B62C70098FD5A /* TDecSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = TDecSbac.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
    419419                7848702E1B0B62C70098FD5A /* TDecSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TDecSlice.cpp; sourceTree = "<group>"; };
    420420                7848702F1B0B62C70098FD5A /* TDecSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TDecSlice.h; sourceTree = "<group>"; };
     
    453453                784870511B0B62C70098FD5A /* TEncSampleAdaptiveOffset.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSampleAdaptiveOffset.cpp; sourceTree = "<group>"; };
    454454                784870521B0B62C70098FD5A /* TEncSampleAdaptiveOffset.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSampleAdaptiveOffset.h; sourceTree = "<group>"; };
    455                 784870531B0B62C70098FD5A /* TEncSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSbac.cpp; sourceTree = "<group>"; };
    456                 784870541B0B62C70098FD5A /* TEncSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSbac.h; sourceTree = "<group>"; };
    457                 784870551B0B62C70098FD5A /* TEncSearch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSearch.cpp; sourceTree = "<group>"; };
    458                 784870561B0B62C70098FD5A /* TEncSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSearch.h; sourceTree = "<group>"; };
     455                784870531B0B62C70098FD5A /* TEncSbac.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = TEncSbac.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
     456                784870541B0B62C70098FD5A /* TEncSbac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = TEncSbac.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
     457                784870551B0B62C70098FD5A /* TEncSearch.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = TEncSearch.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
     458                784870561B0B62C70098FD5A /* TEncSearch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = TEncSearch.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
    459459                784870571B0B62C70098FD5A /* TEncSlice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TEncSlice.cpp; sourceTree = "<group>"; };
    460460                784870581B0B62C70098FD5A /* TEncSlice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TEncSlice.h; sourceTree = "<group>"; };
  • branches/HTM-14.1-update-dev1-RWTH/source/App/TAppEncoder/TAppEncTop.cpp

    r1219 r1221  
    24852485      dlt.setUseBitmapRep(layer, bDltBitMapRepFlag);
    24862486     
    2487 #ifdef DEBUG
    2488       printf("---------------------------------------------\n");
    2489       printf("LayerId: %d\n", layer);
    2490       printf("getUseDLTFlag: %d\n", dlt.getUseDLTFlag(layer));
    2491       printf("getInterViewDltPredEnableFlag: %d\n", dlt.getInterViewDltPredEnableFlag(layer));
    2492       printf("getUseBitmapRep: %d\n", dlt.getUseBitmapRep(layer));
    2493       printf("getNumDepthValues: %d\n", dlt.getNumDepthValues(layer));
    2494       for(Int i=0; i<dlt.getNumDepthValues(layer); i++)
    2495         printf("depthValue[%d] = %d\n", i, dlt.idx2DepthValue(layer, i));
    2496 #endif
     2487//#ifdef DEBUG
     2488//      printf("---------------------------------------------\n");
     2489//      printf("LayerId: %d\n", layer);
     2490//      printf("getUseDLTFlag: %d\n", dlt.getUseDLTFlag(layer));
     2491//      printf("getInterViewDltPredEnableFlag: %d\n", dlt.getInterViewDltPredEnableFlag(layer));
     2492//      printf("getUseBitmapRep: %d\n", dlt.getUseBitmapRep(layer));
     2493//      printf("getNumDepthValues: %d\n", dlt.getNumDepthValues(layer));
     2494//      for(Int i=0; i<dlt.getNumDepthValues(layer); i++)
     2495//        printf("depthValue[%d] = %d\n", i, dlt.idx2DepthValue(layer, i));
     2496//#endif
    24972497    }
    24982498  }
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/ContextTables.h

    r1209 r1221  
    177177#define NUM_DMM_MODE_CTX              1       ///< number of context models for DMM modes
    178178#endif
    179 #if NH_3D_DMM || NH_3D_SDC
     179#if NH_3D_DMM || NH_3D_INTRA_SDC
    180180#define NUM_DDC_DATA_CTX              1       ///< number of context models for deltaDC data (DMM or SDC)
    181181#endif
    182 #if H_3D_DIM_SDC
     182#if NH_3D_INTRA_SDC
    183183#define SDC_NUM_RESIDUAL_FLAG_CTX     1
    184184#define SDC_NUM_RESIDUAL_CTX          1
     
    577577};
    578578#endif
    579 #if NH_3D_DMM || NH_3D_SDC
     579#if NH_3D_DMM || NH_3D_INTRA_SDC
    580580static const UChar
    581581INIT_DDC_DATA[3][NUM_DDC_DATA_CTX] =
     
    586586};
    587587#endif
    588 #if H_3D_DIM_SDC
     588#if NH_3D_INTRA_SDC
    589589static const UChar
    590590INIT_SDC_RESIDUAL_FLAG[3][SDC_NUM_RESIDUAL_FLAG_CTX] =
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComCodingStatistics.h

    r1209 r1221  
    9393  STATS__CABAC_BITS__ALIGNED_ESCAPE_BITS,
    9494
    95 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     95#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    9696  STATS__CABAC_BITS__DELTADC_SIGN_EP,
    9797  STATS__CABAC_BITS__DELTADC_PREFIX,
     
    154154    "CABAC_BITS__ALIGNED_SIGN_BIT",
    155155    "CABAC_BITS__ALIGNED_ESCAPE_BITS"
    156 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     156#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    157157   ,"STATS__CABAC_BITS__DELTADC_SIGN_EP"
    158158   ,"STATS__CABAC_BITS__DELTADC_PREFIX"
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComDataCU.cpp

    r1209 r1221  
    112112  m_dmm1WedgeTabIdx = NULL;
    113113#endif
    114 #if H_3D_DIM_SDC
     114#if NH_3D_INTRA_SDC
    115115  m_pbSDCFlag             = NULL;
    116116  m_apSegmentDCOffset[0]  = NULL;
     
    258258    m_dmm1WedgeTabIdx    = (UInt*)xMalloc(UInt, uiNumPartition);
    259259#endif
    260 #if H_3D_DIM_SDC
     260#if NH_3D_INTRA_SDC
    261261    m_pbSDCFlag             = (Bool*)xMalloc(Bool, uiNumPartition);
    262262    m_apSegmentDCOffset[0]  = (Pel*)xMalloc(Pel, uiNumPartition);
     
    473473    if ( m_dmm1WedgeTabIdx    ) { xFree( m_dmm1WedgeTabIdx );  m_dmm1WedgeTabIdx = NULL;  }
    474474#endif
    475 #if H_3D_DIM_SDC
     475#if NH_3D_INTRA_SDC
    476476    if ( m_pbSDCFlag            ) { xFree(m_pbSDCFlag);             m_pbSDCFlag             = NULL; }
    477477    if ( m_apSegmentDCOffset[0] ) { xFree(m_apSegmentDCOffset[0]);  m_apSegmentDCOffset[0]  = NULL; }
     
    614614    m_pbSPIVMPFlag[ui] = pcFrom->m_pbSPIVMPFlag[ui];
    615615#endif
    616 #if H_3D_DIM_SDC
    617     m_pbSDCFlag[ui] = pcFrom->m_pbSDCFlag[ui];
     616#if NH_3D_INTRA_SDC
     617  memset( m_pbSDCFlag, false, m_uiNumPartition * sizeof( *m_pbSDCFlag ) );
    618618#endif
    619619#if H_3D_DBBP
     
    653653  memset( m_dmm1WedgeTabIdx,    0,                        m_uiNumPartition * sizeof( *m_dmm1WedgeTabIdx   ) );
    654654#endif
    655 #if H_3D_DIM_SDC
    656     memset( m_pbSDCFlag             + firstElement,     0,                numElements * sizeof( *m_pbSDCFlag            ) );
    657     memset( m_apSegmentDCOffset[0]  + firstElement,     0,                numElements * sizeof( *m_apSegmentDCOffset[0] ) );
    658     memset( m_apSegmentDCOffset[1]  + firstElement,     0,                numElements * sizeof( *m_apSegmentDCOffset[1] ) );
     655#if NH_3D_INTRA_SDC
     656    memset( m_pbSDCFlag,     false,                m_uiNumPartition * sizeof( *m_pbSDCFlag ) );
     657    memset( m_apSegmentDCOffset[0],     0,                m_uiNumPartition * sizeof( *m_apSegmentDCOffset[0] ) );
     658    memset( m_apSegmentDCOffset[1],     0,                m_uiNumPartition * sizeof( *m_apSegmentDCOffset[1] ) );
    659659#if !TEMP_SDC_CLEANUP // PM: should be obsolete after cleanup
    660660    m_apDmmPredictor[0] = 0;
     
    811811    m_dmm1WedgeTabIdx    [ui] = 0;
    812812#endif
    813 #if H_3D_DIM_SDC
     813#if NH_3D_INTRA_SDC
    814814      m_pbSDCFlag           [ui] = false;
    815815      m_apSegmentDCOffset[0][ui] = 0;
     
    917917  memset( m_dmm1WedgeTabIdx,    0, sizeof(UInt) * m_uiNumPartition );
    918918#endif
    919 #if H_3D_DIM_SDC
     919#if NH_3D_INTRA_SDC
    920920  memset( m_pbSDCFlag,            0, sizeof(Bool) * m_uiNumPartition  );
    921921  memset( m_apSegmentDCOffset[0], 0, sizeof(Pel) * m_uiNumPartition   );
     
    974974  m_dmm1WedgeTabIdx    [ui] = pcCU->m_dmm1WedgeTabIdx  [uiPartOffset+ui];
    975975#endif
    976 #if H_3D_DIM_SDC
    977       m_pbSDCFlag           [ui] = pcCU->m_pbSDCFlag            [ uiPartOffset + ui ];
    978       m_apSegmentDCOffset[0][ui] = pcCU->m_apSegmentDCOffset[0] [ uiPartOffset + ui ];
    979       m_apSegmentDCOffset[1][ui] = pcCU->m_apSegmentDCOffset[1] [ uiPartOffset + ui ];
     976#if NH_3D_INTRA_SDC
     977    m_pbSDCFlag           [ui] = pcCU->m_pbSDCFlag            [ uiPartOffset + ui ];
     978    m_apSegmentDCOffset[0][ui] = pcCU->m_apSegmentDCOffset[0] [ uiPartOffset + ui ];
     979    m_apSegmentDCOffset[1][ui] = pcCU->m_apSegmentDCOffset[1] [ uiPartOffset + ui ];
    980980#endif
    981981#if H_3D_DBBP
     
    10921092  m_dmm1WedgeTabIdx    = pcCU->getDmm1WedgeTabIdx()  + uiPart;
    10931093#endif
    1094 #if H_3D_DIM_SDC
     1094#if NH_3D_INTRA_SDC
    10951095  m_pbSDCFlag               = pcCU->getSDCFlag()              + uiPart;
    10961096  m_apSegmentDCOffset[0]    = pcCU->getSDCSegmentDCOffset(0)  + uiPart;
     
    12941294  memcpy( m_dmm1WedgeTabIdx    + uiOffset, pcCU->getDmm1WedgeTabIdx(),         sizeof(UInt) * uiNumPartition );
    12951295#endif
    1296 #if H_3D_DIM_SDC
    1297   memcpy( m_pbSDCFlag             + uiOffset, pcCU->getSDCFlag(),             iSizeInBool  );
     1296#if NH_3D_INTRA_SDC
     1297  memcpy( m_pbSDCFlag             + uiOffset, pcCU->getSDCFlag(), sizeof( *m_pbSDCFlag ) * uiNumPartition  );
    12981298  memcpy( m_apSegmentDCOffset[0]  + uiOffset, pcCU->getSDCSegmentDCOffset(0), sizeof( Pel ) * uiNumPartition);
    12991299  memcpy( m_apSegmentDCOffset[1]  + uiOffset, pcCU->getSDCSegmentDCOffset(1), sizeof( Pel ) * uiNumPartition);
     
    14171417  memcpy( pCtu->getDmm1WedgeTabIdx()           + m_absZIdxInCtu, m_dmm1WedgeTabIdx,  sizeof(UInt) * m_uiNumPartition );
    14181418#endif
    1419 #if H_3D_DIM_SDC
    1420   memcpy( rpcCU->getSDCFlag()             + m_uiAbsIdxInLCU, m_pbSDCFlag,      iSizeInBool );
    1421   memcpy( rpcCU->getSDCSegmentDCOffset(0) + m_uiAbsIdxInLCU, m_apSegmentDCOffset[0], sizeof( Pel ) * m_uiNumPartition);
    1422   memcpy( rpcCU->getSDCSegmentDCOffset(1) + m_uiAbsIdxInLCU, m_apSegmentDCOffset[1], sizeof( Pel ) * m_uiNumPartition);
     1419#if NH_3D_INTRA_SDC
     1420  memcpy( pCtu->getSDCFlag()             + m_absZIdxInCtu, m_pbSDCFlag, sizeof(Bool) * m_uiNumPartition );
     1421  memcpy( pCtu->getSDCSegmentDCOffset(0) + m_absZIdxInCtu, m_apSegmentDCOffset[0], sizeof( Pel ) * m_uiNumPartition);
     1422  memcpy( pCtu->getSDCSegmentDCOffset(1) + m_absZIdxInCtu, m_apSegmentDCOffset[1], sizeof( Pel ) * m_uiNumPartition);
    14231423#endif
    14241424#if H_3D_DBBP
     
    14781478#if H_3D_SPIVMP
    14791479  memcpy( rpcCU->getSPIVMPFlag()        + uiPartOffset, m_pbSPIVMPFlag,        sizeof(Bool) * uiQNumPart );
    1480 #endif
    1481 #if H_3D_DIM_SDC
    1482   memcpy( rpcCU->getSDCFlag()             + uiPartOffset, m_pbSDCFlag,      iSizeInBool  );
    1483   memcpy( rpcCU->getSDCSegmentDCOffset(0) + uiPartOffset, m_apSegmentDCOffset[0], sizeof( Pel ) * uiQNumPart);
    1484   memcpy( rpcCU->getSDCSegmentDCOffset(1) + uiPartOffset, m_apSegmentDCOffset[1], sizeof( Pel ) * uiQNumPart);
    14851480#endif
    14861481#if H_3D_DBBP
     
    21362131#endif
    21372132
    2138 #if H_3D_DIM_SDC
    2139 UInt TComDataCU::getCtxSDCFlag( UInt uiAbsPartIdx )
    2140 {
    2141   return 0;
    2142 }
    2143 
    2144 #endif
    2145 
    21462133
    21472134UInt TComDataCU::getCtxInterDir( UInt uiAbsPartIdx )
     
    23952382}
    23962383
    2397 #if H_3D_DIM_SDC
    2398 Void TComDataCU::setSDCFlagSubParts ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiDepth )
     2384#if NH_3D_INTRA_SDC
     2385Void TComDataCU::setSDCFlagSubParts ( Bool bSDCFlag, UInt absPartIdx, UInt depth )
    23992386{
    24002387  assert( sizeof( *m_pbSDCFlag) == 1 );
    2401   memset( m_pbSDCFlag + uiAbsPartIdx, bSDCFlag, m_pcPic->getNumPartInCU() >> ( 2 * uiDepth ) );
     2388  memset( m_pbSDCFlag + absPartIdx, bSDCFlag, m_pcPic->getNumPartitionsInCtu() >> ( 2 * depth ) );
    24022389}
    24032390
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComDataCU.h

    r1209 r1221  
    186186  UInt*         m_dmm1WedgeTabIdx;
    187187#endif
    188 #if H_3D_DIM_SDC
     188#if NH_3D_INTRA_SDC
    189189  Bool*         m_pbSDCFlag;
    190190  Pel*          m_apSegmentDCOffset[2];
     
    563563  Void  setDmm1WedgeTabIdxSubParts    ( UInt tabIdx, UInt uiAbsPartIdx, UInt uiDepth );
    564564#endif
    565 #if H_3D_DIM_SDC
     565#if NH_3D_INTRA_SDC
    566566  Bool*         getSDCFlag          ()                        { return m_pbSDCFlag;               }
    567567  Bool          getSDCFlag          ( UInt uiIdx )            { return m_pbSDCFlag[uiIdx];        }
     
    577577  Pel           getDmmPredictor ( UInt uiSeg) { return m_apDmmPredictor[uiSeg]; }
    578578#endif
    579   UInt          getCtxSDCFlag          ( UInt   uiAbsPartIdx );
    580579#endif
    581580 
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComPrediction.cpp

    r1219 r1221  
    535535  assert( iWidth == iHeight  );
    536536  assert( iWidth >= DMM_MIN_SIZE && iWidth <= DMM_MAX_SIZE );
    537 #if H_3D_DIM_SDC
     537#if NH_3D_INTRA_SDC
    538538  assert( !pcCU->getSDCFlag( uiAbsPartIdx ) );
    539539#endif
     
    569569  assignBiSegDCs( pDst, uiStride, biSegPattern, patternStride, segDC1, segDC2 );
    570570#if !TEMP_SDC_CLEANUP // PM: should be obsolete after cleanup
    571 #if H_3D_DIM_SDC 
     571#if NH_3D_INTRA_SDC
    572572  pcCU->setDmmPredictor(segDC1, 0);
    573573  pcCU->setDmmPredictor(segDC2, 1);
     
    23892389
    23902390#if TEMP_SDC_CLEANUP // PM: consider this cleanup for SDC
    2391 #if NH_3D_SDC
     2391#if NH_3D_INTRA_SDC
    23922392Void TComPrediction::predConstantSDC( Pel* ptrSrc, UInt srcStride, UInt uiSize, Pel& predDC )
    23932393{
     
    24002400#endif
    24012401#else // PM: should be obsolete after cleanup
    2402 #if H_3D_DIM_SDC
     2402#if NH_3D_INTRA_SDC
    24032403Void TComPrediction::analyzeSegmentsSDC( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride
    24042404                                         ,UInt uiIntraMode
     
    24652465  }
    24662466}
    2467 #endif // H_3D_DIM_SDC
     2467#endif // NH_3D_INTRA_SDC
    24682468#endif
    24692469
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComPrediction.h

    r1209 r1221  
    171171#endif
    172172#if TEMP_SDC_CLEANUP // PM: consider this cleanup for SDC
    173 #if NH_3D_SDC
     173#if NH_3D_INTRA_SDC
    174174  Void predConstantSDC            ( Pel* ptrSrc, UInt srcStride, UInt uiSize, Pel& predDC );
    175175#endif
    176176#else // PM: should be obsolete after cleanup
    177 #if H_3D_DIM_SDC
     177#if NH_3D_INTRA_SDC
    178178  Void analyzeSegmentsSDC         ( Pel* pOrig, UInt uiStride, UInt uiSize, Pel* rpSegMeans, UInt uiNumSegments, Bool* pMask, UInt uiMaskStride, UInt uiIntraMode, Bool orgDC=false );
    179179#endif
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComRom.cpp

    r1209 r1221  
    543543UInt64 g_nSymbolCounter = 0;
    544544#if H_MV_ENC_DEC_TRAC
    545 Bool g_traceCU = false;
     545Bool g_traceCU = true;
    546546Bool g_tracePU = false;
    547547Bool g_traceTU = false;
    548 Bool g_disableNumbering = false;
    549 Bool g_disableHLSTrace = false;
     548Bool g_disableNumbering = true;
     549Bool g_disableHLSTrace = true;
    550550UInt64 g_stopAtCounter       = 937234;
    551551Bool g_traceCopyBack         = false;
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComRom.h

    r1219 r1221  
    157157// Change later
    158158#ifndef ENC_DEC_TRACE
    159 #define ENC_DEC_TRACE 0
     159#define ENC_DEC_TRACE 1
    160160#endif
    161161#endif
     
    176176#define DTRACE_CABAC_R( x,y ) if ( ( g_nSymbolCounter >= COUNTER_START && g_nSymbolCounter <= COUNTER_END )|| g_bJustDoIt ) fprintf( g_hTrace, x,    y );
    177177#define DTRACE_CABAC_N        if ( ( g_nSymbolCounter >= COUNTER_START && g_nSymbolCounter <= COUNTER_END )|| g_bJustDoIt ) fprintf( g_hTrace, "\n"    );
     178
    178179#if H_MV_ENC_DEC_TRAC
    179180 extern Bool   g_traceCU;
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TypeDef.h

    r1219 r1221  
    7070#define NH_3D_VSO                         1
    7171#define NH_3D_DMM                         1   // Depth modeling modes
    72 #define NH_3D_SDC                         1   // Segment-wise DC coding for intra and inter
    73 #define NH_3D_DLT                         1   // Depth Lookup Table
     72#define NH_3D_DLT                         0   // Depth Lookup Table
     73#define NH_3D_INTRA_SDC                   1   // Segment-wise DC Coding method for INTRA
    7474#define NH_3D_ENC_DEPTH                   1   // Encoder optimizations for depth, incl.
    7575                                              // HHI_DEPTH_INTRA_SEARCH_RAU_C0160
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1219 r1221  
    628628        }
    629629       
    630 #ifdef DEBUG
    631         printf("---------------------------------------------\n");
    632         printf("LayerId: %d\n", layerId);
    633         printf("getUseDLTFlag: %d\n", pcDLT->getUseDLTFlag(layerId));
    634         printf("getInterViewDltPredEnableFlag: %d\n", pcDLT->getInterViewDltPredEnableFlag(layerId));
    635         printf("getUseBitmapRep: %d\n", pcDLT->getUseBitmapRep(layerId));
    636         printf("getNumDepthValues: %d\n", pcDLT->getNumDepthValues(layerId));
    637         for(Int i=0; i<pcDLT->getNumDepthValues(layerId); i++)
    638           printf("depthValue[%d] = %d\n", i, pcDLT->idx2DepthValue(layerId, i));
    639 #endif
     630//#ifdef DEBUG
     631//        printf("---------------------------------------------\n");
     632//        printf("LayerId: %d\n", layerId);
     633//        printf("getUseDLTFlag: %d\n", pcDLT->getUseDLTFlag(layerId));
     634//        printf("getInterViewDltPredEnableFlag: %d\n", pcDLT->getInterViewDltPredEnableFlag(layerId));
     635//        printf("getUseBitmapRep: %d\n", pcDLT->getUseBitmapRep(layerId));
     636//        printf("getNumDepthValues: %d\n", pcDLT->getNumDepthValues(layerId));
     637//        for(Int i=0; i<pcDLT->getNumDepthValues(layerId); i++)
     638//          printf("depthValue[%d] = %d\n", i, pcDLT->idx2DepthValue(layerId, i));
     639//#endif
    640640      }
    641641    }
     
    33903390}
    33913391#endif
    3392 #if H_3D_INTER_SDC
     3392#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    33933393Void TDecCavlc::parseSDCFlag    ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    33943394{
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCAVLC.h

    r1209 r1221  
    123123  Void  parseICFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    124124#endif
    125 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     125#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    126126  Void  parseDeltaDC        ( TComDataCU* /*pcCU*/, UInt /*absPartIdx*/, UInt /*depth*/ ) { assert(0); };
    127127#endif
    128 #if H_3D_INTER_SDC
     128#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    129129  Void  parseSDCFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    130130#endif
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.cpp

    r1219 r1221  
    527527    if(pcCU->getIPCMFlag(uiAbsPartIdx))
    528528    {
    529 #if H_3D_DIM_SDC
     529#if NH_3D_INTRA_SDC
    530530      m_pcEntropyDecoder->decodeSDCFlag( pcCU, uiAbsPartIdx, uiDepth );
    531531#endif
     
    642642      break;
    643643    case MODE_INTRA:
    644 #if H_3D
    645     if( m_ppcCU[uiDepth]->getDISFlag(0) )
    646     {
    647       xReconDIS( m_ppcCU[uiDepth], 0, uiDepth );
    648     }
    649 #if H_3D_DIM_SDC
     644#if NH_3D
     645    if( false /*m_ppcCU[uiDepth]->getDISFlag(0)*/ )
     646    {
     647      //xReconDIS( m_ppcCU[uiDepth], 0, uiDepth );
     648    }
     649#if NH_3D_INTRA_SDC
    650650    else if( m_ppcCU[uiDepth]->getSDCFlag(0) )
    651651    {
     
    11831183}
    11841184
    1185 #if H_3D_DIM_SDC
     1185#if NH_3D_INTRA_SDC
    11861186Void TDecCu::xReconIntraSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    11871187{
     
    11911191  TComYuv* pcResiYuv  = m_ppcYuvResi[uiDepth];
    11921192
    1193   Bool bAboveAvail    = false;
    1194   Bool bLeftAvail     = false;
    11951193  UInt uiWidth        = pcCU->getWidth ( 0 );
    11961194  UInt uiHeight       = pcCU->getHeight( 0 );
    11971195  UInt uiLumaPredMode = pcCU->getIntraDir( CHANNEL_TYPE_LUMA, uiAbsPartIdx );
     1196  const Int bitDepthY = pcCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA);
     1197  const TComSPS     &sps    = *(pcCU->getSlice()->getSPS());
     1198  const ChromaFormat chFmt  = pcCU->getPic()->getChromaFormat();
    11981199
    11991200  UInt sdcDepth = 0;
     
    12031204  Pel* piResi;
    12041205
    1205   UInt uiZOrder;       
    1206   Pel* piRecIPred;     
     1206  Pel* piRecIPred;
    12071207  UInt uiRecIPredStride;
    12081208 
     
    12141214
    12151215#if NH_3D_DMM
    1216   TComWedgelet* dmm4Segmentation = NULL;
    12171216  if( isDmmMode( uiLumaPredMode ) )
    12181217  {
     
    12621261    uiNumSegments = 1;
    12631262
    1264     UInt numParts = 1;
    1265     UInt uiSubPartIdx = uiAbsPartIdx;
    1266 
    1267     if ((uiWidth >> pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize()) > 1)
    1268     {
    1269       numParts = uiWidth * uiWidth >> (2 * pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize());
     1263    if( ( uiWidth >> pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize() ) > 1 )
     1264    {
    12701265      sdcDepth = g_aucConvertToBit[uiWidth] + 2 - pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize();
    1271       uiWidth = uiHeight = (1 << pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize());
    1272     }
    1273 
    1274     for ( Int i = 0; i < numParts; i++ )
    1275     {
    1276       uiStride    = pcRecoYuv->getStride  ();
    1277       piReco      = pcRecoYuv->getLumaAddr( uiSubPartIdx );
    1278       piPred      = pcPredYuv->getLumaAddr( uiSubPartIdx );
    1279       piResi      = pcResiYuv->getLumaAddr( uiSubPartIdx );
    1280 
    1281       uiZOrder          = pcCU->getZorderIdxInCU() + uiSubPartIdx;
    1282       piRecIPred        = pcCU->getPic()->getPicYuvRec()->getLumaAddr( pcCU->getAddr(), uiZOrder );
    1283       uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride  ();
    1284 
    1285       AOF( uiWidth == uiHeight );
    1286 
    1287       //===== init availability pattern =====
    1288       pcCU->getPattern()->initPattern   ( pcCU, sdcDepth, uiSubPartIdx );
    1289       pcCU->getPattern()->initAdiPattern( pcCU, uiSubPartIdx, sdcDepth, m_pcPrediction->getPredicBuf(), m_pcPrediction->getPredicBufWidth(), m_pcPrediction->getPredicBufHeight(), bAboveAvail, bLeftAvail );
    1290 
    1291       m_pcPrediction->predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
    1292 
    1293       if ( numParts > 1 )
    1294       {
    1295         for( UInt uiY = 0; uiY < uiHeight; uiY++ )
    1296         {
    1297           for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    1298           {
    1299             piReco        [ uiX ] = ClipY( piPred[ uiX ] );
    1300             piRecIPred    [ uiX ] = piReco[ uiX ];
    1301           }
    1302           piPred     += uiStride;
    1303           piReco     += uiStride;
    1304           piRecIPred += uiRecIPredStride;
    1305         }
    1306       }
    1307       uiSubPartIdx += ( (uiWidth * uiWidth) >> 4 );
    1308     }
     1266    }
     1267   
     1268    //===== loop over partitions =====
     1269    TComTURecurse tuRecurseCU(pcCU, 0);
     1270    TComTURecurse tuRecurseWithPU(tuRecurseCU, false, (sdcDepth==0)?TComTU::DONT_SPLIT:TComTU::QUAD_SPLIT);
     1271
     1272    do
     1273    {
     1274      const TComRectangle &puRect = tuRecurseWithPU.getRect(COMPONENT_Y);
     1275      const UInt uiAbsPartIdxTU = tuRecurseWithPU.GetAbsPartIdxTU();
     1276     
     1277      Pel* piPredTU        = pcPredYuv->getAddr   ( COMPONENT_Y, uiAbsPartIdxTU );
     1278      UInt uiStrideTU      = pcPredYuv->getStride ( COMPONENT_Y );
     1279     
     1280      //===== init pattern for luma prediction =====
     1281      Bool bAboveAvail = false;
     1282      Bool bLeftAvail  = false;
     1283     
     1284      if (tuRecurseWithPU.ProcessComponentSection(COMPONENT_Y))
     1285      {
     1286        m_pcPrediction->initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, true DEBUG_STRING_PASS_INTO(sTemp2) );
     1287      }
     1288     
     1289      const Bool bUseFilter = TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, uiLumaPredMode, puRect.width, puRect.height, chFmt, sps.getSpsRangeExtension().getIntraSmoothingDisabledFlag());
     1290     
     1291      m_pcPrediction->predIntraAng( COMPONENT_Y, uiLumaPredMode, NULL, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter, TComPrediction::UseDPCMForFirstPassIntraEstimation(tuRecurseWithPU, uiLumaPredMode) );
     1292     
     1293    } while (tuRecurseWithPU.nextSection(tuRecurseCU));
    13091294
    13101295    // reset to full block
     
    13121297    uiHeight = pcCU->getHeight( 0 );
    13131298
    1314     piReco            = pcRecoYuv->getLumaAddr( uiAbsPartIdx );
    1315     piPred            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
    1316     piResi            = pcResiYuv->getLumaAddr( uiAbsPartIdx );
    1317 
    1318     uiZOrder          = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
    1319     piRecIPred        = pcCU->getPic()->getPicYuvRec()->getLumaAddr( pcCU->getAddr(), uiZOrder );
    1320     uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride  ();
     1299    uiStride          = pcRecoYuv->getStride( COMPONENT_Y );
     1300    piReco            = pcRecoYuv->getAddr  ( COMPONENT_Y, uiAbsPartIdx );
     1301    piPred            = pcPredYuv->getAddr  ( COMPONENT_Y, uiAbsPartIdx );
     1302    piResi            = pcResiYuv->getAddr  ( COMPONENT_Y, uiAbsPartIdx );
     1303   
     1304    piRecIPred        = pcCU->getPic()->getPicYuvRec()->getAddr  ( COMPONENT_Y, pcCU->getCtuRsAddr(), pcCU->getZorderIdxInCtu() + uiAbsPartIdx );
     1305    uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride( COMPONENT_Y );
    13211306
    13221307    m_pcPrediction->predConstantSDC( piPred, uiStride, uiWidth, apDCPredValues[0] ); apDCPredValues[1] = 0;
     
    14881473      Pel pResiDC = apDCResiValues[ucSegment];
    14891474     
    1490       pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResiDC );
     1475      pReco    [ uiX ] = ClipBD( pPred[ uiX ] + pResiDC, bitDepthY );
    14911476      pRecIPred[ uiX ] = pReco[ uiX ];
    14921477    }
     
    14981483  }
    14991484 
    1500   // clear UV
    1501   UInt  uiStrideC     = pcPredYuv->getCStride();
    1502   Pel   *pRecCb       = pcPredYuv->getCbAddr();
    1503   Pel   *pRecCr       = pcPredYuv->getCrAddr();
     1485  // clear chroma
     1486  UInt  uiStrideC     = pcPredYuv->getStride( COMPONENT_Cb );
     1487  Pel   *pRecCb       = pcPredYuv->getAddr  ( COMPONENT_Cb, uiAbsPartIdx );
     1488  Pel   *pRecCr       = pcPredYuv->getAddr  ( COMPONENT_Cr, uiAbsPartIdx );
    15041489 
    15051490  for (Int y=0; y<uiHeight/2; y++)
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.h

    r1200 r1221  
    127127  Void xReconDIS               ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    128128#endif
    129 #if H_3D_DIM_SDC
     129#if NH_3D_INTRA_SDC
    130130  Void xReconIntraSDC           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    131131#endif
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1209 r1221  
    162162  {
    163163    decodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx, uiDepth );
    164 #if H_3D_DIM_SDC
     164#if NH_3D_INTRA_SDC
    165165    decodeSDCFlag   ( pcCU, uiAbsPartIdx, uiDepth );
    166     if(!pcCU->getSDCFlag(uiAbsPartIdx))
    167166#endif
    168167    if (pcCU->getPic()->getChromaFormat()!=CHROMA_400)
     
    961960Void TDecEntropy::decodeCoeff( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool& bCodeDQP, Bool& isChromaQpAdjCoded )
    962961{
    963 #if H_3D_DIM_SDC
     962#if NH_3D_INTRA_SDC
    964963  if( pcCU->getSDCFlag( uiAbsPartIdx ) && pcCU->isIntra( uiAbsPartIdx) )
    965964  {
    966965    assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
    967966    assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
    968     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
    969     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
    970     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
     967    assert( pcCU->getCbf(uiAbsPartIdx, COMPONENT_Y) == 1 );
    971968}
    972969#endif
     
    982979  if( pcCU->getSlice()->getIsDepth() )
    983980  {
    984 #if H_3D_DIM_SDC || H_3D_INTER_SDC
     981#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    985982    if( pcCU->getSDCFlag( uiAbsPartIdx ) )
    986983    {
     
    10401037}
    10411038
    1042 #if H_3D_INTER_SDC
     1039#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    10431040Void TDecEntropy::decodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    10441041{
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.h

    r1209 r1221  
    9191  virtual Void parseICFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    9292#endif
    93 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     93#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    9494  virtual Void  parseDeltaDC      ( TComDataCU* pcCU, UInt absPartIdx, UInt depth ) = 0;
    9595#endif
    96 #if H_3D_INTER_SDC
     96#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    9797  virtual Void parseSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    9898#endif
     
    183183#endif
    184184
    185 #if H_3D_INTER_SDC
     185#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    186186  Void decodeSDCFlag           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    187187#endif
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.cpp

    r1209 r1221  
    111111, m_cDmmModeSCModel                          ( 1,             1,                      NUM_DMM_MODE_CTX                     , m_contextModels + m_numContextModels, m_numContextModels)
    112112#endif
    113 #if NH_3D_DMM || NH_3D_SDC
     113#if NH_3D_DMM || NH_3D_INTRA_SDC
    114114, m_cDdcDataSCModel                          ( 1,             1,                      NUM_DDC_DATA_CTX                     , m_contextModels + m_numContextModels, m_numContextModels)
    115115#endif
    116 #if H_3D_DIM_SDC
     116#if NH_3D_INTRA_SDC
    117117, m_cSDCResidualFlagSCModel                  ( 1,             1,                     SDC_NUM_RESIDUAL_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    118118, m_cSDCResidualSCModel                      ( 1,             1,                     SDC_NUM_RESIDUAL_CTX                  , m_contextModels + m_numContextModels, m_numContextModels)
     
    202202  m_cDmmModeSCModel.initBuffer                    ( sliceType, qp, (UChar*)INIT_DMM_MODE );
    203203#endif
    204 #if NH_3D_DMM || NH_3D_SDC
     204#if NH_3D_DMM || NH_3D_INTRA_SDC
    205205  m_cDdcDataSCModel.initBuffer                    ( sliceType, qp, (UChar*)INIT_DDC_DATA );
    206206#endif
    207 #if H_3D_DIM_SDC
     207#if NH_3D_INTRA_SDC
    208208  m_cSDCResidualFlagSCModel.initBuffer            ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
    209209  m_cSDCResidualSCModel.initBuffer                ( sliceType, qp, (UChar*)INIT_SDC_RESIDUAL );
     
    247247#if H_3D_IC
    248248  m_cCUICFlagSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_IC_FLAG );
    249 #endif
    250 #if H_3D_DIM_SDC
    251   m_cSDCResidualFlagSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
    252   m_cSDCResidualSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
    253   m_cSDCFlagSCModel.initBuffer            ( eSliceType, iQp, (UChar*)INIT_SDC_FLAG );
    254   m_cDdcFlagSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_DDC_FLAG );
    255249#endif
    256250#if H_3D_DBBP
     
    23402334#endif
    23412335
    2342 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     2336#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    23432337Void TDecSbac::parseDeltaDC( TComDataCU* pcCU, UInt absPartIdx, UInt depth )
    23442338{
    2345 #if H_3D_DIM_SDC || H_3D_INTER_SDC
     2339#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    23462340  if( !(pcCU->getSDCFlag( absPartIdx )) )
    23472341#endif
     
    23522346
    23532347  UInt symbol = 1;
    2354 #if H_3D_DIM_SDC
     2348#if NH_3D_INTRA_SDC
    23552349  if( pcCU->isIntra( absPartIdx ) && pcCU->getSDCFlag( absPartIdx ))
    23562350  {
    23572351    m_pcTDecBinIf->decodeBin( symbol, m_cDdcFlagSCModel.get( 0, 0, 0 ) );
    2358       assert( pcCU->getPartitionSize( absPartIdx ) == SIZE_2Nx2N );
    2359       pcCU->setTrIdxSubParts( 0, absPartIdx, depth );
    2360       pcCU->setCbfSubParts( 1, 1, 1, absPartIdx, depth );
     2352    assert( pcCU->getPartitionSize( absPartIdx ) == SIZE_2Nx2N );
     2353    assert( pcCU->getTransformIdx(absPartIdx) == 0 );
     2354    assert( pcCU->getCbf(absPartIdx, COMPONENT_Y) == 1 );
    23612355    }
    23622356#endif
     
    23762370    if( pcCU->isIntra( absPartIdx ) )
    23772371    {
    2378 #if H_3D_DIM_SDC
     2372#if NH_3D_INTRA_SDC
    23792373      if( pcCU->getSDCFlag( absPartIdx ) )
    23802374      {
     
    23872381        pcCU->setDmmDeltaDC( getDmmType( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx ) ), segment, absPartIdx, valDeltaDC );
    23882382#endif
    2389 #if H_3D_DIM_SDC
     2383#if NH_3D_INTRA_SDC
    23902384      }
    23912385#endif
     
    24152409    }
    24162410  }
     2411 
     2412  DTRACE_CU("delta_dc", rValDeltaDC);
    24172413}
    24182414
     
    25072503}
    25082504#endif
    2509 #if H_3D_INTER_SDC
     2505#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    25102506Void TDecSbac::parseSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    25112507{
    25122508  UInt uiSymbol = 0;
    2513   UInt uiCtxSDCFlag = pcCU->getCtxSDCFlag( uiAbsPartIdx );
    2514 
    2515   m_pcTDecBinIf->decodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, uiCtxSDCFlag ) );
     2509
     2510  m_pcTDecBinIf->decodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, 0 ) );
    25162511  DTRACE_CU("dc_only_flag", uiSymbol)
    25172512  if( uiSymbol )
     
    25192514    pcCU->setSDCFlagSubParts( true, uiAbsPartIdx, uiDepth );
    25202515    pcCU->setTrIdxSubParts( 0, uiAbsPartIdx, uiDepth );
    2521     pcCU->setCbfSubParts( 1, 1, 1, uiAbsPartIdx, uiDepth );
     2516    pcCU->setCbfSubParts(1, COMPONENT_Y, uiAbsPartIdx, uiDepth);
    25222517  }
    25232518  else
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.h

    r1209 r1221  
    107107  Void  xReadCoefRemainExGolomb ( UInt &rSymbol, UInt &rParam, const Bool useLimitedPrefixLength, const Int maxLog2TrDynamicRange );
    108108#endif
    109 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     109#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    110110  Void  xReadExGolombLevelDdc( UInt& ruiSymbol );
    111111  Void  xParseDeltaDC        ( Pel& rValDeltaDC, UInt uiNumSeg );
     
    116116  Void  xParseDmm1WedgeIdx   ( UInt& ruiTabIdx, Int iNumBit );
    117117#endif
    118 #if H_3D_DIM_SDC
     118#if NH_3D_INTRA_SDC
    119119  Void  xParseSDCResidualData     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPart );
    120120#endif
    121 #if H_3D_INTER_SDC
     121#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    122122  Void  parseSDCFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    123123#endif
     
    136136  Void parseDIS          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    137137#endif
    138 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     138#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    139139  Void  parseDeltaDC      ( TComDataCU* pcCU, UInt absPartIdx, UInt depth );
    140140#endif
     
    229229  ContextModel3DBuffer m_cDmmModeSCModel;
    230230#endif
    231 #if NH_3D_DMM || NH_3D_SDC
     231#if NH_3D_DMM || NH_3D_INTRA_SDC
    232232  ContextModel3DBuffer m_cDdcDataSCModel;
    233233#endif
    234 #if H_3D_DIM_SDC 
     234#if NH_3D_INTRA_SDC 
    235235  ContextModel3DBuffer m_cSDCResidualFlagSCModel;
    236236  ContextModel3DBuffer m_cSDCResidualSCModel;
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1219 r1221  
    28432843   assert(0);
    28442844 }
    2845 #if H_3D_INTER_SDC
     2845#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    28462846Void TEncCavlc::codeSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx )
    28472847{
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncCavlc.h

    r1209 r1221  
    126126  Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    127127  Void codeMergeIndex    ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    128 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     128#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    129129  Void  codeDeltaDC      ( TComDataCU* /*pcCU*/, UInt /*absPartIdx*/ ) { assert(0); };
    130130#endif
     
    136136#endif
    137137
    138 #if H_3D_INTER_SDC
     138#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    139139  Void codeSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    140140#endif
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncCu.cpp

    r1209 r1221  
    15971597    if(pcCU->getIPCMFlag(uiAbsPartIdx))
    15981598    {
    1599 #if H_3D_DIM_SDC
    1600       m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
     1599#if NH_3D_INTRA_SDC
     1600      m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx );
    16011601#endif 
    16021602
     
    16121612  m_pcEntropyCoder->encodeDBBPFlag( pcCU, uiAbsPartIdx );
    16131613#endif
    1614 #if H_3D_DIM_SDC
    1615   m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
     1614#if NH_3D_INTRA_SDC
     1615  m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx );
    16161616#endif 
    16171617#if H_3D_ARP
     
    24702470  rpcTempCU->setDISFlagSubParts(true, 0, uiDepth);
    24712471  rpcTempCU->setLumaIntraDirSubParts (DC_IDX, 0, uiDepth);
    2472 #if H_3D_DIM_SDC
     2472#if NH_3D_INTRA_SDC
    24732473  rpcTempCU->setSDCFlagSubParts( false, 0, uiDepth);
    24742474#endif
     
    27002700    m_pcPredSearch->estIntraPredChromaQT( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], resiLuma DEBUG_STRING_PASS_INTO(sTest) );
    27012701  }
    2702 #if H_3D_DIM_SDC
    2703   if( !rpcTempCU->getSDCFlag( 0 ) )
     2702 
     2703#if NH_3D_INTRA_SDC
     2704  if( rpcTempCU->getSDCFlag( 0 ) )
     2705  {
     2706    assert( rpcTempCU->getTransformIdx(0) == 0 );
     2707    assert( rpcTempCU->getCbf(0, COMPONENT_Y) == 1 );
     2708  }
    27042709#endif
    27052710
     
    27202725  m_pcEntropyCoder->encodePredInfo( rpcTempCU, 0 );
    27212726  m_pcEntropyCoder->encodeIPCMInfo(rpcTempCU, 0, true );
    2722 #if H_3D_DIM_SDC
     2727#if NH_3D_INTRA_SDC
    27232728    m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
    27242729#endif
     
    28052810  m_pcEntropyCoder->encodePartSize ( rpcTempCU, 0, uiDepth, true );
    28062811  m_pcEntropyCoder->encodeIPCMInfo ( rpcTempCU, 0, true );
    2807 #if H_3D_DIM_SDC
     2812#if NH_3D_INTRA_SDC
    28082813  m_pcEntropyCoder->encodeSDCFlag( rpcTempCU, 0, true );
    28092814#endif
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncEntropy.cpp

    r1209 r1221  
    514514  {
    515515    encodeIntraDirModeLuma  ( pcCU, uiAbsPartIdx,true );
    516 #if H_3D_DIM_SDC
    517     if(!pcCU->getSDCFlag(uiAbsPartIdx))
    518 #endif
     516   
    519517    if (pcCU->getPic()->getChromaFormat()!=CHROMA_400)
    520518    {
     
    713711#endif
    714712
    715 #if H_3D_DIM_SDC
     713#if NH_3D_INTRA_SDC
    716714  if( pcCU->getSDCFlag( uiAbsPartIdx ) && pcCU->isIntra( uiAbsPartIdx ) )
    717715  {
    718716    assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
    719717    assert( pcCU->getTransformIdx(uiAbsPartIdx) == 0 );
    720     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_LUMA) == 1 );
    721     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_U) == 1 );
    722     assert( pcCU->getCbf(uiAbsPartIdx, TEXT_CHROMA_V) == 1 );
     718    assert( pcCU->getCbf(uiAbsPartIdx, COMPONENT_Y) == 1 );
    723719  }
    724720#endif
     
    734730  if( pcCU->getSlice()->getIsDepth() )
    735731  {
    736 #if H_3D_DIM_SDC || H_3D_INTER_SDC
     732#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    737733    if( pcCU->getSDCFlag( uiAbsPartIdx ) )
    738734    {
     
    843839}
    844840
    845 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     841#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    846842Void TEncEntropy::encodeDeltaDC  ( TComDataCU* pcCU, UInt absPartIdx )
    847843{
     
    849845}
    850846#endif
    851 #if H_3D_INTER_SDC
     847#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    852848Void TEncEntropy::encodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    853849{
     850  if( bRD )
     851  {
     852    uiAbsPartIdx = 0;
     853  }
     854 
    854855  if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) ||
    855856    ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) )
     
    863864  }
    864865
    865   assert( pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N || ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->isSkipped( uiAbsPartIdx ) ) );
    866 
    867   if( bRD )
    868   {
    869     uiAbsPartIdx = 0;
    870   }
     866  assert( pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N );
    871867
    872868  m_pcEntropyCoderIf->codeSDCFlag( pcCU, uiAbsPartIdx );
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncEntropy.h

    r1209 r1221  
    8484  virtual Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    8585  virtual Void codeMergeIndex    ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    86 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     86#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    8787  virtual Void codeDeltaDC       ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    8888#endif
     
    9393  virtual Void codeICFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    9494#endif
    95 #if H_3D_INTER_SDC
     95#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    9696  virtual Void codeSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    9797#endif
     
    181181  Void encodeICFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
    182182#endif
    183 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     183#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    184184  Void encodeDeltaDC      ( TComDataCU* pcCU, UInt absPartIdx );
    185185#endif
    186 #if H_3D_INTER_SDC
     186#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    187187  Void encodeSDCFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
    188188#endif
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncSbac.cpp

    r1209 r1221  
    106106, m_cDmmModeSCModel                    ( 1,             1,                      NUM_DMM_MODE_CTX                     , m_contextModels + m_numContextModels, m_numContextModels)
    107107#endif
    108 #if NH_3D_DMM || NH_3D_SDC
     108#if NH_3D_DMM || NH_3D_INTRA_SDC
    109109, m_cDdcDataSCModel                    ( 1,             1,                      NUM_DDC_DATA_CTX                     , m_contextModels + m_numContextModels, m_numContextModels)
    110110#endif
    111 #if H_3D_DIM_SDC                                                                                                     
     111#if NH_3D_INTRA_SDC
    112112, m_cSDCResidualFlagSCModel            ( 1,             1,                      SDC_NUM_RESIDUAL_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels)
    113113, m_cSDCResidualSCModel                ( 1,             1,                      SDC_NUM_RESIDUAL_CTX                 , m_contextModels + m_numContextModels, m_numContextModels)
     
    187187  m_cDmmModeSCModel.initBuffer                    ( eSliceType, iQp, (UChar*)INIT_DMM_MODE );
    188188#endif
    189 #if NH_3D_DMM || NH_3D_SDC
     189#if NH_3D_DMM || NH_3D_INTRA_SDC
    190190  m_cDdcDataSCModel.initBuffer                    ( eSliceType, iQp, (UChar*)INIT_DDC_DATA );
    191191#endif
    192 #if H_3D_DIM_SDC                                 
     192#if NH_3D_INTRA_SDC
    193193  m_cSDCResidualFlagSCModel.initBuffer            ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
    194194  m_cSDCResidualSCModel.initBuffer                ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
     
    243243      curCost += m_cCUICFlagSCModel.calcCost                   ( curSliceType, qp, (UChar*)INIT_IC_FLAG );
    244244#endif                                                     
    245 #if H_3D_DIM_SDC                                           
     245#if NH_3D_INTRA_SDC
    246246      curCost += m_cSDCFlagSCModel.calcCost                    ( curSliceType, qp, (UChar*)INIT_SDC_FLAG );
    247247#endif                                                     
     
    280280      curCost += m_cDmmModeSCModel.calcCost                    ( curSliceType, qp, (UChar*)INIT_DMM_MODE );
    281281#endif
    282 #if NH_3D_DMM || NH_3D_SDC
     282#if NH_3D_DMM || NH_3D_INTRA_SDC
    283283      curCost += m_cDdcDataSCModel.calcCost                    ( curSliceType, qp, (UChar*)INIT_DDC_DATA );
    284284#endif
     
    307307#if H_3D_IC
    308308  m_cCUICFlagSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_IC_FLAG );
    309 #endif
    310 #if H_3D_DIM_SDC
    311   m_cSDCResidualFlagSCModel.initBuffer   ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG );
    312   m_cSDCResidualSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL );
    313   m_cSDCFlagSCModel.initBuffer              ( eSliceType, iQp, (UChar*)INIT_SDC_FLAG );
    314   m_cDdcFlagSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_DDC_FLAG );
    315309#endif
    316310#if H_3D_DBBP
     
    799793Void TEncSbac::codePredMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
    800794{
    801 #if H_3D_DIM_SDC
    802   if ( pcCU->getSlice()->isIntra() )
    803   {
    804     assert( pcCU->isIntra(uiAbsPartIdx) );
    805     return;
    806   }
    807 #endif
    808  
    809795  // get context function is here
    810796  m_pcBinIf->encodeBin( pcCU->isIntra( uiAbsPartIdx ) ? 1 : 0, m_cCUPredModeSCModel.get( 0, 0, 0 ) );
     
    24872473}
    24882474
    2489 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     2475#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    24902476Void TEncSbac::codeDeltaDC( TComDataCU* pcCU, UInt absPartIdx )
    24912477{
    2492 #if H_3D_DIM_SDC || H_3D_INTER_SDC
     2478#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    24932479  if( !(pcCU->getSDCFlag( absPartIdx )) )
    24942480#endif
     
    25042490
    25052491  UInt hasDeltaDC = 1;
    2506 #if H_3D_DIM_SDC
     2492#if NH_3D_INTRA_SDC
    25072493  if( pcCU->isIntra( absPartIdx ) && pcCU->getSDCFlag( absPartIdx ))
    25082494  {
     
    25262512      if( pcCU->isIntra( absPartIdx ) )
    25272513      {
    2528 #if H_3D_DIM_SDC
     2514#if NH_3D_INTRA_SDC
    25292515        if( pcCU->getSDCFlag( absPartIdx ) )
    25302516        {
     
    25372523        deltaDC = pcCU->getDmmDeltaDC( getDmmType( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, absPartIdx ) ), segment, absPartIdx );
    25382524#endif
    2539 #if H_3D_DIM_SDC
     2525#if NH_3D_INTRA_SDC
    25402526        }
    25412527#endif
     
    25542540Void TEncSbac::xCodeDeltaDC( Pel valDeltaDC, UInt uiNumSeg )
    25552541{
     2542  DTRACE_CU("delta_dc", valDeltaDC);
    25562543  xWriteExGolombLevelDdc( UInt( abs( valDeltaDC ) - ( uiNumSeg > 1 ? 0 : 1 ) ) );
    25572544  if( valDeltaDC != 0 )
     
    26392626#endif
    26402627
    2641 #if H_3D_INTER_SDC
     2628#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    26422629Void TEncSbac::codeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    26432630{
    26442631  UInt uiSymbol = pcCU->getSDCFlag( uiAbsPartIdx ) ? 1 : 0;
    2645   UInt uiCtxSDCFlag = pcCU->getCtxSDCFlag( uiAbsPartIdx );
    26462632  DTRACE_CU("dc_only_flag", uiSymbol)
    2647   m_pcBinIf->encodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, uiCtxSDCFlag ) );
     2633  m_pcBinIf->encodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, 0 ) );
    26482634}
    26492635
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncSbac.h

    r1209 r1221  
    115115  Void  xWriteEpExGolomb     ( UInt uiSymbol, UInt uiCount );
    116116  Void  xWriteCoefRemainExGolomb ( UInt symbol, UInt &rParam, const Bool useLimitedPrefixLength, const Int maxLog2TrDynamicRange );
    117 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     117#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    118118  Void  xWriteExGolombLevelDdc( UInt uiSymbol );
    119119  Void  xCodeDeltaDC         ( Pel valDeltaDC, UInt uiNumSeg );
     
    149149  Void codeICFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    150150#endif
    151 #if NH_3D_DMM || H_3D_DIM_SDC || H_3D_INTER_SDC
     151#if NH_3D_DMM || NH_3D_INTRA_SDC || H_3D_INTER_SDC
    152152  Void  codeDeltaDC      ( TComDataCU* pcCU, UInt absPartIdx );
    153153#endif
    154 #if H_3D_INTER_SDC
     154#if NH_3D_INTRA_SDC || H_3D_INTER_SDC
    155155  Void codeSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    156156#endif
     
    252252  ContextModel3DBuffer m_cDmmModeSCModel;
    253253#endif
    254 #if NH_3D_DMM || NH_3D_SDC
     254#if NH_3D_DMM || NH_3D_INTRA_SDC
    255255  ContextModel3DBuffer m_cDdcDataSCModel;
    256256#endif
    257 #if H_3D_DIM_SDC 
     257#if NH_3D_INTRA_SDC 
    258258  ContextModel3DBuffer m_cSDCResidualFlagSCModel;
    259259  ContextModel3DBuffer m_cSDCResidualSCModel;
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncSearch.cpp

    r1219 r1221  
    10311031        if ( pcCU->getIPCMFlag (0))
    10321032        {
    1033 #if H_3D_DIM_SDC
     1033#if NH_3D_INTRA_SDC
    10341034            m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
    10351035#endif
     
    10511051      {
    10521052        m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, 0 );
    1053 #if H_3D_DIM_SDC
     1053#if NH_3D_INTRA_SDC
    10541054          m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
    1055           if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( 0 ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, 0 ) ) ) 
     1055          if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( 0 ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, 0 ) ) )
    10561056          {
    10571057            m_pcEntropyCoder->encodeDeltaDC( pcCU, 0 );
     
    10661066      {
    10671067        m_pcEntropyCoder->encodeIntraDirModeLuma ( pcCU, uiAbsPartIdx );
    1068 #if H_3D_DIM_SDC
     1068#if NH_3D_INTRA_SDC
    10691069          }
    10701070          m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     
    10761076            }
    10771077#endif
    1078 #if H_3D_DIM_SDC
     1078#if NH_3D_INTRA_SDC
    10791079          if( uiAbsPartIdx == 0 ) 
    10801080          {
     
    19741974}
    19751975#endif
    1976 #if H_3D_DIM_SDC
     1976#if NH_3D_INTRA_SDC
    19771977Void TEncSearch::xIntraCodingSDC( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Bool bZeroResidual, Int iSDCDeltaResi  )
    19781978{
    19791979#if TEMP_SDC_CLEANUP // PM: consider this cleanup for DMM and SDC
    1980   Bool bAboveAvail    = false;
    1981   Bool bLeftAvail     = false;
    19821980  UInt uiWidth        = pcCU->getWidth ( 0 );
    19831981  UInt uiHeight       = pcCU->getHeight( 0 );
    19841982  UInt uiLumaPredMode = pcCU->getIntraDir( CHANNEL_TYPE_LUMA, uiAbsPartIdx );
     1983  const Int bitDepthY = pcCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA);
     1984  const TComSPS     &sps    = *(pcCU->getSlice()->getSPS());
     1985  const ChromaFormat chFmt  = pcCU->getPic()->getChromaFormat();
    19851986
    19861987  UInt sdcDepth = 0;
     
    19901991  Pel* piReco;       
    19911992
    1992   UInt uiZOrder;         
    1993   Pel* piRecIPred;       
     1993  Pel* piRecIPred;
    19941994  UInt uiRecIPredStride;
    19951995
     
    20012001  UInt uiMaskStride = 0;
    20022002#if NH_3D_DMM
    2003   TComWedgelet* dmm4Segmentation = NULL;
    20042003  if( isDmmMode( uiLumaPredMode ) )
    20052004  {
     
    20512050#endif
    20522051    uiNumSegments = 1;
    2053 
    2054     UInt numParts = 1;
    2055     UInt uiSubPartIdx = uiAbsPartIdx;
    2056 
     2052   
    20572053    if( ( uiWidth >> pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize() ) > 1 )
    20582054    {
    2059       numParts = uiWidth * uiWidth >> ( 2 * pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize() );
    20602055      sdcDepth = g_aucConvertToBit[uiWidth] + 2 - pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize();
    2061       uiWidth = uiHeight = ( 1 << pcCU->getSlice()->getSPS()->getQuadtreeTULog2MaxSize() );
    2062     }
    2063 
    2064     for ( Int i = 0; i < numParts; i++ )
    2065     {
    2066       uiStride          = pcOrgYuv ->getStride  ();
    2067       piOrg             = pcOrgYuv ->getLumaAddr( uiSubPartIdx );
    2068       piPred            = pcPredYuv->getLumaAddr( uiSubPartIdx );
    2069       piReco            = pcPredYuv->getLumaAddr( uiSubPartIdx );
    2070 
    2071       uiZOrder          = pcCU->getZorderIdxInCU() + uiSubPartIdx;
    2072       piRecIPred        = pcCU->getPic()->getPicYuvRec()->getLumaAddr( pcCU->getAddr(), uiZOrder );
    2073       uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride  ();
    2074 
    2075       AOF( uiWidth == uiHeight );
    2076 
    2077       //===== init availability pattern =====
    2078       pcCU->getPattern()->initPattern   ( pcCU, sdcDepth, uiSubPartIdx );
    2079       pcCU->getPattern()->initAdiPattern( pcCU, uiSubPartIdx, sdcDepth, m_piYuvExt, m_iYuvExtStride, m_iYuvExtHeight, bAboveAvail, bLeftAvail );
    2080 
    2081       predIntraLumaAng( pcCU->getPattern(), uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight, bAboveAvail, bLeftAvail );
    2082 
    2083       if ( numParts > 1 )
    2084       {
    2085         for( UInt uiY = 0; uiY < uiHeight; uiY++ )
    2086         {
    2087           for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    2088           {
    2089             piPred        [ uiX ] = ClipY( piPred[ uiX ] );
    2090             piRecIPred    [ uiX ] = piPred[ uiX ];
    2091           }
    2092           piPred     += uiStride;
    2093           piRecIPred += uiRecIPredStride;
    2094         }
    2095       }
    2096 
    2097       uiSubPartIdx += ( ( uiWidth * uiWidth ) >> 4 );
    2098     }
     2056    }
     2057   
     2058    //===== loop over partitions =====
     2059    TComTURecurse tuRecurseCU(pcCU, 0);
     2060    TComTURecurse tuRecurseWithPU(tuRecurseCU, false, (sdcDepth==0)?TComTU::DONT_SPLIT:TComTU::QUAD_SPLIT);
     2061   
     2062    do
     2063    {
     2064      const TComRectangle &puRect = tuRecurseWithPU.getRect(COMPONENT_Y);
     2065      const UInt uiAbsPartIdxTU = tuRecurseWithPU.GetAbsPartIdxTU();
     2066     
     2067      Pel* piOrgTU         = pcOrgYuv ->getAddr   ( COMPONENT_Y, uiAbsPartIdxTU );
     2068      Pel* piPredTU        = pcPredYuv->getAddr   ( COMPONENT_Y, uiAbsPartIdxTU );
     2069      UInt uiStrideTU      = pcPredYuv->getStride ( COMPONENT_Y );
     2070     
     2071      //===== init pattern for luma prediction =====
     2072      Bool bAboveAvail = false;
     2073      Bool bLeftAvail  = false;
     2074     
     2075      if (tuRecurseWithPU.ProcessComponentSection(COMPONENT_Y))
     2076      {
     2077        initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, true DEBUG_STRING_PASS_INTO(sTemp2) );
     2078      }
     2079     
     2080      const Bool bUseFilter = TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, uiLumaPredMode, puRect.width, puRect.height, chFmt, sps.getSpsRangeExtension().getIntraSmoothingDisabledFlag());
     2081     
     2082      predIntraAng( COMPONENT_Y, uiLumaPredMode, piOrgTU, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter, TComPrediction::UseDPCMForFirstPassIntraEstimation(tuRecurseWithPU, uiLumaPredMode) );
     2083     
     2084    } while (tuRecurseWithPU.nextSection(tuRecurseCU));
    20992085
    21002086    // reset to full block
     
    21022088    uiHeight = pcCU->getHeight( 0 );
    21032089
    2104     uiStride          = pcOrgYuv ->getStride  ();
    2105     piOrg             = pcOrgYuv ->getLumaAddr( uiAbsPartIdx );
    2106     piPred            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
    2107     piReco            = pcPredYuv->getLumaAddr( uiAbsPartIdx );
    2108 
    2109     uiZOrder          = pcCU->getZorderIdxInCU() + uiAbsPartIdx;
    2110     piRecIPred        = pcCU->getPic()->getPicYuvRec()->getLumaAddr( pcCU->getAddr(), uiZOrder );
    2111     uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride  ();
     2090    uiStride          = pcOrgYuv ->getStride( COMPONENT_Y );
     2091    piOrg             = pcOrgYuv ->getAddr  ( COMPONENT_Y, uiAbsPartIdx );
     2092    piPred            = pcPredYuv->getAddr  ( COMPONENT_Y, uiAbsPartIdx );
     2093    piReco            = pcPredYuv->getAddr  ( COMPONENT_Y, uiAbsPartIdx );
     2094   
     2095    piRecIPred        = pcCU->getPic()->getPicYuvRec()->getAddr  ( COMPONENT_Y, pcCU->getCtuRsAddr(), pcCU->getZorderIdxInCtu() + uiAbsPartIdx );
     2096    uiRecIPredStride  = pcCU->getPic()->getPicYuvRec()->getStride( COMPONENT_Y );
    21122097
    21132098    // get predicted and original DC
     
    22732258    if( !bZeroResidual )
    22742259    {
     2260#if NH_3D_DLT
    22752261      Pel   pPredIdx    = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    22762262      Int   pTestIdx    = pPredIdx + pResidualIdx + iSDCDeltaResi;
     
    22792265        pResidualIdx += iSDCDeltaResi;
    22802266      }
     2267#else
     2268      pResidualIdx += iSDCDeltaResi;
     2269#endif
    22812270    }
    22822271    // save SDC DC offset
     
    23142303      Pel pResiDC = apDCResiValues[ucSegment];
    23152304
    2316       pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResiDC );
     2305      pReco    [ uiX ] = ClipBD( pPred[ uiX ] + pResiDC, bitDepthY);
    23172306      pRecIPred[ uiX ] = pReco[ uiX ];
    23182307    }
     
    23232312  }
    23242313
    2325   // clear UV
    2326   UInt  uiStrideC     = pcPredYuv->getCStride();
    2327   Pel   *pRecCb       = pcPredYuv->getCbAddr();
    2328   Pel   *pRecCr       = pcPredYuv->getCrAddr();
     2314  // clear chroma
     2315  UInt  uiStrideC     = pcPredYuv->getStride( COMPONENT_Cb );
     2316  Pel   *pRecCb       = pcPredYuv->getAddr  ( COMPONENT_Cb, uiAbsPartIdx );
     2317  Pel   *pRecCr       = pcPredYuv->getAddr  ( COMPONENT_Cr, uiAbsPartIdx );
    23292318
    23302319  for (Int y=0; y<uiHeight/2; y++)
     
    23462335#endif
    23472336
    2348   //===== determine distortion =====
    2349 #if H_3D_VSO
    2350   if ( m_pcRdCost->getUseVSO() )
    2351     ruiDist = m_pcRdCost->getDistPartVSO  ( pcCU, uiAbsPartIdx, piReco, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
     2337  //===== determine distortion ===== 
     2338#if NH_3D_VSO
     2339  if( m_pcRdCost->getUseVSO() )
     2340  {
     2341    if( m_pcRdCost->getUseEstimatedVSD() )
     2342    {
     2343      ruiDist = m_pcRdCost->getDistPartVSD( pcCU, uiAbsPartIdx, bitDepthY, piPred, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
     2344    }
     2345    else
     2346    {
     2347      ruiDist = m_pcRdCost->getDistPartVSO( pcCU, uiAbsPartIdx, bitDepthY, piPred, uiStride, piOrg, uiStride, uiWidth, uiHeight, false );
     2348    }
     2349  }
    23522350  else
    23532351#endif
    2354     ruiDist = m_pcRdCost->getDistPart(g_bitDepthY, piReco, uiStride, piOrg, uiStride, uiWidth, uiHeight );
     2352  {
     2353    ruiDist = m_pcRdCost->getDistPart( bitDepthY, piPred, uiStride, piOrg, uiStride, uiWidth, uiHeight, COMPONENT_Y, DF_SAD );
     2354  }
    23552355
    23562356  //===== determine rate and r-d cost =====
     
    23712371
    23722372  // encode pred direction + DC residual data
    2373   m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
     2373  m_pcEntropyCoder->encodePredInfo( pcCU, 0 );
    23742374  m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
    23752375
    23762376  Bool bDummy = false;
    2377   m_pcEntropyCoder->encodeCoeff( pcCU, 0, pcCU->getDepth( 0 ), uiWidth, uiHeight, bDummy );
     2377  m_pcEntropyCoder->encodeCoeff( pcCU, 0, pcCU->getDepth( 0 ), bDummy, bDummy );
    23782378  UInt uiBits = m_pcEntropyCoder->getNumberOfWrittenBits();
    23792379
    2380 #if H_3D_VSO
     2380#if NH_3D_VSO
    23812381  if ( m_pcRdCost->getUseLambdaScaleVSO())
    23822382    dRDCost = m_pcRdCost->calcRdCostVSO( uiBits, ruiDist );
     
    32393239    UInt rdSDC = m_pcEncCfg->getIsDepth() ? numModesForFullRD : 0;
    32403240#endif
    3241 #if H_3D_DIM_SDC
     3241#if NH_3D_INTRA_SDC
    32423242    Bool    bBestUseSDC   = false;
    32433243    Pel     apBestDCOffsets[2] = {0,0};
     
    32903290      pcCU->setIntraDirSubParts ( CHANNEL_TYPE_LUMA, uiOrgMode, uiPartOffset, uiDepth + uiInitTrDepth );
    32913291
    3292 #if H_3D_DIM_SDC
     3292#if NH_3D_INTRA_SDC
    32933293#if H_3D_FAST_INTRA_SDC
    32943294      Bool bTestSDC = ( ( m_pcEncCfg->getUseSDC() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD);
     
    33373337#if NH_3D_ENC_DEPTH
    33383338          UInt zeroResiTest = (pcCU->getSlice()->getIsDepth() && !pcCU->getSlice()->isIRAP()) ? 1 : 0;
    3339 #if H_3D_DIM_SDC
    3340           bTestZeroResi |= pcCU->getSDCFlag(uiPartOffset);
     3339#if NH_3D_INTRA_SDC
     3340          zeroResiTest |= pcCU->getSDCFlag(uiPartOffset);
    33413341          if( uiSDC != 0 && iSDCDeltaResi != 0 )
    33423342          {
    3343             bTestZeroResi = false;
     3343            zeroResiTest = 0;
    33443344          }
    33453345#endif
     
    33643364      }
    33653365#endif
    3366 #if H_3D_DIM_SDC
     3366#if NH_3D_INTRA_SDC
    33673367            if( pcCU->getSDCFlag(uiPartOffset) )
    33683368            {
    33693369              pcCU->setTrIdxSubParts(0, uiPartOffset, uiDepth + uiInitTrDepth);
    3370               pcCU->setCbfSubParts(1, 1, 1, uiPartOffset, uiDepth + uiInitTrDepth);
     3370              pcCU->setCbfSubParts(1, COMPONENT_Y, uiPartOffset, uiDepth + uiInitTrDepth);
    33713371
    33723372              // start encoding with SDC
    3373               xIntraCodingSDC(pcCU, uiPartOffset, pcOrgYuv, pcPredYuv, uiPUDistY, dPUCost, ( testZeroResi != 0 ), iSDCDeltaResi );
    3374               if ( testZeroResi == 0 && iOffset <= 3 )
     3373              xIntraCodingSDC(pcCU, uiPartOffset, pcOrgYuv, pcPredYuv, uiPUDistY, dPUCost, ( zeroResi != 0 ), iSDCDeltaResi );
     3374              if ( zeroResi == 0 && iOffset <= 3 )
    33753375              {
    33763376                dOffsetCost [iOffset -1] = dPUCost;
     
    34033403#endif
    34043404#endif
    3405 #if H_3D_DIM_SDC
     3405#if NH_3D_INTRA_SDC
    34063406            }
    34073407#endif
     
    34243424        dBestPUCost   = dPUCost;
    34253425
    3426 #if H_3D_DIM_SDC
     3426#if NH_3D_INTRA_SDC
    34273427              if( pcCU->getSDCFlag(uiPartOffset) )
    34283428              {
     
    34303430
    34313431                // copy reconstruction
    3432                 pcPredYuv->copyPartToPartYuv(pcRecoYuv, uiPartOffset, uiWidth, uiHeight);
     3432                UInt uiWidthPU  = tuRecurseWithPU.getRect( COMPONENT_Y ).width;
     3433                UInt uiHeightPU = tuRecurseWithPU.getRect( COMPONENT_Y ).height;
     3434                UInt    uiWidth        = pcCU->getWidth (0) >> uiInitTrDepth;
     3435                UInt    uiHeight       = pcCU->getHeight(0) >> uiInitTrDepth;
     3436                AOF(uiWidth==uiWidthPU);
     3437                AOF(uiHeight==uiHeightPU);
     3438                pcPredYuv->copyPartToPartComponent(COMPONENT_Y, pcRecoYuv, uiPartOffset, uiWidth, uiHeight);
    34333439
    34343440                // copy DC values
     
    34633469          ::memcpy( m_puhQTTempCbf[compID], pcCU->getCbf( compID  ) + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    34643470          ::memcpy( m_puhQTTempTransformSkipFlag[compID],  pcCU->getTransformSkip(compID)  + uiPartOffset, uiQPartNum * sizeof( UChar ) );
    3465 #if H_3D_DIM_SDC
    3466               }
    3467 #endif
    3468 
    3469         }
     3471        }
     3472#if NH_3D_INTRA_SDC
     3473        }
     3474#endif
    34703475      }
    34713476#if HHI_RQT_INTRA_SPEEDUP_MOD
     
    34793484          }
    34803485#endif
    3481 #if H_3D_DIM_SDC
     3486#if NH_3D_INTRA_SDC
    34823487        } // SDC residual loop
    34833488      } // SDC loop
     
    35103515
    35113516      pcCU->setIntraDirSubParts ( CHANNEL_TYPE_LUMA, uiOrgMode, uiPartOffset, uiDepth + uiInitTrDepth );
    3512 #if H_3D_DIM_SDC
     3517#if NH_3D_INTRA_SDC
    35133518      pcCU->setSDCFlagSubParts(false, uiPartOffset, uiDepth + uiInitTrDepth);
    35143519#endif
     
    35433548        uiBestPUDistY = uiPUDistY;
    35443549        dBestPUCost   = dPUCost;
    3545 #if H_3D_DIM_SDC
     3550#if NH_3D_INTRA_SDC
    35463551        bBestUseSDC   = false;
    35473552#endif
     
    35803585    //--- update overall distortion ---
    35813586    uiOverallDistY += uiBestPUDistY;
    3582 #if H_3D_DIM_SDC
     3587#if NH_3D_INTRA_SDC
    35833588    if( bBestUseSDC )
    35843589    {
    35853590      pcCU->setTrIdxSubParts(0, uiPartOffset, uiDepth + uiInitTrDepth);
    3586       pcCU->setCbfSubParts(1, 1, 1, uiPartOffset, uiDepth + uiInitTrDepth);
     3591      pcCU->setCbfSubParts(1, COMPONENT_Y, uiPartOffset, uiDepth + uiInitTrDepth);
    35873592
    35883593      //=== copy best DC segment values back to CU ====
     
    36023607      ::memcpy( pcCU->getCbf( compID  ) + uiPartOffset, m_puhQTTempCbf[compID], uiQPartNum * sizeof( UChar ) );
    36033608      ::memcpy( pcCU->getTransformSkip( compID  ) + uiPartOffset, m_puhQTTempTransformSkipFlag[compID ], uiQPartNum * sizeof( UChar ) );
    3604 #if H_3D_DIM_SDC
     3609#if NH_3D_INTRA_SDC
    36053610    }
    36063611#endif
     
    36393644    //=== update PU data ====
    36403645    pcCU->setIntraDirSubParts     ( CHANNEL_TYPE_LUMA, uiBestPUMode, uiPartOffset, uiDepth + uiInitTrDepth );
    3641 #if H_3D_DIM_SDC
     3646#if NH_3D_INTRA_SDC
    36423647    pcCU->setSDCFlagSubParts          ( bBestUseSDC, uiPartOffset, uiDepth + uiInitTrDepth );
    36433648#endif
     
    61626167#endif
    61636168
    6164 #if H_3D_DIM_SDC
     6169#if NH_3D_INTRA_SDC
    61656170  Bool bNonSkip = false;
    61666171#else
     
    72267231    m_pcEntropyCoder->encodePartSize( pcCU, 0, pcCU->getDepth(0), true );
    72277232    m_pcEntropyCoder->encodePredInfo( pcCU, 0 );
    7228 #if H_3D_DIM_SDC
     7233#if NH_3D_INTRA_SDC
    72297234    m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
    72307235#endif
     
    77697774#endif
    77707775#if TEMP_SDC_CLEANUP // PM: consider this cleanup for SDC
    7771 #if NH_3D_SDC
     7776#if NH_3D_INTRA_SDC
    77727777Void TEncSearch::xCalcConstantSDC( Pel* ptrSrc, UInt srcStride, UInt uiSize, Pel& valDC )
    77737778{
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncSearch.h

    r1209 r1221  
    356356  Void xSearchDmm1Wedge           ( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx );
    357357#endif
    358 #if H_3D_DIM_SDC
     358#if NH_3D_INTRA_SDC
    359359  Void xIntraCodingSDC            ( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Bool bZeroResidual, Int iSDCDeltaResi    );
    360360#endif
    361361#if TEMP_SDC_CLEANUP // PM: consider this cleanup for SDC
    362 #if NH_3D_SDC
     362#if NH_3D_INTRA_SDC
    363363  Void xCalcConstantSDC           ( Pel* ptrSrc, UInt srcStride, UInt uiSize, Pel& valDC );
    364364#endif
Note: See TracChangeset for help on using the changeset viewer.