Changeset 716 in 3DVCSoftware for branches/HTM-8.2-dev0-MediaTek/source/Lib/TLibDecoder/TDecCu.cpp
- Timestamp:
- 28 Nov 2013, 10:04:37 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-8.2-dev0-MediaTek/source/Lib/TLibDecoder/TDecCu.cpp
r712 r716 403 403 memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM); 404 404 InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM]; 405 405 #if MTK_SPIVMP_F0110 406 Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM]; 407 memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM); 408 TComMvField* pcMvFieldSP; 409 UChar* puhInterDirSP; 410 pcMvFieldSP = new TComMvField[pcCU->getPic()->getPicSym()->getNumPartition()*2]; 411 puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartition()]; 412 #endif 406 413 #if ETRIKHU_MERGE_REUSE_F0093 407 414 m_ppcCU[uiDepth]->initAvailableFlags(); 408 415 m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex ); 409 m_ppcCU[uiDepth]->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand, uiMergeIndex ); 416 m_ppcCU[uiDepth]->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo 417 #if MTK_SPIVMP_F0110 418 , bSPIVMPFlag, pcMvFieldSP, puhInterDirSP 419 #endif 420 , numValidMergeCand, uiMergeIndex ); 410 421 #else 411 422 m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand, uiMergeIndex ); … … 457 468 } 458 469 } 470 #if MTK_SPIVMP_F0110 471 pcCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMergeIndex], uiAbsPartIdx, 0, uiDepth ); 472 if (bSPIVMPFlag[uiMergeIndex]) 473 { 474 UInt uiSPAddr; 475 Int iWidth = pcCU->getWidth(uiAbsPartIdx); 476 Int iHeight = pcCU->getHeight(uiAbsPartIdx); 477 478 Int iNumSPInOneLine, iNumSP, iSPWidth, iSPHeight; 479 480 pcCU->getSPPara(iWidth, iHeight, iNumSP, iNumSPInOneLine, iSPWidth, iSPHeight); 481 482 for (Int iPartitionIdx = 0; iPartitionIdx < iNumSP; iPartitionIdx++) 483 { 484 pcCU->getSPAbsPartIdx(uiAbsPartIdx, iSPWidth, iSPHeight, iPartitionIdx, iNumSPInOneLine, uiSPAddr); 485 pcCU->setInterDirSP(puhInterDirSP[iPartitionIdx], uiSPAddr, iSPWidth, iSPHeight); 486 pcCU->getCUMvField( REF_PIC_LIST_0 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx], iSPWidth, iSPHeight); 487 pcCU->getCUMvField( REF_PIC_LIST_1 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx + 1], iSPWidth, iSPHeight); 488 } 489 } 490 delete pcMvFieldSP; 491 delete puhInterDirSP; 492 #endif 459 493 #if !LGE_SHARP_VSP_INHERIT_F0104 460 494 #if H_3D_IC
Note: See TracChangeset for help on using the changeset viewer.