Ignore:
Timestamp:
6 Aug 2013, 02:51:16 (12 years ago)
Author:
samsung-htm
Message:

Integration of E0146

Location:
branches/HTM-DEV-2.0-dev3-Samsung/source/Lib/TLibEncoder
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-2.0-dev3-Samsung/source/Lib/TLibEncoder/TEncSbac.cpp

    r541 r554  
    9595#if H_3D_DIM_DMM
    9696, m_cDmm1DataSCModel          ( 1,             1,               NUM_DMM1_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     97#if !SEC_DMM2_E0146
    9798, m_cDmm2DataSCModel          ( 1,             1,               NUM_DMM2_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     99#endif
    98100, m_cDmm3DataSCModel          ( 1,             1,               NUM_DMM3_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    99101#endif
     
    170172#if H_3D_DIM_DMM
    171173  m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
     174#if !SEC_DMM2_E0146
    172175  m_cDmm2DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM2_DATA );
     176#endif
    173177  m_cDmm3DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM3_DATA );
    174178#endif
     
    249253#if H_3D_DIM_DMM
    250254      curCost += m_cDmm1DataSCModel.calcCost          ( curSliceType, qp, (UChar*)INIT_DMM1_DATA );
     255#if !SEC_DMM2_E0146
    251256      curCost += m_cDmm2DataSCModel.calcCost          ( curSliceType, qp, (UChar*)INIT_DMM2_DATA );
     257#endif
    252258      curCost += m_cDmm3DataSCModel.calcCost          ( curSliceType, qp, (UChar*)INIT_DMM3_DATA );
    253259#endif
     
    319325#if H_3D_DIM_DMM
    320326  m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
     327#if !SEC_DMM2_E0146
    321328  m_cDmm2DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM2_DATA );
     329#endif
    322330  m_cDmm3DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM3_DATA );
    323331#endif
     
    521529}
    522530
     531#if !SEC_DMM2_E0146
    523532Void TEncSbac::xCodeDmm2Offset( Int iOffset )
    524533{
     
    537546  }
    538547}
     548#endif
    539549
    540550Void TEncSbac::xCodeDmm3WedgeIdx( UInt uiIntraIdx, Int iNumBit )
     
    615625  UInt uiMaxResidualBits = g_bitDepthY;
    616626#endif
     627
    617628  assert( uiMaxResidualBits <= g_bitDepthY );
    618629 
     
    11961207      xCodeDmm1WedgeIdx( pcCU->getDmmWedgeTabIdx( dimType, absPartIdx ), g_dmm1TabIdxBits[pcCU->getIntraSizeIdx(absPartIdx)] );
    11971208    } break;
     1209#if !SEC_DMM2_E0146
    11981210  case( DMM2_IDX ):
    11991211    {
    12001212      xCodeDmm2Offset( pcCU->getDmm2DeltaEnd( absPartIdx ) );
    12011213    } break;
     1214#endif
    12021215  case( DMM3_IDX ):
    12031216    {
     
    12481261Void TEncSbac::codeIntraDepthMode( TComDataCU* pcCU, UInt absPartIdx )
    12491262{
     1263#if SEC_DMM2_E0146
     1264  UInt codeWordTable[3][8] =    {{0, 0, 0, 2, 0,6, 0, 7},{0, 2, 3, 4, 5, 6, 14, 15},{0, 2, 0, 0, 0, 0, 3, 0}};
     1265  UInt codeWordLenTable[3][8] = {{0, 1, 0, 2, 0,3, 0, 3},{2, 3, 3, 3, 3, 3,  4,  4},{1, 2, 0, 0, 0, 0, 2, 0}};
     1266#else
    12501267  UInt codeWordTable[3][9] =    {{0, 0, 0, 2, 0,6, 0, 0, 7},{0, 2, 3, 4, 5, 6, 14, 31, 30},{0, 2, 0, 0, 0, 0, 3, 0, 0}};
    12511268  UInt codeWordLenTable[3][9] = {{0, 1, 0, 2, 0,3, 0, 0, 3},{2, 3, 3, 3, 3, 3,  4,  5,  5},{1, 2, 0, 0, 0, 0, 2, 0, 0}};
     1269#endif
    12521270  UInt dir = pcCU->getLumaIntraDir( absPartIdx );
    12531271  UInt puIdx = (pcCU->getWidth(absPartIdx) == 64) ? 2 : ( (pcCU->getPartitionSize(absPartIdx) == SIZE_NxN && pcCU->getWidth(absPartIdx) == 8) ? 0 : 1 );
     
    12651283    case DMM4_IDX: codeIdx = 4; break;
    12661284    case DMM3_IDX: codeIdx = 5; break;
     1285#if SEC_DMM2_E0146
     1286    case  RBC_IDX: codeIdx = 7; break;
     1287#else
    12671288    case DMM2_IDX: codeIdx = 7; break;
    12681289    case  RBC_IDX: codeIdx = 8; break;
     1290#endif
    12691291    default:                    break;
    12701292    }
  • branches/HTM-DEV-2.0-dev3-Samsung/source/Lib/TLibEncoder/TEncSbac.h

    r531 r554  
    121121#if H_3D_DIM_DMM
    122122  Void  xCodeDmm1WedgeIdx    ( UInt uiTabIdx, Int iNumBit );
     123#if !SEC_DMM2_E0146
    123124  Void  xCodeDmm2Offset      ( Int iOffset );
     125#endif
    124126  Void  xCodeDmm3WedgeIdx    ( UInt uiIntraIdx, Int iNumBit );
    125127#endif
     
    250252#if H_3D_DIM_DMM
    251253  ContextModel3DBuffer m_cDmm1DataSCModel;
     254#if !SEC_DMM2_E0146
    252255  ContextModel3DBuffer m_cDmm2DataSCModel;
     256#endif
    253257  ContextModel3DBuffer m_cDmm3DataSCModel;
    254258#endif
  • branches/HTM-DEV-2.0-dev3-Samsung/source/Lib/TLibEncoder/TEncSearch.cpp

    r537 r554  
    28492849              biSegmentation = &(g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])][uiTabIdx]);
    28502850            } break;
     2851#if !SEC_DMM2_E0146
    28512852          case( DMM2_IDX ):
    28522853            {
     
    28602861              }
    28612862            } break;
     2863#endif
    28622864          case( DMM3_IDX ):
    28632865            {
     
    70607062}
    70617063
     7064#if !SEC_DMM2_E0146
    70627065Void TEncSearch::xSearchDmm2Wedge( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, Int& riWedgeDeltaEnd )
    70637066{
     
    71257128  return;
    71267129}
     7130#endif
    71277131
    71287132Void TEncSearch::xSearchDmm3Wedge( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, UInt& ruiIntraTabIdx )
  • branches/HTM-DEV-2.0-dev3-Samsung/source/Lib/TLibEncoder/TEncSearch.h

    r531 r554  
    342342  Void xSearchDmmDeltaDCs         ( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piOrig, Pel* piPredic, UInt uiStride, Bool* biSegPattern, Int patternStride, UInt uiWidth, UInt uiHeight, Pel& rDeltaDC1, Pel& rDeltaDC2 );
    343343  Void xSearchDmm1Wedge           ( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx );
     344#if !SEC_DMM2_E0146
    344345  Void xSearchDmm2Wedge           ( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, Int& riWedgeDeltaEnd );
     346#endif
    345347  Void xSearchDmm3Wedge           ( TComDataCU* pcCU, UInt uiAbsPtIdx, Pel* piRef, UInt uiRefStride, UInt uiWidth, UInt uiHeight, UInt& ruiTabIdx, UInt& ruiIntraTabIdx );
    346348#endif
Note: See TracChangeset for help on using the changeset viewer.