Ignore:
Timestamp:
24 Jul 2014, 06:42:46 (11 years ago)
Author:
samsung-htm
Message:

Integration of JCT3V-I0085: Separate enabling flag for intra-view prediction mode (DMM4)

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

Legend:

Unmodified
Added
Removed
  • branches/HTM-11.2-dev3-Samsung/source/Lib/TLibEncoder/TEncCavlc.cpp

    r983 r1015  
    15991599#endif
    16001600        WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 ,          "vps_depth_modes_flag[i]" );
     1601#if SEPARATE_FLAG_I0085
     1602        WRITE_FLAG( pcVPS->getIVPFlag( i ) ? 1 : 0 ,               "IVP_flag[i]" );
     1603#endif
    16011604        //WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     );
    16021605#if H_3D_INTER_SDC
  • branches/HTM-11.2-dev3-Samsung/source/Lib/TLibEncoder/TEncCfg.h

    r983 r1015  
    414414#if H_3D_DIM
    415415  Bool      m_useDMM;
     416#if SEPARATE_FLAG_I0085
     417  Bool      m_useIVP;
     418#endif
    416419  Bool      m_useSDC;
    417420  Bool      m_useDLT;
     
    10061009  Bool      getUseDMM                       ()        { return m_useDMM; }
    10071010  Void      setUseDMM                       ( Bool b) { m_useDMM = b;    }
     1011#if SEPARATE_FLAG_I0085
     1012  Bool      getUseIVP                       ()        { return m_useIVP; }
     1013  Void      setUseIVP                       ( Bool b) { m_useIVP = b;    }
     1014#endif
    10081015  Bool      getUseSDC                       ()        { return m_useSDC; }
    10091016  Void      setUseSDC                       ( Bool b) { m_useSDC = b;    }
  • branches/HTM-11.2-dev3-Samsung/source/Lib/TLibEncoder/TEncSbac.cpp

    r994 r1015  
    255255      curCost += m_CUTransquantBypassFlagSCModel.calcCost( curSliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG );
    256256#if H_3D_DIM
     257#if SEPARATE_FLAG_I0085
     258    if( m_pcSlice->getVpsDepthModesFlag() || m_pcSlice->getIVPFlag() )
     259#else
    257260    if( m_pcSlice->getVpsDepthModesFlag() )
     261#endif
    258262    {
    259263      curCost += m_cDepthIntraModeSCModel.calcCost    ( curSliceType, qp, (UChar*)INIT_DEPTH_INTRA_MODE );
     
    11341138    dir[j] = pcCU->getLumaIntraDir( absPartIdx+partOffset*j );
    11351139#if H_3D_DIM
     1140#if SEPARATE_FLAG_I0085
     1141    if( pcCU->getSlice()->getVpsDepthModesFlag() ||  pcCU->getSlice()->getIVPFlag() )
     1142#else
    11361143    if( pcCU->getSlice()->getVpsDepthModesFlag() )
     1144#endif
    11371145    {
    11381146      codeIntraDepth( pcCU, absPartIdx+partOffset*j );
     
    12801288    }
    12811289    //mode coding
     1290#if SEPARATE_FLAG_I0085
     1291    if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag())
     1292    {
     1293      m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) );
     1294    }
     1295#else
    12821296    m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) );
     1297#endif
    12831298  }
    12841299}
  • branches/HTM-11.2-dev3-Samsung/source/Lib/TLibEncoder/TEncSearch.cpp

    r1014 r1015  
    31323132
    31333133#if H_3D_DIM_DMM
     3134#if SEPARATE_FLAG_I0085
     3135      if( ( m_pcEncCfg->getUseDMM() || m_pcEncCfg->getUseIVP() )
     3136#else
    31343137      if( m_pcEncCfg->getUseDMM()
     3138#endif
    31353139#if H_3D_FAST_DEPTH_INTRA
    31363140         && (uiRdModeList[0] != PLANAR_IDX || varCU >= varThreshold)
     
    31383142        )
    31393143      {
     3144#if SEPARATE_FLAG_I0085
     3145        UInt uiStart, uiEnd;
     3146        if( m_pcEncCfg->getUseDMM() &&  m_pcEncCfg->getUseIVP() )
     3147        {
     3148          uiStart = 0;
     3149          uiEnd   = 2;
     3150        }
     3151        else if( m_pcEncCfg->getUseDMM() )
     3152        {
     3153          uiStart = 0;
     3154          uiEnd   = 1;
     3155        }
     3156        else if( m_pcEncCfg->getUseIVP() )
     3157        {
     3158          uiStart = 1;
     3159          uiEnd   = 2;
     3160        }
     3161        else
     3162        {
     3163          uiStart = 0;
     3164          uiEnd   = 0;
     3165        }
     3166        for( UInt dmmType = uiStart; dmmType < uiEnd; dmmType++ )
     3167#else
    31403168        for( UInt dmmType = 0; dmmType < DMM_NUM_TYPE; dmmType++ )
     3169#endif
    31413170        {
    31423171#if H_3D_FCO
Note: See TracChangeset for help on using the changeset viewer.