Ignore:
Timestamp:
29 Aug 2013, 15:10:30 (12 years ago)
Author:
tech
Message:

Merged dev3: DEV-2.0-DEV3-KWU@589

Location:
branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r598 r601  
    874874  // get DC prediction for each segment
    875875  Pel apDCPredValues[2];
     876#if KWU_SDC_SIMPLE_DC_E0117
     877  m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode);
     878#else
    876879  m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride);
     880#endif
    877881 
    878882  // reconstruct residual based on mask + DC residuals
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecSbac.cpp

    r598 r601  
    8989#if H_3D_DIM_DMM
    9090, m_cDmm1DataSCModel          ( 1,             1,               NUM_DMM1_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     91#if !SEC_DMM2_E0146
    9192, m_cDmm2DataSCModel          ( 1,             1,               NUM_DMM2_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     93#endif
    9294, m_cDmm3DataSCModel          ( 1,             1,               NUM_DMM3_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    9395#endif
     
    177179#if H_3D_DIM_DMM
    178180  m_cDmm1DataSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_DMM1_DATA );
     181#if !SEC_DMM2_E0146
    179182  m_cDmm2DataSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_DMM2_DATA );
     183#endif
    180184  m_cDmm3DataSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_DMM3_DATA );
    181185#endif
     
    251255#if H_3D_DIM_DMM
    252256  m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
     257#if !SEC_DMM2_E0146
    253258  m_cDmm2DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM2_DATA );
     259#endif
    254260  m_cDmm3DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM3_DATA );
    255261#endif
     
    438444  ruiTabIdx = uiIdx;
    439445}
     446#if !SEC_DMM2_E0146
    440447Void TDecSbac::xParseDmm2Offset( Int& riOffset )
    441448{
     
    463470  riOffset = iDeltaEnd;
    464471}
     472#endif
    465473Void TDecSbac::xParseDmm3WedgeIdx( UInt& ruiIntraIdx, Int iNumBit )
    466474{
     
    11541162      pcCU->setDmmWedgeTabIdxSubParts( uiTabIdx, dimType, absPartIdx, depth );
    11551163    } break;
     1164#if !SEC_DMM2_E0146
    11561165  case( DMM2_IDX ):
    11571166    {
     
    11601169      pcCU->setDmm2DeltaEndSubParts( iOffset, absPartIdx, depth );
    11611170    } break;
     1171#endif
    11621172  case( DMM3_IDX ):
    11631173    {
     
    12271237  if( puIdx == 2 )
    12281238  {
     1239#if !LGE_SDC_REMOVE_DC_E0158
    12291240    while( binNum < 2 && symbol )
     1241#endif
    12301242    {
    12311243      ctxDepthMode = puIdx*3 + binNum;
     
    12351247    }
    12361248         if( modeCode == 0 ) { dir = PLANAR_IDX; sdcFlag = 1;}
     1249#if LGE_SDC_REMOVE_DC_E0158
     1250    else if( modeCode == 1 ) { dir = 0;          sdcFlag = 0;}
     1251#else
    12371252    else if( modeCode == 2 ) { dir = 0;          sdcFlag = 0;}
    12381253    else if( modeCode == 3 ) { dir =     DC_IDX; sdcFlag = 1;}
     1254#endif
    12391255  }
    12401256  else if( puIdx == 0 )
     
    12541270  else
    12551271  {
     1272#if ZJU_DEPTH_INTRA_MODE_E0204
     1273      UInt maxBinNum = 0;
     1274      m_pcTDecBinIf->decodeBinEP(symbol);
     1275      if( symbol == 1 )
     1276      {
     1277          maxBinNum = 3;
     1278      }
     1279      else
     1280      {
     1281          maxBinNum = 2;
     1282          symbol = 1;
     1283      }
     1284      while( binNum<maxBinNum && symbol )
     1285      {
     1286          ctxDepthMode = puIdx*3 + ( binNum >= 2 ? 2 : binNum );
     1287          m_pcTDecBinIf->decodeBin(symbol,m_cDepthIntraModeSCModel.get(0,0,ctxDepthMode));
     1288          modeCode = (modeCode<<1)+symbol;
     1289          binNum++;
     1290      }
     1291      if( maxBinNum == 3 )
     1292      {
     1293          if ( modeCode == 0 )       { dir =  PLANAR_IDX;             sdcFlag = 1;}
     1294          else if ( modeCode == 2 )  { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
     1295          else if ( modeCode == 6 )  { dir = (2*DMM3_IDX+DIM_OFFSET); sdcFlag = 0;}
     1296          else if ( modeCode == 7 )  { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 0;}
     1297      }
     1298      else
     1299      {
     1300          if ( modeCode == 0 )       { dir = 5;                       sdcFlag = 0;}
     1301          else if ( modeCode == 2 )  { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 1;}
     1302          else if ( modeCode == 3 )  { dir = (2*DMM4_IDX+DIM_OFFSET); sdcFlag = 0;}
     1303      }
     1304#else
    12561305    ctxDepthMode = puIdx*3 ;
    12571306    m_pcTDecBinIf->decodeBin( symbol, m_cDepthIntraModeSCModel.get(0,0,ctxDepthMode) );
     
    12831332      {
    12841333        binNum = 0;
     1334#if LGE_SDC_REMOVE_DC_E0158
     1335#if !SEC_DMM2_E0146
     1336        while( symbol && binNum < 2 )
     1337#endif
     1338#else
     1339#if SEC_DMM2_E0146
     1340        while( symbol && binNum < 2 )
     1341#else
    12851342        while( symbol && binNum < 3 )
     1343#endif
     1344#endif
    12861345        {
    12871346          ctxDepthMode = puIdx*3 + 2;
     
    12981357    else if( modeCode == 5  ) { dir = (2*DMM4_IDX+DIM_OFFSET); sdcFlag = 0;}
    12991358    else if( modeCode == 6  ) { dir = (2*DMM3_IDX+DIM_OFFSET); sdcFlag = 0;}
     1359#if LGE_SDC_REMOVE_DC_E0158
     1360#if SEC_DMM2_E0146
     1361    else if( modeCode == 7 )  { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
     1362#else
     1363    else if( modeCode == 14 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
     1364    else if( modeCode == 15 ) { dir = (2*DMM2_IDX+DIM_OFFSET); sdcFlag = 0;}
     1365#endif
     1366#else
    13001367    else if( modeCode == 14 ) { dir =      DC_IDX;             sdcFlag = 1;}
     1368#if SEC_DMM2_E0146
     1369    else if( modeCode == 15 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
     1370#else
    13011371    else if( modeCode == 30 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
    13021372    else if( modeCode == 31 ) { dir = (2*DMM2_IDX+DIM_OFFSET); sdcFlag = 0;}
     1373#endif
     1374#endif
     1375#endif
    13031376  }
    13041377  pcCU->setLumaIntraDirSubParts( (UChar)dir, absPartIdx, depth );
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecSbac.h

    r598 r601  
    102102#if H_3D_DIM_DMM
    103103  Void  xParseDmm1WedgeIdx   ( UInt& ruiTabIdx, Int iNumBit );
     104#if !SEC_DMM2_E0146
    104105  Void  xParseDmm2Offset     ( Int& riOffset );
     106#endif
    105107  Void  xParseDmm3WedgeIdx   ( UInt& ruiIntraIdx, Int iNumBit );
    106108#endif
     
    214216#if H_3D_DIM_DMM
    215217  ContextModel3DBuffer m_cDmm1DataSCModel;
     218#if !SEC_DMM2_E0146
    216219  ContextModel3DBuffer m_cDmm2DataSCModel;
     220#endif
    217221  ContextModel3DBuffer m_cDmm3DataSCModel;
    218222#endif
Note: See TracChangeset for help on using the changeset viewer.