Changeset 696 in 3DVCSoftware for branches/HTM-8.2-dev2-Samsung/source
- Timestamp:
- 15 Nov 2013, 01:35:16 (11 years ago)
- Location:
- branches/HTM-8.2-dev2-Samsung/source
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-8.2-dev2-Samsung/source/App/TAppEncoder/TAppEncCfg.cpp
r669 r696 513 513 #if H_3D_INTER_SDC 514 514 ("InterSDC", m_bDepthInterSDCFlag, true, "Enable depth inter SDC") 515 #endif 516 #if SEC_MPI_ENABLING_MERGE_F0150 517 ("MPI", m_bMPIFlag, true, "Enable MPI") 515 518 #endif 516 519 // Coding tools … … 2448 2451 printf( "interSDC: %d ", m_bDepthInterSDCFlag ? 1 : 0 ); 2449 2452 #endif 2453 #if SEC_MPI_ENABLING_MERGE_F0150 2454 printf( "MPI: %d ", m_bMPIFlag ? 1 : 0 ); 2455 #endif 2450 2456 printf("\n\n"); 2451 2457 -
branches/HTM-8.2-dev2-Samsung/source/App/TAppEncoder/TAppEncCfg.h
r669 r696 476 476 Bool m_bDepthInterSDCFlag; ///< flag for inter SDC of depth map coding 477 477 #endif 478 #if SEC_MPI_ENABLING_MERGE_F0150 479 Bool m_bMPIFlag; ///< flag for MPI of depth map coding 480 #endif 478 481 #endif 479 482 // internal member functions -
branches/HTM-8.2-dev2-Samsung/source/App/TAppEncoder/TAppEncTop.cpp
r669 r696 200 200 #if H_3D_INTER_SDC 201 201 m_cTEncTop.setInterSDCEnable ( isDepth ? m_bDepthInterSDCFlag : false ); 202 #endif 203 #if SEC_MPI_ENABLING_MERGE_F0150 204 m_cTEncTop.setUseMPI ( isDepth ? m_bMPIFlag : false ); 202 205 #endif 203 206 #endif // H_3D … … 1681 1684 vps.setInterSDCFlag( layer, !isLayerZero && isDepth && m_bDepthInterSDCFlag ); 1682 1685 #endif 1686 #if SEC_MPI_ENABLING_MERGE_F0150 1687 vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag ); 1688 #endif 1683 1689 } 1684 1690 #if H_3D -
branches/HTM-8.2-dev2-Samsung/source/Lib/TLibCommon/TComDataCU.cpp
r690 r696 3522 3522 deriveLeftRightTopIdxGeneral( uiAbsPartIdx, uiPUIdx, uiPartIdxLT, uiPartIdxRT ); 3523 3523 deriveLeftBottomIdxGeneral ( uiAbsPartIdx, uiPUIdx, uiPartIdxLB ); 3524 #if SEC_MPI_ENABLING_MERGE_F0150 3525 Bool bMPIFlag = getSlice()->getVPS()->getMPIFlag( getSlice()->getLayerIdInVps() ); 3526 #endif 3524 3527 #if QC_DEPTH_IV_MRG_F0125 3525 3528 Bool bIsDepth = getSlice()->getIsDepth(); … … 3542 3545 ///////////////////////////////////////////// 3543 3546 3547 #if SEC_MPI_ENABLING_MERGE_F0150 3548 if( bMPIFlag) 3549 #else 3544 3550 if( m_pcSlice->getIsDepth()) 3551 #endif 3545 3552 { 3546 3553 UInt uiPartIdxCenter; -
branches/HTM-8.2-dev2-Samsung/source/Lib/TLibCommon/TComSlice.cpp
r669 r696 1835 1835 #if H_3D_INTER_SDC 1836 1836 m_bInterSDCFlag [ i ] = false; 1837 #endif 1838 #if SEC_MPI_ENABLING_MERGE_F0150 1839 m_bMPIFlag [ i ] = false; 1837 1840 #endif 1838 1841 } -
branches/HTM-8.2-dev2-Samsung/source/Lib/TLibCommon/TComSlice.h
r669 r696 619 619 Bool m_bInterSDCFlag[MAX_NUM_LAYERS ]; 620 620 #endif 621 #if SEC_MPI_ENABLING_MERGE_F0150 622 Bool m_bMPIFlag[MAX_NUM_LAYERS ]; 623 #endif 621 624 622 625 #endif … … 854 857 Void setInterSDCFlag ( Int layerIdInVps, Bool bval ){ m_bInterSDCFlag[layerIdInVps] = bval; } 855 858 #endif 856 859 #if SEC_MPI_ENABLING_MERGE_F0150 860 Bool getMPIFlag ( Int layerIdInVps ) { return m_bMPIFlag[layerIdInVps]; } 861 Void setMPIFlag ( Int layerIdInVps, Bool bval ){ m_bMPIFlag[layerIdInVps] = bval; } 862 #endif 857 863 #endif 858 864 #endif -
branches/HTM-8.2-dev2-Samsung/source/Lib/TLibCommon/TypeDef.h
r690 r696 131 131 // QC_AMVP_MRG_UNIFY_IVCAN_C0051 132 132 // TEXTURE MERGING CANDIDATE , JCT3V-C0137 133 // QC_INRIA_MTK_MRG_E0126 133 // QC_INRIA_MTK_MRG_E0126 134 #define SEC_MPI_ENABLING_MERGE_F0150 1 // MPI flag in VPS and enabling in Merge mode 135 134 136 #define H_3D_TMVP 1 // QC_TMVP_C0047 135 137 // Sony_M23639 -
branches/HTM-8.2-dev2-Samsung/source/Lib/TLibDecoder/TDecCAVLC.cpp
r669 r696 1271 1271 } 1272 1272 #endif 1273 #if SEC_MPI_ENABLING_MERGE_F0150 1274 READ_FLAG( uiCode, "mpi_flag[i]" ); pcVPS->setMPIFlag( i, uiCode == 1 ? true : false ); 1275 #endif 1273 1276 READ_FLAG( uiCode, "vps_depth_modes_flag[i]" ); pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false ); 1274 1277 // READ_FLAG( uiCode, "lim_qt_pred_flag[i]"); pcVPS->setLimQtPreFlag ( i, uiCode == 1 ? true : false ); … … 1818 1821 READ_UVLC( uiCode, "five_minus_max_num_merge_cand"); 1819 1822 #if H_3D_IV_MERGE 1823 #if SEC_MPI_ENABLING_MERGE_F0150 1824 if(rpcSlice->getIsDepth()) 1825 { 1826 Bool bMPIFlag = rpcSlice->getVPS()->getMPIFlag( rpcSlice->getLayerIdInVps() ) ; 1827 Bool ivMvPredFlag = rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ; 1828 rpcSlice->setMaxNumMergeCand(( ( bMPIFlag || ivMvPredFlag ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode); 1829 } 1830 else 1831 { 1832 Bool ivMvPredFlag = rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ; 1833 rpcSlice->setMaxNumMergeCand(( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode); 1834 } 1835 #else 1820 1836 Bool ivMvPredFlag = rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ; 1821 1837 rpcSlice->setMaxNumMergeCand(( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode); 1838 #endif 1822 1839 #else 1823 1840 rpcSlice->setMaxNumMergeCand(MRG_MAX_NUM_CANDS - uiCode); -
branches/HTM-8.2-dev2-Samsung/source/Lib/TLibEncoder/TEncCavlc.cpp
r669 r696 1025 1025 } 1026 1026 #endif 1027 #if SEC_MPI_ENABLING_MERGE_F0150 1028 WRITE_FLAG( pcVPS->getMPIFlag( i ) ? 1 : 0 , "mpi_flag[i]" ); 1029 #endif 1027 1030 WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 , "vps_depth_modes_flag[i]" ); 1028 1031 //WRITE_FLAG( pcVPS->getLimQtPredFlag ( i ) ? 1 : 0 , "lim_qt_pred_flag[i]" ); … … 1411 1414 { 1412 1415 #if H_3D_IV_MERGE 1416 #if SEC_MPI_ENABLING_MERGE_F0150 1417 if(pcSlice->getIsDepth()) 1418 { 1419 Bool bMPIFlag = pcSlice->getVPS()->getMPIFlag( pcSlice->getLayerIdInVps() ) ; 1420 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ; 1421 WRITE_UVLC( ( ( bMPIFlag || ivMvPredFlag ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 1422 } 1423 else 1424 { 1425 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ; 1426 WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 1427 } 1428 #else 1413 1429 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ; 1414 1430 WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 1431 #endif 1415 1432 #else 1416 1433 WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); -
branches/HTM-8.2-dev2-Samsung/source/Lib/TLibEncoder/TEncCfg.h
r655 r696 415 415 Bool m_useSDC; 416 416 Bool m_useDLT; 417 #endif 418 #if SEC_MPI_ENABLING_MERGE_F0150 419 Bool m_useMPI; 417 420 #endif 418 421 #if H_3D_QTLPC … … 993 996 Bool getUsePC () { return m_bUsePC; } 994 997 #endif 998 #if SEC_MPI_ENABLING_MERGE_F0150 999 Void setUseMPI ( Bool b ) { m_useMPI = b; } 1000 Bool getUseMPI () { return m_useMPI; } 1001 #endif 995 1002 #endif // H_3D 996 1003 }; -
branches/HTM-8.2-dev2-Samsung/source/Lib/TLibEncoder/TEncSlice.cpp
r655 r696 556 556 rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() ); 557 557 #if H_3D_IV_MERGE 558 #if SEC_MPI_ENABLING_MERGE_F0150 559 if(rpcSlice->getIsDepth()) 560 { 561 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( rpcSlice->getVPS()->getMPIFlag( rpcSlice->getLayerIdInVps() ) || rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ) ? 1 : 0 ) ); 562 } 563 else 564 { 565 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) ); 566 } 567 #else 558 568 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) ); 569 #endif 559 570 #else 560 571 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() );
Note: See TracChangeset for help on using the changeset viewer.