Changeset 28 in 3DVCSoftware for branches/0.3-poznan-univ/source/Lib/TLibEncoder/TEncSbac.cpp
- Timestamp:
- 24 Feb 2012, 20:22:58 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/0.3-poznan-univ/source/Lib/TLibEncoder/TEncSbac.cpp
r5 r28 660 660 661 661 662 #if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI 662 #if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI || POZNAN_DBMP 663 663 Void TEncSbac::codeMergeIndexMV( TComDataCU* pcCU, UInt uiAbsPartIdx ) 664 664 { … … 670 670 const UInt uiMviMergePos = bMVIAvailable ? HHI_MPI_MERGE_POS : MRG_MAX_NUM_CANDS; 671 671 #endif 672 #if POZNAN_DBMP 673 const Bool bDBMPAvailable = pcCU->getSlice()->getMP()->isDBMPEnabled(); 674 #endif 672 675 for( UInt uiIdx = 0; uiIdx < MRG_MAX_NUM_CANDS; uiIdx++ ) 673 676 { … … 692 695 } 693 696 } 697 698 #if POZNAN_DBMP 699 if(bDBMPAvailable) 700 { 701 UInt uiDBMPMergePos = POZNAN_DBMP_MERGE_POS; 702 #if HHI_MPI 703 if(bMVIAvailable && uiDBMPMergePos>=uiMviMergePos) uiDBMPMergePos++; 704 #endif 705 for( Int iIdx = MRG_MAX_NUM_CANDS-2; iIdx >= (Int)uiDBMPMergePos; iIdx-- ) 706 { 707 Int iWrIdx = iIdx+1; 708 #if HHI_MPI 709 if(bMVIAvailable) 710 { 711 if(iIdx==(Int)uiMviMergePos) continue; 712 if(iWrIdx==(Int)uiMviMergePos) iWrIdx++; 713 } 714 #endif 715 if(iWrIdx>=MRG_MAX_NUM_CANDS) continue; 716 717 abAvailable[ iWrIdx ] = abAvailable[ iIdx ]; 718 } 719 abAvailable[ uiDBMPMergePos ] = ( pcCU->getNeighbourCandIdx( POZNAN_DBMP_MRG_CAND, uiAbsPartIdx ) == POZNAN_DBMP_MRG_CAND + 1 ); 720 721 uiNumCand = 0; for( UInt uiIdx = 0; uiIdx < MRG_MAX_NUM_CANDS; uiIdx++ ) if(abAvailable[ uiIdx ]) uiNumCand++; 722 } 723 #endif 724 694 725 AOF( uiNumCand > 1 ); 695 726 … … 718 749 //--- determine unary index --- 719 750 UInt uiMergeIdx = pcCU->getMergeIndex( uiAbsPartIdx ); 751 #if POZNAN_DBMP 752 if(bDBMPAvailable) 753 { 754 if(uiMergeIdx==POZNAN_DBMP_MRG_CAND) uiMergeIdx = POZNAN_DBMP_MERGE_POS; 755 else if(uiMergeIdx>=POZNAN_DBMP_MERGE_POS) uiMergeIdx++; 756 } 757 #endif 720 758 #if HHI_MPI 721 759 if( bMVIAvailable ) … … 783 821 Void TEncSbac::codeMergeIndex( TComDataCU* pcCU, UInt uiAbsPartIdx ) 784 822 { 823 /* todo jacek niech sie wypowie 785 824 #if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI 786 825 #if HHI_INTER_VIEW_MOTION_PRED && HHI_MPI … … 791 830 #else 792 831 if( pcCU->getSlice()->getSPS()->getViewId() > 0 && ( pcCU->getSlice()->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) == PDM_USE_FOR_MERGE ) 793 #endif 832 #endif//*/ 833 #if HHI_INTER_VIEW_MOTION_PRED || HHI_MPI || POZNAN_DBMP 834 if( 835 #if HHI_INTER_VIEW_MOTION_PRED 836 ( pcCU->getSlice()->getSPS()->getViewId() > 0 && ( pcCU->getSlice()->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) == PDM_USE_FOR_MERGE ) || 837 #endif 838 #if HHI_MPI 839 ( pcCU->getSlice()->getSPS()->getUseMVI() && pcCU->getSlice()->getSliceType() != I_SLICE && pcCU->getPartitionSize( uiAbsPartIdx ) == SIZE_2Nx2N ) || 840 #endif 841 #if POZNAN_DBMP 842 ( pcCU->getSlice()->getMP()->isDBMPEnabled() ) || 843 #endif 844 0 845 ) 794 846 { 795 847 codeMergeIndexMV( pcCU, uiAbsPartIdx );
Note: See TracChangeset for help on using the changeset viewer.