Changeset 1255 in 3DVCSoftware for branches/HTM-14.1-update-dev3-NTT/source/Lib/TLibEncoder
- Timestamp:
- 11 Jun 2015, 01:07:43 (10 years ago)
- Location:
- branches/HTM-14.1-update-dev3-NTT/source/Lib/TLibEncoder
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified branches/HTM-14.1-update-dev3-NTT/source/Lib/TLibEncoder/TEncCu.cpp ¶
r1233 r1255 587 587 if( rpcTempCU->getSlice()->getSliceType() != I_SLICE ) 588 588 { 589 #if H_3D_ARP && H_3D_IV_MERGE590 if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() )589 #if NH_3D_ARP && NH_3D_IV_MERGE && NH_3D_VSP 590 if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() ) 591 591 #else 592 #if NH_3D_IV_MERGE && NH_3D_VSP 593 if( rpcTempCU->getSlice()->getIvMvPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() ) 594 #else 595 #if NH_3D_ARP && NH_3D_VSP 596 if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() ) 597 #else 598 #if NH_3D_VSP 599 if( rpcTempCU->getSlice()->getViewSynthesisPredFlag() ) 600 #else 592 601 #if H_3D_ARP 593 602 if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) ) … … 597 606 #else 598 607 if (0) 608 #endif 609 #endif 610 #endif 599 611 #endif 600 612 #endif … … 659 671 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );//by Competition for inter_2Nx2N 660 672 #endif 661 #if H_3D_VSP662 673 #if NH_3D_VSP 674 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 663 675 #endif 664 676 } … … 673 685 674 686 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 675 #if H_3D_VSP676 687 #if NH_3D_VSP 688 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 677 689 #endif 678 690 … … 690 702 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 691 703 #endif 692 #if H_3D_VSP693 704 #if NH_3D_VSP 705 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 694 706 #endif 695 707 #if H_3D_DBBP … … 698 710 xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false ); 699 711 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 700 #if H_3D_VSP712 #if NH_3D_VSP 701 713 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 702 714 #endif … … 780 792 #endif 781 793 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 782 #if H_3D_VSP783 794 #if NH_3D_VSP 795 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 784 796 #endif 785 797 … … 799 811 #endif 800 812 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 801 #if H_3D_VSP813 #if NH_3D_VSP 802 814 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 803 815 #endif … … 822 834 823 835 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 824 #if H_3D_VSP836 #if NH_3D_VSP 825 837 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 826 838 #endif … … 861 873 #endif 862 874 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 863 #if H_3D_VSP875 #if NH_3D_VSP 864 876 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 865 877 #endif … … 882 894 883 895 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 884 #if H_3D_VSP896 #if NH_3D_VSP 885 897 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 886 898 #endif … … 909 921 910 922 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 911 #if H_3D_VSP923 #if NH_3D_VSP 912 924 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 913 925 #endif … … 929 941 #endif 930 942 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 931 #if H_3D_VSP943 #if NH_3D_VSP 932 944 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 933 945 #endif … … 957 969 958 970 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 959 #if H_3D_VSP971 #if NH_3D_VSP 960 972 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 961 973 #endif … … 977 989 #endif 978 990 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 979 #if H_3D_VSP991 #if NH_3D_VSP 980 992 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 981 993 #endif … … 997 1009 #endif 998 1010 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 999 #if H_3D_VSP1011 #if NH_3D_VSP 1000 1012 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1001 1013 #endif … … 1018 1030 #endif 1019 1031 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1020 #if H_3D_VSP1032 #if NH_3D_VSP 1021 1033 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1022 1034 #endif … … 1034 1046 xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnU ); 1035 1047 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1036 #if H_3D_VSP1037 1048 #if NH_3D_VSP 1049 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1038 1050 #endif 1039 1051 xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnD ); 1040 1052 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1041 #if H_3D_VSP1042 1053 #if NH_3D_VSP 1054 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1043 1055 #endif 1044 1056 #if H_3D_QTLPC … … 1049 1061 xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nLx2N ); 1050 1062 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1051 #if H_3D_VSP1052 1063 #if NH_3D_VSP 1064 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1053 1065 #endif 1054 1066 xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nRx2N ); 1055 1067 rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode ); 1056 #if H_3D_VSP1057 1068 #if NH_3D_VSP 1069 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth); 1058 1070 #endif 1059 1071 #if H_3D_QTLPC … … 1798 1810 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to CTU level 1799 1811 1800 #if H_3D_VSP1812 #if NH_3D_VSP 1801 1813 #if !H_3D_ARP 1802 1814 Int vspFlag[MRG_MAX_NUM_CANDS_MEM]; 1803 1815 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 1804 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];1805 1816 #if NH_3D_MLC 1806 1817 rpcTempCU->initAvailableFlags(); … … 1921 1932 1922 1933 rpcTempCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours 1923 #if H_3D_VSP1934 #if NH_3D_VSP 1924 1935 , vspFlag 1925 1936 #endif … … 1969 1980 rpcTempCU->setMergeFlagSubParts( true, 0, 0, uhDepth ); // interprets depth relative to CTU level 1970 1981 rpcTempCU->setMergeIndexSubParts( uiMergeCand, 0, 0, uhDepth ); // interprets depth relative to CTU level 1971 #if H_3D_VSP1982 #if NH_3D_VSP 1972 1983 rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth ); 1973 1984 #endif … … 1991 2002 else 1992 2003 #endif 1993 #if H_3D_VSP1994 2004 { 2005 #if NH_3D_VSP 1995 2006 if ( vspFlag[uiMergeCand] ) 1996 2007 { … … 2022 2033 { 2023 2034 #endif 2024 rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to CTU level2025 rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level2026 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level2027 #if H_3D_VSP2035 rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to CTU level 2036 rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 2037 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 2038 #if NH_3D_VSP 2028 2039 } 2029 } 2030 #endif 2040 #endif 2041 } 2031 2042 // do MC 2032 2043 m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] ); … … 2062 2073 rpcTempCU->setDISFlagSubParts( false, 0, uhDepth ); 2063 2074 #endif 2064 #if H_3D_VSP // possible bug fix2075 #if NH_3D_VSP 2065 2076 if( rpcTempCU->getSkipFlag(0) ) 2066 2077 { … … 2316 2327 2317 2328 m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false DEBUG_STRING_PASS_INTO(sTest) ); 2318 #if H_3D_VSP // possible bug fix2319 2320 2321 2322 2329 #if NH_3D_VSP 2330 if( rpcTempCU->getQtRootCbf(0)==0 ) 2331 { 2332 rpcTempCU->setTrIdxSubParts(0, 0, uhDepth); 2333 } 2323 2334 #endif 2324 2335 #if NH_3D_VSO // M4 -
TabularUnified 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 ) ); -
TabularUnified branches/HTM-14.1-update-dev3-NTT/source/Lib/TLibEncoder/TEncSearch.h ¶
r1200 r1255 409 409 TComMvField* cMvFieldNeighbours, 410 410 UChar* uhInterDirNeighbours, 411 #if H_3D_VSP 411 Int& numValidMergeCand 412 #if NH_3D_VSP 412 413 , Int* vspFlag 413 414 #endif … … 415 416 , Bool* pbSPIVMPFlag, TComMvField* pcMvFieldSP, UChar* puhInterDirSP 416 417 #endif 417 Int& numValidMergeCand418 418 ); 419 419
Note: See TracChangeset for help on using the changeset viewer.