Ignore:
Timestamp:
16 Jun 2013, 05:33:39 (11 years ago)
Author:
lg
Message:

1.IC and full pel depth coding are integrated and is guarded by Macro H_3D_IC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncSbac.cpp

    r464 r468  
    6363, m_cCUPUARPW                 ( 1,             1,               NUM_ARPW_CTX                  , m_contextModels + m_numContextModels, m_numContextModels)
    6464#endif
     65#if H_3D_IC
     66, m_cCUICFlagSCModel          ( 1,             1,               NUM_IC_FLAG_CTX               , m_contextModels + m_numContextModels, m_numContextModels)
     67#endif
    6568, m_cCUPartSizeSCModel        ( 1,             1,               NUM_PART_SIZE_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    6669, m_cCUPredModeSCModel        ( 1,             1,               NUM_PRED_MODE_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     
    116119#if H_3D_ARP
    117120  m_cCUPUARPW.initBuffer                 ( eSliceType, iQp, (UChar*)INIT_ARPW );
     121#endif
     122#if H_3D_IC
     123  m_cCUICFlagSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_IC_FLAG );
    118124#endif
    119125  m_cCUPartSizeSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_PART_SIZE );
     
    171177      curCost += m_cCUMergeFlagExtSCModel.calcCost    ( curSliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT);
    172178      curCost += m_cCUMergeIdxExtSCModel.calcCost     ( curSliceType, qp, (UChar*)INIT_MERGE_IDX_EXT);
     179#if H_3D_IC
     180      curCost += m_cCUICFlagSCModel.calcCost          ( curSliceType, qp, (UChar*)INIT_IC_FLAG );
     181#endif
    173182      curCost += m_cCUPartSizeSCModel.calcCost        ( curSliceType, qp, (UChar*)INIT_PART_SIZE );
    174183      curCost += m_cCUAMPSCModel.calcCost             ( curSliceType, qp, (UChar*)INIT_CU_AMP_POS );
     
    222231#if H_3D_ARP
    223232  m_cCUPUARPW.initBuffer                 ( eSliceType, iQp, (UChar*)INIT_ARPW );
     233#endif
     234#if H_3D_IC
     235  m_cCUICFlagSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_IC_FLAG );
    224236#endif
    225237  m_cCUPartSizeSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_PART_SIZE );
     
    616628#endif
    617629
     630#if H_3D_IC
     631/** code Illumination Compensation flag
     632 * \param pcCU
     633 * \param uiAbsPartIdx
     634 * \returns Void
     635 */
     636Void TEncSbac::codeICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
     637{
     638  // get context function is here
     639  UInt uiSymbol = pcCU->getICFlag( uiAbsPartIdx ) ? 1 : 0;
     640  UInt uiCtxIC  = pcCU->getCtxICFlag( uiAbsPartIdx ) ;
     641  m_pcBinIf->encodeBin( uiSymbol, m_cCUICFlagSCModel.get( 0, 0, uiCtxIC ) );
     642  DTRACE_CABAC_VL( g_nSymbolCounter++ );
     643  DTRACE_CABAC_T( "\tICFlag" );
     644  DTRACE_CABAC_T( "\tuiCtxIC: ");
     645  DTRACE_CABAC_V( uiCtxIC );
     646  DTRACE_CABAC_T( "\tuiSymbol: ");
     647  DTRACE_CABAC_V( uiSymbol );
     648  DTRACE_CABAC_T( "\n");
     649}
     650#endif
     651
     652
    618653Void TEncSbac::codeSplitFlag   ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    619654{
Note: See TracChangeset for help on using the changeset viewer.