Ignore:
Timestamp:
12 Apr 2018, 11:12:21 (7 years ago)
Author:
tech
Message:
  • Update HM-16.18
  • Cleanups
  • Encoder Extension

-- Representation formats
-- Parameter set sharing
-- GOP configuration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-16.2-dev/source/Lib/TLibCommon/TComMotionInfo.h

    r1405 r1412  
    44 * granted under this license. 
    55 *
    6 * Copyright (c) 2010-2016, ITU/ISO/IEC
     6 * Copyright (c) 2010-2017, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    5151// ====================================================================================================================
    5252
    53 #if NH_3D_SPIVMP
     53#if NH_3D
    5454class TComDataCU;
    5555#endif
     
    5959  TComMv m_acMvCand[ AMVP_MAX_NUM_CANDS ];  ///< array of motion vector predictor candidates
    6060  Int    iN;                                ///< number of motion vector predictor candidates
     61#if MCTS_ENC_CHECK
     62  UInt   numSpatialMVPCandidates;
     63#endif
    6164} AMVPInfo;
    6265
    63 #if NH_3D_NBDV
     66#if NH_3D
    6467typedef struct _DisCand
    6568{
    6669  TComMv m_acNBDV;              // DV from NBDV
    67 #if NH_3D_NBDV_REF
    6870  TComMv m_acDoNBDV;            // DV from DoNBDV
    69 #endif 
    7071  Int    m_aVIdxCan;            // View order index (the same with the NBDV and the DoNBDV)
    7172} DisInfo;
     
    108109  Int getHor   () const { return  m_acMv.getHor(); }
    109110  Int getVer   () const { return  m_acMv.getVer(); }
    110 #if NH_3D_IV_MERGE
     111#if NH_3D
    111112  Bool operator== ( const TComMvField& rcMv ) const
    112113  {
     
    168169  Void    setAllRefIdx ( Int iRefIdx,                 PartSize eMbMode, Int iPartAddr, UInt uiDepth, Int iPartIdx=0 );
    169170  Void    setAllMvField( TComMvField const & mvField, PartSize eMbMode, Int iPartAddr, UInt uiDepth, Int iPartIdx=0 );
    170 #if NH_3D_SPIVMP
     171#if NH_3D
    171172  Void    setMvFieldSP ( TComDataCU* pcCU, UInt uiAbsPartIdx, TComMvField cMvField, Int iWidth, Int iHeight  );
    172 #endif
    173 #if NH_3D_VSP
    174173  Void    setMv         ( Int iIdx, TComMv const & rcMv ) { m_pcMv[iIdx] = rcMv; }
    175174  Void    setRefIdx     ( Int iIdx, Int iRefIdx )         { m_piRefIdx[iIdx] = iRefIdx; }
     
    188187  }
    189188 
     189#if REDUCED_ENCODER_MEMORY
     190  Void compress(SChar *pePredMode, const SChar* pePredModeSource, const Int scale, const TComCUMvField &source);
     191#else
    190192  Void compress(SChar* pePredMode, Int scale);
     193#endif
    191194#if NH_MV
    192195  Void print   (SChar* pePredMode);
     
    196199//! \}
    197200
    198 #if NH_3D_MLC
     201#if NH_3D
    199202/// class for container of merge candidate
    200203class TComMotionCand
     
    204207  TComMvField           m_cMvField[2];
    205208  UChar                 m_uDir;
    206 #if NH_3D_VSP
    207209  Int                   m_iVspFlag;
    208 #endif
    209 #if NH_3D_SPIVMP
    210210  Bool                  m_bSPIVMPFlag;
    211 #endif
    212211
    213212public:
     
    216215    m_bAvailable = false;
    217216    m_uDir = 0;
    218 #if NH_3D_VSP
    219217    m_iVspFlag = 0;
    220 #endif
    221 #if NH_3D_SPIVMP
    222218    m_bSPIVMPFlag = false;
    223 #endif
    224219  }
    225220
     
    235230    m_bAvailable = false;
    236231    m_uDir = 0;
    237 #if NH_3D_VSP
    238232    m_iVspFlag = 0;
    239 #endif
    240 #if NH_3D_SPIVMP
    241233    m_bSPIVMPFlag = false;
    242 #endif
    243234    m_cMvField[0].setMvField(cZeroMv, NOT_VALID);
    244235    m_cMvField[1].setMvField(cZeroMv, NOT_VALID);
    245236  }
    246237
    247   Void setCand(TComMvField* pcMvFieldNeighbours, UChar uhInterDirNeighbours
    248 #if NH_3D_VSP
    249     , Int vspFlag
    250 #endif
    251 #if NH_3D_SPIVMP
    252     , Bool bSPIVMPFlag
    253 #endif
    254     )
     238  Void setCand(TComMvField* pcMvFieldNeighbours, UChar uhInterDirNeighbours, Int vspFlag, Bool bSPIVMPFlag )
    255239  {
    256240    m_bAvailable = true;
     
    258242    m_cMvField[1] = pcMvFieldNeighbours[1];
    259243    m_uDir = uhInterDirNeighbours;
    260 #if NH_3D_VSP
    261244    m_iVspFlag = vspFlag;
    262 #endif
    263 #if NH_3D_SPIVMP
    264245    m_bSPIVMPFlag = bSPIVMPFlag;
    265 #endif
    266   }
    267  
    268   Void getCand(Int iCount, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours
    269 #if NH_3D_VSP
    270     , Int* vspFlag
    271 #endif
    272 #if NH_3D_SPIVMP
    273     , Bool* pbSPIVMPFlag
    274 #endif
    275     )
     246  }
     247 
     248  Void getCand(Int iCount, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours, Int* vspFlag , Bool* pbSPIVMPFlag )
    276249  {
    277250    pcMvFieldNeighbours[iCount<<1] = m_cMvField[0];
    278251    pcMvFieldNeighbours[(iCount<<1) + 1] = m_cMvField[1];
    279252    puhInterDirNeighbours[iCount] = m_uDir;
    280 #if NH_3D_VSP
    281253    vspFlag[iCount] = m_iVspFlag;
    282 #endif
    283 #if NH_3D_SPIVMP
    284254    pbSPIVMPFlag[iCount] = m_bSPIVMPFlag;
    285 #endif
    286   }
    287 
    288 
     255  }
    289256  Void print( Int i );
    290 
    291257};
    292258
Note: See TracChangeset for help on using the changeset viewer.