Changeset 716 in 3DVCSoftware for branches/HTM-8.2-dev0-MediaTek/source/Lib/TLibEncoder/TEncCu.cpp
- Timestamp:
- 28 Nov 2013, 10:04:37 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-8.2-dev0-MediaTek/source/Lib/TLibEncoder/TEncCu.cpp
r712 r716 1868 1868 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 1869 1869 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 1870 #if MTK_SPIVMP_F0110 1871 Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM]; 1872 memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM); 1873 TComMvField* pcMvFieldSP; 1874 UChar* puhInterDirSP; 1875 pcMvFieldSP = new TComMvField[rpcTempCU->getPic()->getPicSym()->getNumPartition()*2]; 1876 puhInterDirSP = new UChar[rpcTempCU->getPic()->getPicSym()->getNumPartition()]; 1877 #endif 1870 1878 #if ETRIKHU_MERGE_REUSE_F0093 1871 1879 rpcTempCU->initAvailableFlags(); 1872 1880 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand ); 1873 rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag,inheritedVSPDisInfo, numValidMergeCand ); 1881 rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag,inheritedVSPDisInfo 1882 #if MTK_SPIVMP_F0110 1883 , bSPIVMPFlag, pcMvFieldSP, puhInterDirSP 1884 #endif 1885 , numValidMergeCand 1886 ); 1874 1887 #else 1875 1888 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand ); … … 1910 1923 rpcTempCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, 0, 0, uhDepth ); 1911 1924 #endif 1912 rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to LCU level 1913 rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1914 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1925 #if MTK_SPIVMP_F0110 1926 rpcTempCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMergeCand], 0, 0, uhDepth); 1927 if (bSPIVMPFlag[uiMergeCand]) 1928 { 1929 UInt uiSPAddr; 1930 Int iWidth = rpcTempCU->getWidth(0); 1931 Int iHeight = rpcTempCU->getHeight(0); 1932 1933 Int iNumSPInOneLine, iNumSP, iSPWidth, iSPHeight; 1934 1935 rpcTempCU->getSPPara(iWidth, iHeight, iNumSP, iNumSPInOneLine, iSPWidth, iSPHeight); 1936 1937 for (Int iPartitionIdx = 0; iPartitionIdx < iNumSP; iPartitionIdx++) 1938 { 1939 rpcTempCU->getSPAbsPartIdx(0, iSPWidth, iSPHeight, iPartitionIdx, iNumSPInOneLine, uiSPAddr); 1940 rpcTempCU->setInterDirSP(puhInterDirSP[iPartitionIdx], uiSPAddr, iSPWidth, iSPHeight); 1941 rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setMvFieldSP(rpcTempCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx], iSPWidth, iSPHeight); 1942 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setMvFieldSP(rpcTempCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx + 1], iSPWidth, iSPHeight); 1943 } 1944 } 1945 else 1946 { 1947 #endif 1948 rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to LCU level 1949 rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1950 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1951 #if MTK_SPIVMP_F0110 1952 } 1953 #endif 1915 1954 #if H_3D_ARP && !QC_MTK_INTERVIEW_ARP_F0123_F0108 1916 1955 if( nARPW ) … … 2054 2093 } 2055 2094 } 2095 #if MTK_SPIVMP_F0110 2096 delete pcMvFieldSP; 2097 delete puhInterDirSP; 2098 #endif 2056 2099 #if H_3D_ARP 2057 2100 }
Note: See TracChangeset for help on using the changeset viewer.