Changeset 1412 in 3DVCSoftware for branches/HTM-16.2-dev/source/Lib/TLibCommon/TComMotionInfo.h
- Timestamp:
- 12 Apr 2018, 11:12:21 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-16.2-dev/source/Lib/TLibCommon/TComMotionInfo.h
r1405 r1412 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-2016, ITU/ISO/IEC6 * Copyright (c) 2010-2017, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 51 51 // ==================================================================================================================== 52 52 53 #if NH_3D _SPIVMP53 #if NH_3D 54 54 class TComDataCU; 55 55 #endif … … 59 59 TComMv m_acMvCand[ AMVP_MAX_NUM_CANDS ]; ///< array of motion vector predictor candidates 60 60 Int iN; ///< number of motion vector predictor candidates 61 #if MCTS_ENC_CHECK 62 UInt numSpatialMVPCandidates; 63 #endif 61 64 } AMVPInfo; 62 65 63 #if NH_3D _NBDV66 #if NH_3D 64 67 typedef struct _DisCand 65 68 { 66 69 TComMv m_acNBDV; // DV from NBDV 67 #if NH_3D_NBDV_REF68 70 TComMv m_acDoNBDV; // DV from DoNBDV 69 #endif70 71 Int m_aVIdxCan; // View order index (the same with the NBDV and the DoNBDV) 71 72 } DisInfo; … … 108 109 Int getHor () const { return m_acMv.getHor(); } 109 110 Int getVer () const { return m_acMv.getVer(); } 110 #if NH_3D _IV_MERGE111 #if NH_3D 111 112 Bool operator== ( const TComMvField& rcMv ) const 112 113 { … … 168 169 Void setAllRefIdx ( Int iRefIdx, PartSize eMbMode, Int iPartAddr, UInt uiDepth, Int iPartIdx=0 ); 169 170 Void setAllMvField( TComMvField const & mvField, PartSize eMbMode, Int iPartAddr, UInt uiDepth, Int iPartIdx=0 ); 170 #if NH_3D _SPIVMP171 #if NH_3D 171 172 Void setMvFieldSP ( TComDataCU* pcCU, UInt uiAbsPartIdx, TComMvField cMvField, Int iWidth, Int iHeight ); 172 #endif173 #if NH_3D_VSP174 173 Void setMv ( Int iIdx, TComMv const & rcMv ) { m_pcMv[iIdx] = rcMv; } 175 174 Void setRefIdx ( Int iIdx, Int iRefIdx ) { m_piRefIdx[iIdx] = iRefIdx; } … … 188 187 } 189 188 189 #if REDUCED_ENCODER_MEMORY 190 Void compress(SChar *pePredMode, const SChar* pePredModeSource, const Int scale, const TComCUMvField &source); 191 #else 190 192 Void compress(SChar* pePredMode, Int scale); 193 #endif 191 194 #if NH_MV 192 195 Void print (SChar* pePredMode); … … 196 199 //! \} 197 200 198 #if NH_3D _MLC201 #if NH_3D 199 202 /// class for container of merge candidate 200 203 class TComMotionCand … … 204 207 TComMvField m_cMvField[2]; 205 208 UChar m_uDir; 206 #if NH_3D_VSP207 209 Int m_iVspFlag; 208 #endif209 #if NH_3D_SPIVMP210 210 Bool m_bSPIVMPFlag; 211 #endif212 211 213 212 public: … … 216 215 m_bAvailable = false; 217 216 m_uDir = 0; 218 #if NH_3D_VSP219 217 m_iVspFlag = 0; 220 #endif221 #if NH_3D_SPIVMP222 218 m_bSPIVMPFlag = false; 223 #endif224 219 } 225 220 … … 235 230 m_bAvailable = false; 236 231 m_uDir = 0; 237 #if NH_3D_VSP238 232 m_iVspFlag = 0; 239 #endif240 #if NH_3D_SPIVMP241 233 m_bSPIVMPFlag = false; 242 #endif243 234 m_cMvField[0].setMvField(cZeroMv, NOT_VALID); 244 235 m_cMvField[1].setMvField(cZeroMv, NOT_VALID); 245 236 } 246 237 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 ) 255 239 { 256 240 m_bAvailable = true; … … 258 242 m_cMvField[1] = pcMvFieldNeighbours[1]; 259 243 m_uDir = uhInterDirNeighbours; 260 #if NH_3D_VSP261 244 m_iVspFlag = vspFlag; 262 #endif263 #if NH_3D_SPIVMP264 245 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 ) 276 249 { 277 250 pcMvFieldNeighbours[iCount<<1] = m_cMvField[0]; 278 251 pcMvFieldNeighbours[(iCount<<1) + 1] = m_cMvField[1]; 279 252 puhInterDirNeighbours[iCount] = m_uDir; 280 #if NH_3D_VSP281 253 vspFlag[iCount] = m_iVspFlag; 282 #endif283 #if NH_3D_SPIVMP284 254 pbSPIVMPFlag[iCount] = m_bSPIVMPFlag; 285 #endif 286 } 287 288 255 } 289 256 Void print( Int i ); 290 291 257 }; 292 258
Note: See TracChangeset for help on using the changeset viewer.