Changeset 950 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncSbac.cpp


Ignore:
Timestamp:
25 Apr 2014, 12:38:00 (10 years ago)
Author:
tech
Message:

Merged 10.2-dev0@949.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncSbac.cpp

    r884 r950  
    9393, m_cDdcDataSCModel           ( 1,             1,               NUM_DDC_DATA_CTX              , m_contextModels + m_numContextModels, m_numContextModels)
    9494, m_cAngleFlagSCModel         ( 1,             1,               NUM_ANGLE_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels)
    95 #if H_3D_DIM_DMM
     95#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
    9696, m_cDmm1DataSCModel          ( 1,             1,               NUM_DMM1_DATA_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    9797#endif
     
    169169  m_cDdcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_DDC_DATA );
    170170  m_cAngleFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG );
    171 #if H_3D_DIM_DMM
     171#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
    172172  m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
    173173#endif
     
    255255      curCost += m_cDdcDataSCModel.calcCost           ( curSliceType, qp, (UChar*)INIT_DDC_DATA );
    256256      curCost += m_cAngleFlagSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_ANGLE_FLAG ); 
    257 #if H_3D_DIM_DMM
     257#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
    258258      curCost += m_cDmm1DataSCModel.calcCost          ( curSliceType, qp, (UChar*)INIT_DMM1_DATA );
    259259#endif
     
    319319  m_cDdcDataSCModel.initBuffer           ( eSliceType, iQp, (UChar*)INIT_DDC_DATA );
    320320  m_cAngleFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG );
    321 #if H_3D_DIM_DMM
     321#if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092
    322322  m_cDmm1DataSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );
    323323#endif
     
    482482    m_pcBinIf->encodeBin( 1, rcSCModel );
    483483    UInt uiCount = 0;
     484#if QC_SIMP_DELTADC_CODING_H0131
     485    Bool bNoExGo = ( uiSymbol < 3 );
     486
     487    while( --uiSymbol && ++uiCount < 3 )
     488#else
    484489    Bool bNoExGo = (uiSymbol < 13);
    485490
    486491    while( --uiSymbol && ++uiCount < 13 )
     492#endif
    487493    {
    488494      m_pcBinIf->encodeBin( 1, rcSCModel );
     
    520526  for ( Int i = 0; i < iNumBit; i++ )
    521527  {
     528#if MTK_DMM_SIMP_CODE_H0092
     529      m_pcBinIf->encodeBinEP( ( uiTabIdx >> i ) & 1 );
     530#else
    522531    m_pcBinIf->encodeBin( ( uiTabIdx >> i ) & 1, m_cDmm1DataSCModel.get(0, 0, 0) );
     532#endif
    523533  }
    524534}
     
    12331243  if( ( pcCU->getSlice()->getSPS()->getMaxCUWidth() >> pcCU->getDepth( absPartIdx ) ) < 64 ) //DMM and HEVC intra modes are both allowed
    12341244  {
     1245#if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135
     1246    m_pcBinIf->encodeBin( isDimMode( dir ) ? 0 : 1, m_cAngleFlagSCModel.get( 0, 0, 0 ) );
     1247#else
    12351248    m_pcBinIf->encodeBin( isDimMode( dir ) ? 0 : 1, m_cAngleFlagSCModel.get( 0, 0, pcCU->getCtxAngleFlag( absPartIdx ) ) );
     1249#endif
    12361250  }
    12371251  if( isDimMode( dir ) )
     
    23132327      dimDeltaDC = isDimDeltaDC( dir );
    23142328    }
    2315 
     2329#if MTK_DELTA_DC_FLAG_ONE_CONTEXT_H0084_H0100_H0113
     2330    m_pcBinIf->encodeBin( dimDeltaDC, m_cDdcFlagSCModel.get( 0, 0, 0 ) );
     2331#else
    23162332    m_pcBinIf->encodeBin( dimDeltaDC, m_cDdcFlagSCModel.get( 0, 0, uiNumSegments-1 ) );
     2333#endif
    23172334  }
    23182335  else //all-zero inter SDC is not allowed
     
    23562373Void TEncSbac::codeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    23572374{
     2375#if !MTK_DBBP_SIGNALING_H0094
    23582376  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    23592377  AOF( ePartSize == RWTH_DBBP_PACK_MODE );
     2378#endif
    23602379  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
    23612380  AOF( !pcCU->getSlice()->getIsDepth() );
Note: See TracChangeset for help on using the changeset viewer.