Changeset 28 in 3DVCSoftware for branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecSbac.cpp
- Timestamp:
- 24 Feb 2012, 20:22:58 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecSbac.cpp
r5 r28 579 579 580 580 581 #if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI 581 #if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI || POZNAN_DBMP 582 582 Void TDecSbac::parseMergeIndexMV( TComDataCU* pcCU, UInt& ruiMergeIndex, UInt uiAbsPartIdx, UInt uiDepth ) 583 583 { … … 585 585 const Bool bMVIAvailable = pcCU->getSlice()->getSPS()->getUseMVI() && pcCU->getSlice()->getSliceType() != I_SLICE; 586 586 const UInt uiMviMergePos = bMVIAvailable ? HHI_MPI_MERGE_POS : MRG_MAX_NUM_CANDS; 587 #endif 588 #if POZNAN_DBMP 589 const Bool bDBMPAvailable = pcCU->getSlice()->getMP()->isDBMPEnabled(); 590 Bool bDBMPModifyMergeIdx = true; 587 591 #endif 588 592 //--- set number of candidates and availability --- … … 611 615 } 612 616 } 617 618 #if POZNAN_DBMP 619 if(bDBMPAvailable) 620 { 621 UInt uiDBMPMergePos = POZNAN_DBMP_MERGE_POS; 622 #if HHI_MPI 623 if(bMVIAvailable && uiDBMPMergePos>=uiMviMergePos) uiDBMPMergePos++; 624 #endif 625 for( Int iIdx = MRG_MAX_NUM_CANDS-2; iIdx >= (Int)uiDBMPMergePos; iIdx-- ) 626 { 627 Int iWrIdx = iIdx+1; 628 #if HHI_MPI 629 if(bMVIAvailable) 630 { 631 if(iIdx==(Int)uiMviMergePos) continue; 632 if(iWrIdx==(Int)uiMviMergePos) iWrIdx++; 633 } 634 #endif 635 if(iWrIdx>=MRG_MAX_NUM_CANDS) continue; 636 637 abAvailable[ iWrIdx ] = abAvailable[ iIdx ]; 638 } 639 abAvailable[ uiDBMPMergePos ] = ( pcCU->getNeighbourCandIdx( POZNAN_DBMP_MRG_CAND, uiAbsPartIdx ) == POZNAN_DBMP_MRG_CAND + 1 ); 640 641 uiNumCand = 0; for( UInt uiIdx = 0; uiIdx < MRG_MAX_NUM_CANDS; uiIdx++ ) if(abAvailable[ uiIdx ]) uiNumCand++; 642 } 643 #endif 644 613 645 AOF( uiNumCand > 1 ); 614 646 … … 665 697 { 666 698 pcCU->setTextureModeDepthSubParts( uiDepth, uiAbsPartIdx, uiDepth ); 699 #if POZNAN_DBMP 700 bDBMPModifyMergeIdx = false; 701 #endif 702 } 703 #endif 704 705 #if POZNAN_DBMP 706 if(bDBMPAvailable && bDBMPModifyMergeIdx) 707 { 708 if(ruiMergeIndex==POZNAN_DBMP_MERGE_POS) ruiMergeIndex = POZNAN_DBMP_MRG_CAND; 709 else if(ruiMergeIndex>POZNAN_DBMP_MERGE_POS) ruiMergeIndex--; 667 710 } 668 711 #endif … … 694 737 Void TDecSbac::parseMergeIndex ( TComDataCU* pcCU, UInt& ruiMergeIndex, UInt uiAbsPartIdx, UInt uiDepth ) 695 738 { 696 #if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI 739 #if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI || POZNAN_DBMP 697 740 if( 698 741 #if HHI_INTER_VIEW_MOTION_PRED … … 701 744 #if HHI_MPI 702 745 ( pcCU->getSlice()->getSPS()->getUseMVI() && pcCU->getSlice()->getSliceType() != I_SLICE && pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N ) || 746 #endif 747 #if POZNAN_DBMP 748 ( pcCU->getSlice()->getMP()->isDBMPEnabled() ) || 703 749 #endif 704 750 0
Note: See TracChangeset for help on using the changeset viewer.