Changeset 809 in 3DVCSoftware for branches/HTM-9.3-dev1-NTT/source/Lib/TLibEncoder/TEncSearch.cpp
- Timestamp:
- 29 Jan 2014, 03:07:07 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.3-dev1-NTT/source/Lib/TLibEncoder/TEncSearch.cpp
r795 r809 3643 3643 3644 3644 PartSize ePartSize = pcCU->getPartitionSize( 0 ); 3645 3646 #if H_3D_VSP && NTT_STORE_SPDV_VSP_G0148 3647 pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3648 pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3649 #endif 3645 3650 3646 3651 #if H_3D_SPIVMP … … 3662 3667 } 3663 3668 else 3664 { 3665 #endif 3669 #endif 3670 #if NTT_STORE_SPDV_VSP_G0148 3671 if ( vspFlag[uiMergeCand] ) 3672 { 3673 UInt partAddr; 3674 Int vspSize; 3675 Int width, height; 3676 pcCU->getPartIndexAndSize( iPUIdx, partAddr, width, height ); 3677 3678 if( uhInterDirNeighbours[ uiMergeCand ] & 0x01 ) 3679 { 3680 pcCU->setMvFieldPUForVSP( pcCU, partAddr, width, height, REF_PIC_LIST_0, cMvFieldNeighbours[ 2*uiMergeCand + 0 ].getRefIdx(), vspSize ); 3681 pcCU->setVSPFlag( partAddr, vspSize ); 3682 } 3683 else 3684 { 3685 pcCU->getCUMvField(REF_PIC_LIST_0)->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3686 } 3687 if( uhInterDirNeighbours[ uiMergeCand ] & 0x02 ) 3688 { 3689 pcCU->setMvFieldPUForVSP( pcCU, partAddr, width, height, REF_PIC_LIST_1, cMvFieldNeighbours[ 2*uiMergeCand + 1 ].getRefIdx(), vspSize ); 3690 pcCU->setVSPFlag( partAddr, vspSize ); 3691 } 3692 else 3693 { 3694 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3695 } 3696 } 3697 else 3698 #endif 3699 { 3666 3700 pcCU->getCUMvField(REF_PIC_LIST_0)->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3667 3701 pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx ); 3668 #if H_3D_SPIVMP 3669 } 3670 #endif 3671 3672 #if H_3D_VSP 3702 } 3703 3704 #if H_3D_VSP && !NTT_STORE_SPDV_VSP_G0148 3673 3705 pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); 3674 3706 pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) ); … … 4426 4458 } 4427 4459 else 4428 { 4429 #endif 4460 #endif 4461 #if NTT_STORE_SPDV_VSP_G0148 4462 if ( vspFlag[uiMRGIndex] ) 4463 { 4464 UInt partAddrTemp; 4465 Int vspSize; 4466 Int width, height; 4467 pcCU->getPartIndexAndSize( iPartIdx, partAddrTemp, width, height ); // true or pcCU->getTotalNumPart()==256 4468 4469 if( uiMRGInterDir & 0x01 ) 4470 { 4471 pcCU->setMvFieldPUForVSP( pcCU, partAddrTemp, width, height, REF_PIC_LIST_0, cMRGMvField[0].getRefIdx(), vspSize ); 4472 pcCU->setVSPFlag( partAddrTemp, vspSize ); 4473 } 4474 else 4475 { 4476 pcCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMRGMvField[0], ePartSize, uiPartAddr, 0, iPartIdx ); 4477 } 4478 if( uiMRGInterDir & 0x02 ) 4479 { 4480 pcCU->setMvFieldPUForVSP( pcCU, partAddrTemp, width, height, REF_PIC_LIST_1, cMRGMvField[1].getRefIdx(), vspSize ); 4481 pcCU->setVSPFlag( partAddrTemp, vspSize ); 4482 } 4483 else 4484 { 4485 pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMRGMvField[1], ePartSize, uiPartAddr, 0, iPartIdx ); 4486 } 4487 pcCU->setInterDirSubParts ( uiMRGInterDir, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4488 } 4489 else 4490 #endif 4491 { 4430 4492 pcCU->setInterDirSubParts ( uiMRGInterDir, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4431 4493 { … … 4433 4495 pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMRGMvField[1], ePartSize, uiPartAddr, 0, iPartIdx ); 4434 4496 } 4435 #if H_3D_SPIVMP 4436 } 4437 #endif 4497 } 4438 4498 4439 4499 pcCU->getCUMvField(REF_PIC_LIST_0)->setAllMvd ( cMvZero, ePartSize, uiPartAddr, 0, iPartIdx );
Note: See TracChangeset for help on using the changeset viewer.