Changeset 880 in 3DVCSoftware for branches/HTM-10.1-dev0/source/Lib/TLibEncoder
- Timestamp:
- 27 Mar 2014, 22:57:10 (11 years ago)
- Location:
- branches/HTM-10.1-dev0/source/Lib/TLibEncoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncCu.cpp
r877 r880 1900 1900 else 1901 1901 #endif 1902 #if NTT_STORE_SPDV_VSP_G01481903 1902 #if H_3D_VSP 1903 { 1904 1904 if ( vspFlag[uiMergeCand] ) 1905 1905 { … … 1934 1934 rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1935 1935 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1936 #if NTT_STORE_SPDV_VSP_G01481936 #if H_3D_VSP 1937 1937 } 1938 1938 } … … 1967 1967 1968 1968 rpcTempCU->setSkipFlagSubParts( rpcTempCU->getQtRootCbf(0) == 0, 0, uhDepth ); 1969 #if NTT_STORE_SPDV_VSP_G0148// possible bug fix1969 #if H_3D_VSP // possible bug fix 1970 1970 if( rpcTempCU->getSkipFlag(0) ) 1971 1971 { … … 2197 2197 #endif 2198 2198 m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false ); 2199 #if NTT_STORE_SPDV_VSP_G0148// possible bug fix2199 #if H_3D_VSP // possible bug fix 2200 2200 if( rpcTempCU->getQtRootCbf(0)==0 ) 2201 2201 { -
branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r879 r880 3756 3756 for( UInt uiMergeCand = 0; uiMergeCand < numValidMergeCand; ++uiMergeCand ) 3757 3757 { 3758 3759 3760 3761 3762 3763 #if H_3D_VSP && NTT_STORE_SPDV_VSP_G01483764 3765 3758 UInt uiCostCand = MAX_UINT; 3759 UInt uiBitsCand = 0; 3760 3761 PartSize ePartSize = pcCU->getPartitionSize( 0 ); 3762 3763 #if H_3D_VSP 3764 pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3765 pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3766 3766 #endif 3767 3767 3768 3768 #if H_3D_SPIVMP 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 #endif 3787 #if NTT_STORE_SPDV_VSP_G01483769 pcCU->setSPIVMPFlagSubParts( pbSPIVMPFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx )); 3770 if (pbSPIVMPFlag[uiMergeCand]) 3771 { 3772 UInt uiSPAddr; 3773 3774 Int iNumSPInOneLine, iNumSP, iSPWidth, iSPHeight; 3775 3776 pcCU->getSPPara(iWidth, iHeight, iNumSP, iNumSPInOneLine, iSPWidth, iSPHeight); 3777 3778 for (Int iPartitionIdx = 0; iPartitionIdx < iNumSP; iPartitionIdx++) 3779 { 3780 pcCU->getSPAbsPartIdx(uiAbsPartIdx, iSPWidth, iSPHeight, iPartitionIdx, iNumSPInOneLine, uiSPAddr); 3781 pcCU->getCUMvField( REF_PIC_LIST_0 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx], iSPWidth, iSPHeight); 3782 pcCU->getCUMvField( REF_PIC_LIST_1 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx + 1], iSPWidth, iSPHeight); 3783 } 3784 } 3785 else 3786 #endif 3787 #if H_3D_VSP 3788 3788 #if H_3D_DBBP 3789 3789 if ( vspFlag[uiMergeCand] && !pcCU->getDBBPFlag(0) ) … … 3821 3821 pcCU->getCUMvField(REF_PIC_LIST_0)->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3822 3822 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3823 3824 #if NTT_STORE_SPDV_VSP_G0148 3825 } 3826 #endif 3827 #if H_3D_VSP && !NTT_STORE_SPDV_VSP_G0148 3828 pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3829 pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3823 #if H_3D_VSP 3824 } 3830 3825 #endif 3831 3826 … … 3833 3828 if( uiMergeCand == pcCU->getUseDDDCandIdx() ) 3834 3829 { 3835 3836 3830 pcCU->setUseDDD( true, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3831 pcCU->setDDDepthSubParts( pcCU->getDDTmpDepth(), uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3837 3832 } 3838 3833 else 3839 3834 { 3840 3835 pcCU->setUseDDD( false, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3841 3836 } 3842 3837 #endif … … 3846 3841 if (uiMergeCand == m_pcEncCfg->getMaxNumMergeCand() -1) 3847 3842 { 3848 3843 uiBitsCand--; 3849 3844 } 3850 3845 uiCostCand = uiCostCand + m_pcRdCost->getCost( uiBitsCand ); … … 3857 3852 uiMergeIndex = uiMergeCand; 3858 3853 } 3859 3854 } 3860 3855 } 3861 3856 … … 4448 4443 { 4449 4444 uiLastMode = 1; 4450 4451 4452 4453 4445 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMv( cMv[1], ePartSize, uiPartAddr, 0, iPartIdx ); 4446 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllRefIdx( iRefIdx[1], ePartSize, uiPartAddr, 0, iPartIdx ); 4447 TempMv = cMv[1] - cMvPred[1][iRefIdx[1]]; 4448 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMvd ( TempMv, ePartSize, uiPartAddr, 0, iPartIdx ); 4454 4449 pcCU->setInterDirSubParts( 2, uiPartAddr, iPartIdx, pcCU->getDepth(0) ); 4455 4450 4456 4451 pcCU->setMVPIdxSubParts( aaiMvpIdx[1][iRefIdx[1]], REF_PIC_LIST_1, uiPartAddr, iPartIdx, pcCU->getDepth(uiPartAddr)); 4457 4452 pcCU->setMVPNumSubParts( aaiMvpNum[1][iRefIdx[1]], REF_PIC_LIST_1, uiPartAddr, iPartIdx, pcCU->getDepth(uiPartAddr)); … … 4574 4569 else 4575 4570 #endif 4576 #if NTT_STORE_SPDV_VSP_G01484571 #if H_3D_VSP 4577 4572 #if H_3D_DBBP 4578 4573 if ( vspFlag[uiMRGIndex] && !pcCU->getDBBPFlag(uiPartAddr) )
Note: See TracChangeset for help on using the changeset viewer.