Changeset 1313 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComMotionInfo.cpp
- Timestamp:
- 13 Aug 2015, 17:38:13 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComMotionInfo.cpp
r1196 r1313 2 2 * License, included below. This software may be subject to other third party 3 3 * and contributor rights, including patent rights, and no such rights are 4 * granted under this license. 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-2015, ITU/ISO/IEC6 * Copyright (c) 2010-2015, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 40 40 #include "assert.h" 41 41 #include <stdlib.h> 42 #if H_3D_SPIVMP42 #if NH_3D_SPIVMP 43 43 #include "TComDataCU.h" 44 44 #include "TComPic.h" … … 61 61 assert(m_pcMvd == NULL); 62 62 assert(m_piRefIdx == NULL); 63 63 64 64 m_pcMv = new TComMv[ uiNumPartition ]; 65 65 m_pcMvd = new TComMv[ uiNumPartition ]; 66 66 m_piRefIdx = new Char [ uiNumPartition ]; 67 67 68 68 m_uiNumPartition = uiNumPartition; 69 69 } … … 74 74 assert(m_pcMvd != NULL); 75 75 assert(m_piRefIdx != NULL); 76 76 77 77 delete[] m_pcMv; 78 78 delete[] m_pcMvd; 79 79 delete[] m_piRefIdx; 80 80 81 81 m_pcMv = NULL; 82 82 m_pcMvd = NULL; 83 83 m_piRefIdx = NULL; 84 84 85 85 m_uiNumPartition = 0; 86 86 } … … 95 95 { 96 96 m_pcMv [ i ].setZero(); 97 m_pcMvd[ i ].setZero(); 97 m_pcMvd[ i ].setZero(); 98 98 } 99 99 assert( sizeof( *m_piRefIdx ) == 1 ); … … 104 104 { 105 105 Int iSizeInTComMv = sizeof( TComMv ) * iNumPartSrc; 106 106 107 107 memcpy( m_pcMv + iPartAddrDst, pcCUMvFieldSrc->m_pcMv, iSizeInTComMv ); 108 108 memcpy( m_pcMvd + iPartAddrDst, pcCUMvFieldSrc->m_pcMvd, iSizeInTComMv ); … … 119 119 Int iSizeInTComMv = sizeof( TComMv ) * uiNumPart; 120 120 Int iOffset = uiOffset + iPartAddrDst; 121 121 122 122 memcpy( pcCUMvFieldDst->m_pcMv + iOffset, m_pcMv + uiOffset, iSizeInTComMv ); 123 123 memcpy( pcCUMvFieldDst->m_pcMvd + iOffset, m_pcMvd + uiOffset, iSizeInTComMv ); … … 135 135 p += iPartAddr; 136 136 Int numElements = m_uiNumPartition >> ( 2 * uiDepth ); 137 137 138 138 switch( eCUMode ) 139 139 { … … 144 144 } 145 145 break; 146 146 147 147 case SIZE_2NxN: 148 148 numElements >>= 1; … … 152 152 } 153 153 break; 154 154 155 155 case SIZE_Nx2N: 156 156 numElements >>= 2; … … 161 161 } 162 162 break; 163 163 164 164 case SIZE_NxN: 165 165 numElements >>= 2; … … 328 328 } 329 329 330 #if H_3D_SPIVMP330 #if NH_3D_SPIVMP 331 331 Void TComCUMvField::setMvFieldSP( TComDataCU* pcCU, UInt uiAbsPartIdx, TComMvField cMvField, Int iWidth, Int iHeight ) 332 332 { 333 uiAbsPartIdx += pcCU->getZorderIdxInC U();333 uiAbsPartIdx += pcCU->getZorderIdxInCtu(); 334 334 Int iStartPelX = g_auiRasterToPelX[g_auiZscanToRaster[uiAbsPartIdx]]; 335 335 Int iStartPelY = g_auiRasterToPelY[g_auiZscanToRaster[uiAbsPartIdx]]; … … 341 341 for (Int j=iStartPelX; j < iEndPelX; j += pcCU->getPic()->getMinCUWidth()) 342 342 { 343 Int iCurrRaster = i / pcCU->getPic()->getMinCUHeight() * pcCU->getPic()->getNumPartIn Width() + j/pcCU->getPic()->getMinCUWidth();343 Int iCurrRaster = i / pcCU->getPic()->getMinCUHeight() * pcCU->getPic()->getNumPartInCtuWidth() + j/pcCU->getPic()->getMinCUWidth(); 344 344 Int uiPartAddr = g_auiRasterToZscan[iCurrRaster]; 345 uiPartAddr -= pcCU->getZorderIdxInC U();345 uiPartAddr -= pcCU->getZorderIdxInCtu(); 346 346 347 347 m_pcMv[uiPartAddr] = cMvField.getMv(); … … 360 360 Int N = scale * scale; 361 361 assert( N > 0 && N <= m_uiNumPartition); 362 362 363 363 for ( Int uiPartIdx = 0; uiPartIdx < m_uiNumPartition; uiPartIdx += N ) 364 364 { 365 TComMv cMv(0,0); 366 PredMode predMode = MODE_INTRA; 365 TComMv cMv(0,0); 367 366 Int iRefIdx = 0; 368 367 369 368 cMv = m_pcMv[ uiPartIdx ]; 370 predMode = static_cast<PredMode>( pePredMode[ uiPartIdx ] );369 PredMode predMode = static_cast<PredMode>( pePredMode[ uiPartIdx ] ); 371 370 iRefIdx = m_piRefIdx[ uiPartIdx ]; 372 371 for ( Int i = 0; i < N; i++ ) … … 377 376 } 378 377 } 379 } 378 } 380 379 //! \}
Note: See TracChangeset for help on using the changeset viewer.