Changeset 1255 in 3DVCSoftware for branches/HTM-14.1-update-dev3-NTT/source/Lib/TLibEncoder/TEncSearch.cpp
- Timestamp:
- 11 Jun 2015, 01:07:43 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-14.1-update-dev3-NTT/source/Lib/TLibEncoder/TEncSearch.cpp
r1233 r1255 3869 3869 //! estimation of best merge coding 3870 3870 Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, Distortion& ruiCost, TComMvField* cMvFieldNeighbours, UChar* uhInterDirNeighbours, Int& numValidMergeCand 3871 #if H_3D_VSP3871 #if NH_3D_VSP 3872 3872 , Int* vspFlag 3873 3873 #endif … … 3936 3936 3937 3937 pcCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours 3938 #if H_3D_VSP3938 #if NH_3D_VSP 3939 3939 , vspFlag 3940 3940 #endif … … 3963 3963 3964 3964 pcCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours 3965 #if H_3D_VSP3965 #if NH_3D_VSP 3966 3966 , vspFlag 3967 3967 #endif … … 4001 4001 4002 4002 PartSize ePartSize = pcCU->getPartitionSize( 0 ); 4003 #if H_3D_VSP4003 #if NH_3D_VSP 4004 4004 pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 4005 4005 #endif … … 4024 4024 else 4025 4025 #endif 4026 #if H_3D_VSP4026 #if NH_3D_VSP 4027 4027 #if H_3D_DBBP 4028 4028 if ( vspFlag[uiMergeCand] && !pcCU->getDBBPFlag(0) ) … … 4061 4061 pcCU->getCUMvField(REF_PIC_LIST_0)->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 4062 4062 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 4063 #if H_3D_VSP4063 #if NH_3D_VSP 4064 4064 } 4065 4065 #endif … … 4207 4207 4208 4208 pcCU->getPartIndexAndSize( iPartIdx, uiPartAddr, iRoiWidth, iRoiHeight ); 4209 #if H_3D_VSP4209 #if NH_3D_VSP 4210 4210 pcCU->setVSPFlagSubParts( 0, uiPartAddr, iPartIdx, pcCU->getDepth(uiPartAddr) ); 4211 4211 #endif … … 4590 4590 Distortion uiMRGCost = std::numeric_limits<Distortion>::max(); 4591 4591 4592 #if H_3D_VSP4592 #if NH_3D_VSP 4593 4593 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 4594 4594 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); … … 4607 4607 puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartition()]; 4608 4608 #endif 4609 xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost, cMvFieldNeighbours, uhInterDirNeighbours 4610 4611 #if H_3D_VSP 4609 xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand 4610 #if NH_3D_VSP 4612 4611 , vspFlag 4613 4612 #endif … … 4615 4614 , bSPIVMPFlag, pcMvFieldSP, puhInterDirSP 4616 4615 #endif 4617 , numValidMergeCand);4616 ); 4618 4617 4619 4618 if ( uiMRGCost < uiMECost ) … … 4622 4621 pcCU->setMergeFlagSubParts ( true, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4623 4622 pcCU->setMergeIndexSubParts( uiMRGIndex, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4624 #if H_3D_VSP4623 #if NH_3D_VSP 4625 4624 pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4626 4625 #endif … … 4648 4647 else 4649 4648 #endif 4650 #if H_3D_VSP4649 #if NH_3D_VSP 4651 4650 #if H_3D_DBBP 4652 4651 if ( vspFlag[uiMRGIndex] && !pcCU->getDBBPFlag(uiPartAddr) ) … … 4685 4684 pcCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMRGMvField[0], ePartSize, uiPartAddr, 0, iPartIdx ); 4686 4685 pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMRGMvField[1], ePartSize, uiPartAddr, 0, iPartIdx ); 4686 #if NH_3D_VSP 4687 } 4688 #endif 4687 4689 #if H_3D 4688 4690 } … … 4704 4706 pcCU->setMergeFlagSubParts( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4705 4707 pcCU->setInterDirSubParts ( uiMEInterDir, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4706 #if H_3D_VSP4708 #if NH_3D_VSP 4707 4709 pcCU->setVSPFlagSubParts ( 0, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4708 4710 pcCU->setDvInfoSubParts(OriginalDvInfo, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
Note: See TracChangeset for help on using the changeset viewer.