Changeset 510 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder
- Timestamp:
- 2 Jul 2013, 21:49:16 (13 years ago)
- Location:
- branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder
- Files:
-
- 4 edited
-
TEncCu.cpp (modified) (2 diffs)
-
TEncGOP.cpp (modified) (1 diff)
-
TEncSearch.cpp (modified) (8 diffs)
-
TEncSearch.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCu.cpp
r504 r510 1354 1354 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level 1355 1355 rpcTempCU->setCUTransquantBypassSubParts( m_pcEncCfg->getCUTransquantBypassFlagValue(), 0, uhDepth ); 1356 1357 #if H_3D_VSP 1358 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 1359 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 1360 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, numValidMergeCand ); 1361 #else 1356 1362 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand ); 1363 #endif 1357 1364 1358 1365 #if H_3D_IV_MERGE … … 1419 1426 rpcTempCU->setMergeFlagSubParts( true, 0, 0, uhDepth ); // interprets depth relative to LCU level 1420 1427 rpcTempCU->setMergeIndexSubParts( uiMergeCand, 0, 0, uhDepth ); // interprets depth relative to LCU level 1428 #if H_3D_VSP 1429 rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth ); 1430 #endif 1421 1431 rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to LCU level 1422 1432 rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp
r504 r510 821 821 } 822 822 823 // A bug fix provided by Gerhard to deal with IBP configuration. NEED futher study 824 #if H_MV 825 if( pcSlice->getIdrPicFlag() ) 826 { 827 pcSlice->setEnableTMVPFlag(0); 828 } 829 #endif 830 823 831 #if H_3D_VSO 824 832 // Should be moved to TEncTop !!! -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncSearch.cpp
r504 r510 3171 3171 * \returns Void 3172 3172 */ 3173 Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, UInt& ruiCost, TComMvField* cMvFieldNeighbours, UChar* uhInterDirNeighbours, Int& numValidMergeCand ) 3173 Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, UInt& ruiCost, TComMvField* cMvFieldNeighbours, UChar* uhInterDirNeighbours 3174 #if H_3D_VSP 3175 , Int* vspFlag 3176 #endif 3177 , Int& numValidMergeCand 3178 ) 3174 3179 { 3175 3180 UInt uiAbsPartIdx = 0; … … 3185 3190 if ( iPUIdx == 0 ) 3186 3191 { 3187 pcCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand ); 3192 pcCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours 3193 #if H_3D_VSP 3194 , vspFlag 3195 #endif 3196 , numValidMergeCand 3197 ); 3188 3198 } 3189 3199 pcCU->setPartSizeSubParts( partSize, 0, uiDepth ); … … 3191 3201 else 3192 3202 { 3193 pcCU->getInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand ); 3203 pcCU->getInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours 3204 #if H_3D_VSP 3205 , vspFlag 3206 #endif 3207 , numValidMergeCand 3208 ); 3194 3209 } 3195 3210 xRestrictBipredMergeCand( pcCU, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand ); … … 3206 3221 pcCU->getCUMvField(REF_PIC_LIST_0)->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3207 3222 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3223 3224 #if H_3D_VSP 3225 pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3226 #endif 3208 3227 3209 3228 xGetInterPredictionError( pcCU, pcYuvOrg, iPUIdx, uiCostCand, m_pcEncCfg->getUseHADME() ); … … 3362 3381 3363 3382 pcCU->getPartIndexAndSize( iPartIdx, uiPartAddr, iRoiWidth, iRoiHeight ); 3383 3384 #if H_3D_VSP 3385 pcCU->setVSPFlagSubParts( 0, uiPartAddr, iPartIdx, pcCU->getDepth(uiPartAddr) ); 3386 #endif 3364 3387 3365 3388 #if AMP_MRG … … 3965 3988 // find Merge result 3966 3989 UInt uiMRGCost = MAX_UINT; 3967 xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand); 3990 #if H_3D_VSP 3991 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 3992 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 3993 #endif 3994 3995 xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost, cMvFieldNeighbours, uhInterDirNeighbours 3996 #if H_3D_VSP 3997 , vspFlag 3998 #endif 3999 , numValidMergeCand 4000 ); 3968 4001 if ( uiMRGCost < uiMECost ) 3969 4002 { … … 3971 4004 pcCU->setMergeFlagSubParts ( true, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 3972 4005 pcCU->setMergeIndexSubParts( uiMRGIndex, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4006 #if H_3D_VSP 4007 pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4008 #endif 3973 4009 pcCU->setInterDirSubParts ( uiMRGInterDir, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 3974 4010 { … … 3990 4026 pcCU->setMergeFlagSubParts( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 3991 4027 pcCU->setInterDirSubParts ( uiMEInterDir, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4028 #if H_3D_VSP 4029 pcCU->setVSPFlagSubParts ( 0, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4030 #endif 3992 4031 { 3993 4032 pcCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMEMvField[0], ePartSize, uiPartAddr, 0, iPartIdx ); -
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncSearch.h
r446 r510 380 380 UInt& ruiCost 381 381 , TComMvField* cMvFieldNeighbours, 382 UChar* uhInterDirNeighbours, 383 Int& numValidMergeCand 382 UChar* uhInterDirNeighbours 383 #if H_3D_VSP 384 , Int* vspFlag 385 #endif 386 , Int& numValidMergeCand 384 387 ); 385 388
Note: See TracChangeset for help on using the changeset viewer.