Changeset 826 in 3DVCSoftware for branches/HTM-9.3-dev0/source/Lib/TLibCommon


Ignore:
Timestamp:
5 Feb 2014, 18:55:49 (11 years ago)
Author:
tech
Message:

Merged 9.3-dev2-MediaTek@812.

Location:
branches/HTM-9.3-dev0/source/Lib/TLibCommon
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.3-dev0/source/Lib/TLibCommon/ContextTables.h

    r816 r826  
    9797
    9898#if H_3D_ARP
     99#if MTK_ARP_FLAG_CABAC_SIMP_G0061
     100#define NUM_ARPW_CTX                  3       ///< number of context models for weighting factor index used by advanced residual prediction
     101#else
    99102#define NUM_ARPW_CTX                  4       ///< number of context models for weighting factor index used by advanced residual prediction
    100103#endif
     104#endif
    101105
    102106#if H_3D_IC
     107#if MTK_IC_FLAG_CABAC_SIMP_G0061
     108#define NUM_IC_FLAG_CTX               1       ///< number of context models for illumination compensation flag
     109#else
    103110#define NUM_IC_FLAG_CTX               3       ///< number of context models for illumination compensation flag
     111#endif
    104112#endif
    105113
     
    368376
    369377#if H_3D_ARP
     378#if MTK_ARP_FLAG_CABAC_SIMP_G0061
     379static const UChar
     380INIT_ARPW[3][NUM_ARPW_CTX] =
     381{
     382    { 162, 153, 162 },
     383    { 162, 153, 162 },
     384    { 162, 153, 162 },
     385};
     386#else
    370387static const UChar
    371388INIT_ARPW[3][NUM_ARPW_CTX] =
     
    376393};
    377394#endif
    378 
     395#endif
    379396#if H_3D_IC
     397#if MTK_IC_FLAG_CABAC_SIMP_G0061
     398static const UChar
     399INIT_IC_FLAG[3][NUM_IC_FLAG_CTX] = 
     400{
     401    { 154 },
     402    { 154 },
     403    { 154 },
     404};
     405#else
    380406static const UChar
    381407INIT_IC_FLAG[3][NUM_IC_FLAG_CTX] = 
     
    386412};
    387413#endif
     414#endif
    388415#if H_3D_DIM
    389416static const UChar
  • branches/HTM-9.3-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r821 r826  
    23982398  uiCtx    = ( pcTempCU ) ? ((pcTempCU->getARPW( uiTempPartIdx )==0)?0:1) : 0;
    23992399 
     2400#if !MTK_ARP_FLAG_CABAC_SIMP_G0061       
    24002401  pcTempCU = getPUAbove( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx );
    24012402  uiCtx   += ( pcTempCU ) ? ((pcTempCU->getARPW( uiTempPartIdx )==0)?0:1): 0;
    2402  
     2403#endif
    24032404  return uiCtx;
    24042405}
    24052406#endif
    2406 
     2407#if !MTK_IC_FLAG_CABAC_SIMP_G0061
    24072408#if H_3D_IC
    24082409UInt TComDataCU::getCtxICFlag( UInt uiAbsPartIdx )
     
    24222423}
    24232424#endif
    2424 
     2425#endif
    24252426#if H_3D_DBBP
    24262427Pel* TComDataCU::getVirtualDepthBlock(UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, UInt& uiDepthStride)
     
    34603461  Bool* abCandIsInter, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspFlag, Int& iCount3DV, InheritedVSPDisInfo*  inheritedVSPDisInfo  )
    34613462  {
     3463#if MTK_NBDV_IVREF_FIX_G0067
     3464  if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1)
     3465#else
    34623466  if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || m_pcSlice->getIsDepth() )
     3467#endif
    34633468  {
    34643469    return false;
     
    46944699  Bool ivMvPredFlag   = getSlice()->getVPS()->getIvMvPredFlag( getSlice()->getLayerIdInVps() );
    46954700
     4701#if MTK_NBDV_IVREF_FIX_G0067
     4702  if ( ivMvPredFlag && cDisInfo.m_aVIdxCan!=-1)
     4703#else
    46964704  if ( ivMvPredFlag )
     4705#endif
    46974706  {
    46984707    getInterViewMergeCands(uiPUIdx, ivCandRefIdx, ivCandMv, &cDisInfo, ivCandDir , bIsDepth, pcMvFieldSP, puhInterDirSP );
     
    69506959  // Init disparity struct for results
    69516960  pDInfo->bDV = false;   
     6961#if MTK_NBDV_IVREF_FIX_G0067
     6962  pDInfo->m_aVIdxCan = -1;
     6963#endif
    69526964  // Init struct for disparities from MCP neighboring blocks
    69536965  IDVInfo cIDVInfo;
  • branches/HTM-9.3-dev0/source/Lib/TLibCommon/TComDataCU.h

    r816 r826  
    781781  UInt          getCTXARPWFlag                  ( UInt   uiAbsPartIdx                                 );
    782782#endif 
     783#if !MTK_IC_FLAG_CABAC_SIMP_G0061
    783784#if H_3D_IC
    784785  UInt          getCtxICFlag                    ( UInt   uiAbsPartIdx                                 );
     786#endif
    785787#endif
    786788  UInt          getSliceStartCU         ( UInt pos )                  { return m_sliceStartCU[pos-m_uiAbsIdxInLCU];                                                                                          }
  • branches/HTM-9.3-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r816 r826  
    31323132    for ( Int refListIdx = 0; refListIdx < ((m_eSliceType==B_SLICE) ? 2 : 1); refListIdx++ )
    31333133    {
     3134#if MTK_ARP_REF_SELECTION_G0053
     3135      Int diffPOC=MAX_INT;
     3136      Int idx=-1;
     3137#endif
    31343138      for(Int i = 0; i < getNumRefIdx(RefPicList(refListIdx)); i++ )
    31353139      {
    31363140        if ( getRefPic(RefPicList(refListIdx), i)->getPOC() != getPOC() )
    31373141        {
     3142#if MTK_ARP_REF_SELECTION_G0053
     3143          if( abs(getRefPic(RefPicList(refListIdx), i)->getPOC() - getPOC()) < diffPOC)
     3144          {
     3145            diffPOC=abs(getRefPic(RefPicList(refListIdx), i)->getPOC() - getPOC());
     3146            idx=i;
     3147          }
     3148#else
    31383149          setFirstTRefIdx (RefPicList(refListIdx), i);
    31393150          break;
     3151#endif
    31403152        }
     3153#if MTK_ARP_REF_SELECTION_G0053
     3154        if(idx>=0)
     3155        {
     3156          setFirstTRefIdx (RefPicList(refListIdx), idx);
     3157        }
     3158#endif
    31413159      }
    31423160    }
  • branches/HTM-9.3-dev0/source/Lib/TLibCommon/TypeDef.h

    r816 r826  
    7878                                              // HHI_QTLPC_RAU_OFF_C0160     // JCT3V-C0160 change 2: quadtree limitation and predictive coding switched off in random access units
    7979
     80#ifdef H_3D_QTLPC
     81#define MTK_TEX_DEP_PAR_G0055             1   // Texture-partition-dependent depth partition. JCT3V-G0055
     82#endif
    8083#define H_3D_VSO                          1   // VSO, View synthesis optimization, includes:
    8184                                              // HHI_VSO
     
    102105                                              // SHARP_ARP_REF_CHECK_F0105        ARP reference picture selection and DPB check
    103106                                              // LGE_ARP_CTX_F0161                JCT3V-F0161
     107#define MTK_ARP_REF_SELECTION_G0053       1   // ARP Reference picture selection in JCT3V-G0053
     108#define MTK_ARP_FLAG_CABAC_SIMP_G0061     1   // Use 2 context for ARP flag referring to only left neighbor block in JCT3V-G0061
    104109#define H_3D_IC                           1   // Illumination Compensation, JCT3V-B0045, JCT3V-C0046, JCT3V-D0060
    105110                                              // Unifying rounding offset, for IC part, JCT3V-D0135
     
    109114                                              // LGE_IC_CTX_F0160 //JCT3V-F0160
    110115                                              // SEC_ONLY_TEXTURE_IC_F0151
     116#define MTK_IC_FLAG_CABAC_SIMP_G0061      1   // Use only 1 context for IC flag in JCT3V-G0061
    111117
    112118#if H_3D_NBDV
     
    117123                                              // NBDV_DEFAULT_VIEWIDX_BUGFIX Bug fix for invalid default view index for NBDV
    118124                                              // NTT_DoNBDV_VECTOR_CLIP_E0141 disparity vector clipping in DoNBDV, JCT3V-E0141 and JCT3V-E0209
     125#define MTK_NBDV_IVREF_FIX_G0067          1   // Disable IvMC, VSP when IVREF is not available, JCT3V-G0067
    119126#endif
    120127
     
    231238#define H_3D_ARP_WFNR                     3
    232239#endif
     240#define KHU_SIMP_SPIVMP_G0147             1  // Simplification on Sub-PU level temporal interview motion prediction
    233241
    234242#if H_3D_SPIVMP
     
    237245#define QC_DEPTH_MERGE_SIMP_G0127         1 // Remove DV candidate and shifting candidate for depth coding
    238246
    239 #define KHU_SIMP_SPIVMP_G0147             1  // Simplification on Sub-PU level temporal interview motion prediction
     247#define SEC_IC_ARP_SIG_G0072              1   // Disabling IC when ARP is enabled, option 1 in JCT3V-G0072, part 2 in JCT3V-G0121
    240248
    241249///// ***** DEPTH INTRA MODES *********
Note: See TracChangeset for help on using the changeset viewer.