Ignore:
Timestamp:
15 Nov 2013, 03:34:41 (11 years ago)
Author:
samsung-htm
Message:

Integration of F0147: DMM simplification and signalling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-8.2-dev3-Samsung/source/Lib/TLibDecoder/TDecSbac.cpp

    r667 r697  
    8989#if H_3D_DIM_DMM
    9090, m_cDmm1DataSCModel          ( 1,             1,               NUM_DMM1_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     91#if !SEC_DMM3_RBC_F0147
    9192, m_cDmm3DataSCModel          ( 1,             1,               NUM_DMM3_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     93#endif
    9294#endif
    9395#if H_3D_DIM_RBC
     
    176178#if H_3D_DIM_DMM
    177179  m_cDmm1DataSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_DMM1_DATA );
     180#if !SEC_DMM3_RBC_F0147
    178181  m_cDmm3DataSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_DMM3_DATA );
     182#endif
    179183#endif
    180184#if H_3D_DIM_RBC
     
    249253#if H_3D_DIM_DMM
    250254  m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
     255#if !SEC_DMM3_RBC_F0147
    251256  m_cDmm3DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM3_DATA );
     257#endif
    252258#endif
    253259#if H_3D_DIM_RBC
     
    455461  ruiTabIdx = uiIdx;
    456462}
    457 
     463#if !SEC_DMM3_RBC_F0147
    458464Void TDecSbac::xParseDmm3WedgeIdx( UInt& ruiIntraIdx, Int iNumBit )
    459465{
     
    466472  ruiIntraIdx = uiIdx;
    467473}
     474#endif
    468475#endif
    469476#if H_3D_DIM_RBC
     
    11601167      pcCU->setDmmWedgeTabIdxSubParts( uiTabIdx, dimType, absPartIdx, depth );
    11611168    } break;
     1169#if !SEC_DMM3_RBC_F0147
    11621170  case( DMM3_IDX ):
    11631171    {
     
    11661174      pcCU->setDmm3IntraTabIdxSubParts( uiIntraIdx, absPartIdx, depth );
    11671175    } break;
     1176#endif
    11681177  case( DMM4_IDX ): break;
    11691178#endif
     
    12801289  else if( puIdx == 0 )
    12811290  {
     1291#if SEC_DMM3_RBC_F0147
     1292    while( binNum < 1 && symbol )
     1293#else
    12821294    while( binNum < 3 && symbol )
     1295#endif
    12831296    {
    12841297      ctxDepthMode = puIdx*3 + ((binNum >= 2) ? 2 : binNum);
     
    12871300      binNum++;
    12881301    }
     1302#if SEC_DMM3_RBC_F0147
     1303    if( modeCode == 0 ) { dir = 0;                       sdcFlag = 0;}
     1304    else if( modeCode == 1 ) { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 0;}
     1305#else
    12891306         if( modeCode == 0 ) { dir = 0;                       sdcFlag = 0;}
    12901307    else if( modeCode == 2 ) { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 0;}
    12911308    else if( modeCode == 6 ) { dir = (2*DMM3_IDX+DIM_OFFSET); sdcFlag = 0;}
    12921309    else if( modeCode == 7 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;}
     1310#endif
    12931311  }
    12941312  else
    12951313  {
     1314#if SEC_DMM3_RBC_F0147
     1315    while( binNum < 4 && symbol )
     1316    {
     1317      ctxDepthMode = puIdx*3 + ((binNum >= 2) ? 2 : binNum);
     1318      m_pcTDecBinIf->decodeBin( symbol, m_cDepthIntraModeSCModel.get(0,0,ctxDepthMode) );
     1319      modeCode = (modeCode<<1) + symbol;
     1320      binNum++;
     1321    }
     1322    if ( modeCode == 0 )        { dir =  PLANAR_IDX;             sdcFlag = 1;}
     1323    else if ( modeCode == 2 )   { dir = 5;                       sdcFlag = 0;}
     1324    else if ( modeCode == 6 )   { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 1;}
     1325    else if ( modeCode == 14 )  { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 0;}
     1326    else if ( modeCode == 15 )  { dir = (2*DMM4_IDX+DIM_OFFSET); sdcFlag = 0;}
     1327#else
    12961328    UInt maxBinNum = 0;
    12971329    m_pcTDecBinIf->decodeBinEP(symbol);
     
    13251357      else if ( modeCode == 3 )  { dir = (2*DMM4_IDX+DIM_OFFSET); sdcFlag = 0;}
    13261358    }
     1359#endif
    13271360  }
    13281361  pcCU->setLumaIntraDirSubParts( (UChar)dir, absPartIdx, depth );
Note: See TracChangeset for help on using the changeset viewer.