Changeset 673 in 3DVCSoftware for branches/HTM-8.2-dev3-LG


Ignore:
Timestamp:
7 Nov 2013, 08:47:42 (11 years ago)
Author:
lg
Message:

JCT3V-F0159; JCT3V-F0160
Bugfix is included. (JCT3V-F0158)

Location:
branches/HTM-8.2-dev3-LG/source/Lib
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-8.2-dev3-LG/source/Lib/TLibCommon/ContextTables.h

    r667 r673  
    385385INIT_IC_FLAG[3][NUM_IC_FLAG_CTX] = 
    386386{
     387#if LGE_IC_CTX_F0160
     388    { 154,  154,  154, },
     389    { 154,  154,  154, },
     390    { 154,  154,  154, },
     391#else
    387392  { CNU,  CNU,  CNU, },
    388393  { 197,  185,  201, },
    389394  { 197,  185,  201, },
     395#endif
    390396};
    391397#endif
  • branches/HTM-8.2-dev3-LG/source/Lib/TLibCommon/TComDataCU.cpp

    r655 r673  
    23132313{
    23142314  UInt        uiCtx = 0;
     2315
     2316#if LGE_IC_CTX_F0160
     2317  TComDataCU* pcTempCU = NULL;
     2318  UInt        uiTempPartIdx = 0;
     2319
     2320  pcTempCU = getPULeft( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx );
     2321  uiCtx    = ( pcTempCU ) ? pcTempCU->isIC( uiTempPartIdx ) : 0;
     2322
     2323  pcTempCU = getPUAbove( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx );
     2324  uiCtx    += ( pcTempCU ) ? pcTempCU->isIC( uiTempPartIdx ) : 0;
     2325#endif
    23152326
    23162327  return uiCtx;
     
    45714582}
    45724583
     4584#if LGE_IC_CTX_F0160
     4585Bool TComDataCU::isIC( UInt uiPartIdx )
     4586{
     4587    if ( m_pcSlice->isIntra () )
     4588    {
     4589        return false;
     4590    }
     4591    return ( ( getSkipFlag(uiPartIdx) || getPredictionMode(uiPartIdx) == MODE_INTER) && getICFlag( uiPartIdx ) && isICFlagRequired( uiPartIdx ) );
     4592}
     4593#endif
     4594
    45734595// ====================================================================================================================
    45744596// Protected member functions
  • branches/HTM-8.2-dev3-LG/source/Lib/TLibCommon/TComDataCU.h

    r655 r673  
    682682  Bool          isBipredRestriction( UInt puIdx );
    683683
     684#if LGE_IC_CTX_F0160
     685  Bool          isIC      ( UInt uiPartIdx );
     686#endif
     687
    684688  // -------------------------------------------------------------------------------------------------------------------
    685689  // member functions for symbol prediction (most probable / mode conversion)
  • branches/HTM-8.2-dev3-LG/source/Lib/TLibCommon/TypeDef.h

    r667 r673  
    6565#define H_3D          ( HEVC_EXT == 2)
    6666
     67#define LGE_BUGFIX_F0158 1 //JCT3V-F0158
    6768/////////////////////////////////////////////////////////////////////////////////////////
    6869///////////////////////////////////   MAJOR DEFINES   /////////////////////////////////// 
     
    103104                                              // MTK_CLIPPING_ALIGN_IC_E0168       // To support simplify bi-prediction PU with identical motion checking, JCT3V-E0168
    104105
     106#define LGE_IC_CTX_F0160 1 //JCT3V-F0160
     107
    105108#if H_3D_NBDV
    106109#define H_3D_NBDV_REF                     1   // Depth oriented neighboring block disparity derivation
     
    220223#define QC_DIM_DELTADC_UNIFY_F0132        1   // Unify delta DC coding in depth intra modes
    221224#define HHI_DIM_PREDSAMP_FIX_F0171        1
     225#define LGE_PRED_RES_CODING_DLT_DOMAIN_F0159 1 //JCT3V-F0159
    222226#endif
    223227///// ***** VIEW SYNTHESIS PREDICTION *********
  • branches/HTM-8.2-dev3-LG/source/Lib/TLibDecoder/TDecCu.cpp

    r655 r673  
    693693    for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    694694    {
     695#if LGE_PRED_RES_CODING_DLT_DOMAIN_F0159
     696        if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     697            pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     698        else
     699            pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
     700#else
    695701      pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
     702#endif
    696703      pRecIPred[ uiX ] = pReco[ uiX ];
    697704    }
  • branches/HTM-8.2-dev3-LG/source/Lib/TLibEncoder/TEncSearch.cpp

    r667 r673  
    11261126      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    11271127      {
     1128#if LGE_PRED_RES_CODING_DLT_DOMAIN_F0159
     1129          if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     1130              pResi[ uiX ] = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pOrg[ uiX ] ) - pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] );
     1131          else
     1132              pResi[ uiX ] = pOrg[ uiX ] - pPred[ uiX ];
     1133#else
    11281134        pResi[ uiX ] = pOrg[ uiX ] - pPred[ uiX ];
     1135#endif
    11291136      }
    11301137      pOrg  += uiStride;
     
    11901197      for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    11911198      {
     1199#if LGE_PRED_RES_CODING_DLT_DOMAIN_F0159
     1200          if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
     1201              pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     1202          else
     1203              pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
     1204#else
    11921205        pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
     1206#endif
    11931207        pRecQt   [ uiX ] = pReco[ uiX ];
    11941208        pRecIPred[ uiX ] = pReco[ uiX ];
     
    29792993      Bool bTestZeroResi = false;
    29802994#if H_3D_DIM_ENC
     2995#if LGE_BUGFIX_F0158
     2996      bTestZeroResi |= pcCU->getSlice()->getIsDepth() && !pcCU->getSlice()->isIRAP();
     2997#else
    29812998      bTestZeroResi |= pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->isIRAP();
     2999#endif
    29823000#endif
    29833001#if H_3D_DIM_SDC
Note: See TracChangeset for help on using the changeset viewer.