Changeset 1131 in 3DVCSoftware for branches/HTM-13.0-dev0/source/App
- Timestamp:
- 18 Feb 2015, 17:39:40 (10 years ago)
- Location:
- branches/HTM-13.0-dev0/source/App/TAppEncoder
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-13.0-dev0/source/App/TAppEncoder/TAppEncCfg.cpp
r1124 r1131 377 377 ("DepthFlag", m_depthFlag , std::vector<Int>(1,0), "Depth Flag") 378 378 #if H_3D_DIM 379 #if !HHI_TOOL_PARAMETERS_I2_J0107380 ("DMM", m_useDMM, true, "Depth intra model modes")381 ("IVP", m_useIVP, true, "intra-view prediction")382 ("SDC", m_useSDC, true, "Simplified depth coding")383 #endif384 379 ("DLT", m_useDLT, true, "Depth lookup table") 385 380 #endif 386 381 #if H_3D 387 #if !HHI_TOOL_PARAMETERS_I2_J0107388 ("SingleDepthMode", m_useSingleDepthMode, true, "Single depth mode")389 #endif390 382 #endif 391 383 #endif … … 408 400 ("ProfileTierLevelIdx_%d", m_profileTierLevelIdx, std::vector<Int>(0), MAX_NUM_LAYERS, "Indices to profile level tier for ols") 409 401 // Layer dependencies 410 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107411 402 ("DirectRefLayers_%d", m_directRefLayers , std::vector<Int>(0,0), MAX_NUM_LAYERS, "LayerIdx in VPS of direct reference layers") 412 #else413 ("DirectRefLayers_%d", m_directRefLayers , std::vector<Int>(0,0), MAX_NUM_LAYERS, "LayerIds of direct reference layers")414 #endif415 403 ("DependencyTypes_%d", m_dependencyTypes , std::vector<Int>(0,0), MAX_NUM_LAYERS, "Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion") 416 404 #endif … … 538 526 ("DeblockingFilterMetric", m_DeblockingFilterMetric, false ) 539 527 540 #if !HHI_TOOL_PARAMETERS_I2_J0107541 #if H_3D_ARP542 ("AdvMultiviewResPred", m_uiUseAdvResPred, (UInt)1, "Usage of Advanced Residual Prediction" )543 #endif544 #if H_3D_SPIVMP545 ("SubPULog2Size", m_iSubPULog2Size, (Int)3, "Sub-PU size index: 2^n")546 ("SubPUMPILog2Size", m_iSubPUMPILog2Size, (Int)3, "Sub-PU MPI size index: 2^n")547 #endif548 #endif549 528 #if H_3D_IC 550 529 ("IlluCompEnable", m_abUseIC, true, "Enable illumination compensation") 551 530 ("IlluCompLowLatencyEnc", m_bUseLowLatencyICEnc, false, "Enable low-latency illumination compensation encoding") 552 #endif553 #if !HHI_TOOL_PARAMETERS_I2_J0107554 #if H_3D_INTER_SDC555 ("InterSDC", m_bDepthInterSDCFlag, true, "Enable depth inter SDC")556 #endif557 #if H_3D_DBBP558 ("DBBP", m_bUseDBBP, true, "Enable depth-based block partitioning" )559 #endif560 #if H_3D_IV_MERGE561 ("MPI", m_bMPIFlag, true, "Enable MPI")562 #endif563 531 #endif 564 532 // Coding tools … … 801 769 802 770 #endif //HHI_VSO 803 #if HHI_TOOL_PARAMETERS_I2_J0107804 771 ("QTL", m_bUseQTL , true , "Use depth quad tree limitation (encoder only)" ) 805 #else 806 #if H_3D_QTLPC 807 ("LimQtPredFlag", m_bLimQtPredFlag , true , "Use Predictive Coding with QTL" ) 808 ("QTL", m_bUseQTL , true , "Use depth Quadtree Limitation" ) 809 #endif 810 #if H_3D_IV_MERGE 811 ("IvMvPred", m_ivMvPredFlag , std::vector<Bool>(2, true) , "inter view motion prediction " ) 812 #endif 813 #if H_3D_NBDV_REF 814 ("DepthRefinement", m_depthRefinementFlag, true , "depth refinement by DoNBDV" ) 815 #endif 816 #if H_3D_VSP 817 ("ViewSynthesisPred", m_viewSynthesisPredFlag, true , "view synthesis prediction " ) 818 #endif 819 #if H_3D 820 ("IvMvScaling", m_ivMvScalingFlag , true , "inter view motion vector scaling" ) 821 #endif 822 #endif 823 824 #if HHI_TOOL_PARAMETERS_I2_J0107 772 825 773 ("IvMvPredFlag" , m_ivMvPredFlag , std::vector< Bool >(2,true) , "Inter-view motion prediction" ) 826 774 ("IvMvScalingFlag" , m_ivMvScalingFlag , std::vector< Bool >(2,true) , "Inter-view motion vector scaling" ) … … 838 786 ("InterSdcFlag" , m_interSdcFlag , true , "Inter depth DCs" ) 839 787 ("IntraSingleFlag" , m_intraSingleFlag , true , "Intra single mode" ) 840 #endif841 788 #endif //H_3D 842 789 ; … … 1680 1627 1681 1628 #if H_3D_ARP 1682 #if !HHI_TOOL_PARAMETERS_I2_J01071683 xConfirmPara( ( 0 != m_uiUseAdvResPred ) && ( 1 != m_uiUseAdvResPred ), "UseAdvResPred must be 0 or 1." );1684 #endif1685 1629 #endif 1686 1630 #if H_3D_SPIVMP 1687 #if HHI_TOOL_PARAMETERS_I2_J01071688 1631 xConfirmPara( m_log2SubPbSizeMinus3 < 0, "Log2SubPbSizeMinus3 must be equal to 0 or greater."); 1689 1632 xConfirmPara( m_log2SubPbSizeMinus3 > 3, "Log2SubPbSizeMinus3 must be equal to 3 or smaller."); … … 1693 1636 xConfirmPara( m_log2MpiSubPbSizeMinus3 > 3, "Log2MpiSubPbSizeMinus3 must be equal to 3 or smaller."); 1694 1637 xConfirmPara( (1<< (m_log2MpiSubPbSizeMinus3 + 3)) > m_uiMaxCUWidth, "Log2MpiSubPbSizeMinus3 must be equal to log2(maxCUSize)-3 or smaller."); 1695 #else1696 xConfirmPara( m_iSubPULog2Size < 3, "SubPULog2Size must be 3 or greater.");1697 xConfirmPara( m_iSubPULog2Size > 6, "SubPULog2Size must be 6 or smaller.");1698 xConfirmPara( (1<<m_iSubPULog2Size) > m_uiMaxCUWidth, "SubPULog2Size must be log2(maxCUSize) or smaller.");1699 1700 xConfirmPara( m_iSubPUMPILog2Size < 3, "SubPUMPILog2Size must be 3 or greater.");1701 xConfirmPara( m_iSubPUMPILog2Size > 6, "SubPUMPILog2Size must be 6 or smaller.");1702 xConfirmPara( ( 1 << m_iSubPUMPILog2Size ) > m_uiMaxCUWidth, "SubPUMPILog2Size must be log2(maxCUSize) or smaller.");1703 #endif1704 1638 #endif 1705 1639 #if ADAPTIVE_QP_SELECTION … … 2648 2582 printf("WVSO:%d ", m_bUseWVSO ); 2649 2583 #endif 2650 2651 #if HHI_TOOL_PARAMETERS_I2_J0107 2584 #if H_3D 2652 2585 printf( "QTL:%d " , m_bUseQTL); 2653 2586 printf( "IlluCompEnable:%d " , m_abUseIC); … … 2672 2605 printf( "InterSdc:%d " , m_interSdcFlag ? 1 : 0 ); 2673 2606 printf( "IntraSingle:%d " , m_intraSingleFlag ? 1 : 0 ); 2674 2675 #else2676 #if H_3D_QTLPC2677 printf("LimQtPredFlag:%d ", m_bLimQtPredFlag ? 1 : 0);2678 printf("QTL:%d ", m_bUseQTL);2679 #endif2680 #if H_3D_IV_MERGE2681 printf("IvMvPred:%d %d", m_ivMvPredFlag[0] ? 1 : 0, m_ivMvPredFlag[1] ? 1 : 0);2682 #if H_3D_SPIVMP2683 printf(" SubPULog2Size:%d " , m_iSubPULog2Size );2684 printf(" SubPUMPILog2Size:%d " , m_iSubPUMPILog2Size );2685 #endif2686 #endif2687 #if H_3D_ARP2688 printf(" ARP:%d ", m_uiUseAdvResPred );2689 #endif2690 #if H_3D_IC2691 printf( "IlluCompEnable:%d ", m_abUseIC);2692 printf ("IlluCompLowLatencyEnc:%d ", m_bUseLowLatencyICEnc);2693 #endif2694 #if H_3D_NBDV_REF2695 printf("DepthRefinement:%d ", m_depthRefinementFlag );2696 #endif2697 #if H_3D_VSP2698 printf("ViewSynthesisPred:%d ", m_viewSynthesisPredFlag );2699 #endif2700 #if H_3D2701 printf("IvMvScaling:%d ", m_ivMvScalingFlag ? 1 : 0 );2702 #endif2703 #if H_3D_DIM2704 printf("DMM:%d ", m_useDMM );2705 printf("IVP:%d ", m_useIVP );2706 printf("SDC:%d ", m_useSDC );2707 printf("DLT:%d ", m_useDLT );2708 #endif2709 #if H_3D2710 printf("SingleDepthMode:%d ", m_useSingleDepthMode);2711 #endif2712 #if H_3D_INTER_SDC2713 printf( "interSDC:%d ", m_bDepthInterSDCFlag ? 1 : 0 );2714 #endif2715 #if H_3D_DBBP2716 printf("DBBP:%d ", m_bUseDBBP ? 1 : 0);2717 #endif2718 #if H_3D_IV_MERGE2719 printf( "MPI:%d ", m_bMPIFlag ? 1 : 0 );2720 #endif2721 2607 #endif 2722 2608 -
branches/HTM-13.0-dev0/source/App/TAppEncoder/TAppEncCfg.h
r1124 r1131 132 132 Bool m_higherLayerIrapSkipFlag; 133 133 134 #if !HHI_TOOL_PARAMETERS_I2_J0107135 #if H_3D_IV_MERGE136 vector<Bool> m_ivMvPredFlag; ///< Interview motion vector prediction137 138 #if H_3D_SPIVMP139 Int m_iSubPULog2Size;140 Int m_iSubPUMPILog2Size;141 #endif142 #endif143 #if H_3D_QTLPC144 Bool m_bLimQtPredFlag;145 #endif146 #if H_3D_ARP /// < flag and number of weighting factors in ARP147 UInt m_uiUseAdvResPred;148 UInt m_uiARPStepNum;149 #endif150 #endif151 134 152 135 #if H_3D_IC … … 155 138 #endif 156 139 157 #if !HHI_TOOL_PARAMETERS_I2_J0107158 #if H_3D_NBDV_REF159 Bool m_depthRefinementFlag;160 #endif161 #if H_3D_VSP162 Bool m_viewSynthesisPredFlag;163 #endif164 #if H_3D165 Bool m_ivMvScalingFlag;166 #endif167 #endif168 140 #endif 169 141 Double m_adLambdaModifier[ MAX_TLAYER ]; ///< Lambda modifier array for each temporal layer … … 492 464 #endif 493 465 #if H_3D_DIM 494 #if !HHI_TOOL_PARAMETERS_I2_J0107495 Bool m_useDMM; ///< flag for using DMM496 Bool m_useIVP;497 Bool m_useSDC; ///< flag for using SDC498 #endif499 466 Bool m_useDLT; ///< flag for using DLT 500 #endif501 #if !HHI_TOOL_PARAMETERS_I2_J0107502 #if H_3D_SINGLE_DEPTH503 Bool m_useSingleDepthMode; ///< flag for using single depth mode504 #endif505 467 #endif 506 468 #if H_3D_QTLPC 507 469 Bool m_bUseQTL; ///< flag for using depth QuadTree Limitation 508 470 #endif 509 #if !HHI_TOOL_PARAMETERS_I2_J0107 510 #if H_3D_INTER_SDC 511 Bool m_bDepthInterSDCFlag; ///< flag for inter SDC of depth map coding 512 #endif 513 #if H_3D_DBBP 514 Bool m_bUseDBBP; ///< flag for depth-based block partitioning 515 #endif 516 #if H_3D_IV_MERGE 517 Bool m_bMPIFlag; ///< flag for MPI of depth map coding 518 #endif 519 #endif 520 521 #if HHI_TOOL_PARAMETERS_I2_J0107 471 522 472 std::vector< Bool > m_ivMvPredFlag; 523 473 std::vector< Bool > m_ivMvScalingFlag; … … 535 485 Bool m_interSdcFlag; 536 486 Bool m_intraSingleFlag; 537 #endif538 487 539 488 #endif -
branches/HTM-13.0-dev0/source/App/TAppEncoder/TAppEncTop.cpp
r1124 r1131 140 140 xSetVPSVUI ( vps ); 141 141 #if H_3D 142 #if !HHI_TOOL_PARAMETERS_I2_J0107143 xSetVPSExtension2 ( vps );144 #endif145 142 m_ivPicLists.setVPS ( &vps ); 146 143 xDeriveDltArray ( vps, dlt ); … … 176 173 } 177 174 178 #if HHI_TOOL_PARAMETERS_I2_J0107179 175 #if H_3D 180 176 // Set 3d tool parameters … … 203 199 } 204 200 } 205 #endif206 201 #endif 207 202 … … 248 243 m_cTEncTop.setDWeight ( isDepth ? m_iDWeight : 0 ); 249 244 #endif // H_3D_VSO 250 #if !HHI_TOOL_PARAMETERS_I2_J0107251 #if H_3D_SPIVMP252 m_cTEncTop.setSubPULog2Size (( isDepth || 0==layerIdInVps ) ? 0 : m_iSubPULog2Size );253 m_cTEncTop.setSubPUMPILog2Size ( !isDepth ? 0 : m_iSubPUMPILog2Size );254 #endif255 #endif256 245 #if H_3D_IC 257 246 m_cTEncTop.setUseIC ( vps.getViewIndex( layerId ) == 0 || isDepth ? false : m_abUseIC ); … … 260 249 261 250 262 #if HHI_TOOL_PARAMETERS_I2_J0107263 251 m_cTEncTop.setUseDMM ( isDepth ? m_intraWedgeFlag : false ); 264 252 m_cTEncTop.setUseSDC ( isDepth ? m_intraSdcFlag : false ); 265 253 m_cTEncTop.setUseDLT ( isDepth ? m_useDLT : false ); 266 254 m_cTEncTop.setUseQTL ( isDepth ? m_bUseQTL : false ); 267 #else 268 //========== Depth intra modes ========== 269 #if H_3D_DIM 270 m_cTEncTop.setUseDMM ( isDepth ? m_useDMM : false ); 271 #if !HHI_TOOL_PARAMETERS_I2_J0107 272 #if H_3D_FCO 273 m_cTEncTop.setUseIVP ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_useIVP : false ); 274 #else 275 m_cTEncTop.setUseIVP ( isDepth ? m_useIVP : false ); 276 #endif 277 #endif 278 m_cTEncTop.setUseSDC ( isDepth ? m_useSDC : false ); 279 m_cTEncTop.setUseDLT ( isDepth ? m_useDLT : false ); 280 #endif 281 282 283 #if H_3D_SINGLE_DEPTH 284 m_cTEncTop.setUseSingleDepthMode ( isDepth ? m_useSingleDepthMode : false ); 285 #endif 286 #if H_3D_QTLPC 287 m_cTEncTop.setUseQTL ( isDepth ? m_bUseQTL : false ); 288 #endif 289 //====== Depth Inter SDC ========= 290 #if H_3D_INTER_SDC 291 m_cTEncTop.setInterSDCEnable ( isDepth ? m_bDepthInterSDCFlag : false ); 292 #endif 293 #if H_3D_DBBP 294 m_cTEncTop.setUseDBBP ( vps.getViewIndex( layerId ) == 0 || isDepth ? false : m_bUseDBBP ); 295 #endif 296 #if H_3D_IV_MERGE 297 #if H_3D_FCO 298 m_cTEncTop.setUseMPI ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bMPIFlag : false ); 299 #else 300 m_cTEncTop.setUseMPI ( isDepth ? m_bMPIFlag : false ); 301 #endif 302 #endif 303 #endif 304 305 306 #if HHI_TOOL_PARAMETERS_I2_J0107 255 256 307 257 m_cTEncTop.setSps3dExtension ( m_sps3dExtension ); 308 #endif309 258 #endif // H_3D 310 259 … … 937 886 #endif 938 887 939 #if !LGE_DDD_REMOVAL_J0042_J0030940 #if H_3D_DDD941 m_acTEncTopList[ layer ]->getSliceEncoder()->setDDDPar( m_cCameraData.getCodedScale()[0][ m_acTEncTopList[layer]->getViewIndex() ],942 m_cCameraData.getCodedOffset()[0][ m_acTEncTopList[layer]->getViewIndex() ],943 m_cCameraData.getCamParsCodedPrecision() );944 #endif945 #endif946 888 Int iNumEncoded = 0; 947 889 … … 1374 1316 } 1375 1317 1376 #if H_MV_FIX_NUM_VIEWS1377 1318 vps.initNumViews(); 1378 #endif1379 1319 Int maxViewId = xGetMax( m_viewId ); 1380 1320 … … 1433 1373 vps.setDefaultDirectDependencyType( defaultDirectDependencyFlag ? defaultDirectDependencyType : -1 ); 1434 1374 1435 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071436 1375 vps.setRefLayers(); 1437 #endif1438 1376 1439 1377 // Max sub layers, + presence flag … … 1454 1392 vps.setVpsSubLayersMaxMinus1PresentFlag( subLayersMaxMinus1PresentFlag ); 1455 1393 1456 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071457 1394 // Max temporal id for inter layer reference pictures 1458 1395 for ( Int refLayerIdInVps = 0; refLayerIdInVps < m_numberOfLayers; refLayerIdInVps++) … … 1462 1399 { 1463 1400 Int curLayerIdInNuh = vps.getLayerIdInNuh( curLayerIdInVps ); 1401 Int maxTid = -1; 1464 1402 #if H_3D 1465 Int maxTid = -1;1466 1403 if ( vps.getDirectDependencyFlag( curLayerIdInVps, refLayerIdInVps ) ) 1467 1404 { … … 1491 1428 else 1492 1429 { 1493 #if HHI_TOOL_PARAMETERS_I2_J01071494 1430 if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) ) 1495 #else1496 if( m_depthFlag[ curLayerIdInVps ] && ( m_bMPIFlag || m_bLimQtPredFlag || m_useIVP ) )1497 #endif1498 1431 { 1499 1432 Int nuhLayerIdTex = vps.getLayerIdInNuh( vps.getViewIndex( curLayerIdInNuh ), false ); … … 1503 1436 } 1504 1437 } 1505 #if HHI_TOOL_PARAMETERS_I2_J01071506 1438 if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0 && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_depthBasedBlkPartFlag ) ) 1507 #else1508 if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0 && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_bUseDBBP) )1509 #endif1510 1439 { 1511 1440 Int maxPresentTid =-1; … … 1546 1475 } 1547 1476 vps.setMaxTidRefPresentFlag( maxTidRefPresentFlag ); 1548 #else1549 // Max temporal id for inter layer reference pictures + presence flag1550 Bool maxTidRefPresentFlag = false;1551 for ( Int refLayerIdInVps = 0; refLayerIdInVps < m_numberOfLayers; refLayerIdInVps++)1552 {1553 for ( Int curLayerIdInVps = 1; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++)1554 {1555 Int maxTid = -1;1556 for( Int i = 0; i < ( getGOPSize() + 1); i++ )1557 {1558 GOPEntry geCur = m_GOPListMvc[curLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )];1559 GOPEntry geRef = m_GOPListMvc[refLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )];1560 for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++)1561 {1562 if ( m_directRefLayers[ curLayerIdInVps ][ geCur.m_interLayerPredLayerIdc[ j ]] == refLayerIdInVps )1563 {1564 Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 );1565 Bool refLayerZero = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );1566 maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId );1567 }1568 }1569 }1570 vps.setMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps, maxTid + 1 );1571 maxTidRefPresentFlag = maxTidRefPresentFlag || ( maxTid != 6 );1572 }1573 }1574 1575 vps.setMaxTidRefPresentFlag( maxTidRefPresentFlag );1576 #endif1577 1477 1578 1478 … … 1603 1503 for ( Int layerIdInVps = 1; layerIdInVps < m_numberOfLayers && allRefLayersActiveFlag; layerIdInVps++) 1604 1504 { 1605 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071606 1505 Int layerIdInNuh = vps.getLayerIdInNuh( layerIdInVps ); 1607 #endif1608 1506 for( Int i = 0; i < ( getGOPSize() + 1) && allRefLayersActiveFlag; i++ ) 1609 1507 { … … 1612 1510 1613 1511 // check if all reference layers when allRefLayerActiveFlag is equal to 1 are reference layer pictures specified in the gop entry 1614 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071615 1512 #if H_3D 1616 1513 for (Int k = 0; k < vps.getNumRefListLayers( layerIdInNuh ) && allRefLayersActiveFlag; k++ ) … … 1622 1519 Int refLayerIdInVps = vps.getLayerIdInVps( vps.getIdDirectRefLayer( layerIdInNuh , k ) ); 1623 1520 #endif 1624 #else1625 for (Int k = 0; k < m_directRefLayers[ layerIdInVps].size() && allRefLayersActiveFlag; k++ )1626 {1627 Int refLayerIdInVps = vps.getLayerIdInVps( m_directRefLayers[ layerIdInVps ][ k ] );1628 #endif1629 #if H_MV_FIX_REF_LAYER_PIC_FLAG1630 1521 if ( vps.getSubLayersVpsMaxMinus1(refLayerIdInVps) >= tId && ( tId == 0 || vps.getMaxTidIlRefPicsPlus1(refLayerIdInVps,layerIdInVps) > tId ) ) 1631 #else1632 if ( vps.getMaxTidIlRefPicsPlus1(refLayerIdInVps,layerIdInVps) > tId && vps.getSubLayersVpsMaxMinus1(refLayerIdInVps) >= tId )1633 #endif1634 1522 { 1635 1523 Bool gopEntryFoundFlag = false; … … 1648 1536 { 1649 1537 Bool referenceLayerFoundFlag = false; 1650 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071651 1538 #if H_3D 1652 1539 for (Int k = 0; k < vps.getNumRefListLayers( layerIdInNuh ); k++ ) … … 1658 1545 Int refLayerIdInVps = vps.getLayerIdInVps( vps.getIdDirectRefLayer( layerIdInNuh, k) ); 1659 1546 #endif 1660 #else1661 for (Int k = 0; k < m_directRefLayers[ layerIdInVps].size(); k++ )1662 {1663 Int refLayerIdInVps = vps.getLayerIdInVps( m_directRefLayers[ layerIdInVps ][ k ] );1664 #endif1665 #if H_MV_FIX_REF_LAYER_PIC_FLAG1666 1547 if ( vps.getSubLayersVpsMaxMinus1(refLayerIdInVps) >= tId && ( tId == 0 || vps.getMaxTidIlRefPicsPlus1(refLayerIdInVps,layerIdInVps) > tId ) ) 1667 #else1668 if ( vps.getMaxTidIlRefPicsPlus1(refLayerIdInVps,layerIdInVps) > tId && vps.getSubLayersVpsMaxMinus1(refLayerIdInVps) >= tId )1669 #endif1670 1548 { 1671 1549 referenceLayerFoundFlag = referenceLayerFoundFlag || ( ge.m_interLayerPredLayerIdc[l] == k ); … … 1679 1557 1680 1558 vps.setAllRefLayersActiveFlag( allRefLayersActiveFlag ); 1681 #if !HHI_DEPENDENCY_SIGNALLING_I1_J01071682 vps.setRefLayers();1683 #endif1684 1559 }; 1685 1560 … … 2210 2085 2211 2086 #if H_3D 2212 #if HHI_TOOL_PARAMETERS_I2_J01072213 #else2214 Void TAppEncTop::xSetVPSExtension2( TComVPS& vps )2215 {2216 for ( Int layer = 0; layer <= vps.getMaxLayersMinus1(); layer++ )2217 {2218 Bool isDepth = ( vps.getDepthId( layer ) == 1 ) ;2219 Bool isLayerZero = ( layer == 0 );2220 #if H_3D_FCO2221 Bool isDepthFirst = (layer > 1 ? true : false);2222 #endif2223 2224 #if H_3D_ARP2225 vps.setUseAdvRP ( layer, ( isDepth || isLayerZero || !vps.getNumDirectRefLayers(layer) ) ? 0 : m_uiUseAdvResPred );2226 vps.setARPStepNum ( layer, ( isDepth || isLayerZero || !vps.getNumDirectRefLayers(layer) ) ? 1 : H_3D_ARP_WFNR );2227 #endif2228 #if H_3D_SPIVMP2229 if( isDepth )2230 {2231 vps.setSubPULog2Size ( layer, (layer != 1) ? 6: 0 );2232 vps.setSubPUMPILog2Size ( layer, (!isLayerZero) ? m_iSubPUMPILog2Size: 0 );2233 }2234 else2235 {2236 vps.setSubPULog2Size ( layer, (!isLayerZero) ? m_iSubPULog2Size: 0 );2237 }2238 #endif2239 2240 #if H_3D_DIM2241 vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) );2242 #if H_3D_FCO2243 vps.setIVPFlag ( layer, isDepth && !isLayerZero && m_useIVP && !isDepthFirst );2244 #else2245 vps.setIVPFlag ( layer, isDepth && !isLayerZero && m_useIVP );2246 #endif2247 #endif2248 2249 #if H_3D_IV_MERGE2250 if( !vps.getNumDirectRefLayers(layer) )2251 {2252 vps.setIvMvPredFlag (layer, false);2253 vps.setIvMvScalingFlag (layer, false);2254 }2255 else2256 {2257 if( isDepth )2258 {2259 vps.setIvMvPredFlag ( layer, (layer != 1) && m_ivMvPredFlag[1] );2260 }2261 else2262 {2263 vps.setIvMvPredFlag ( layer, !isLayerZero && m_ivMvPredFlag[0] );2264 }2265 vps.setIvMvScalingFlag (layer, m_ivMvScalingFlag);2266 }2267 #endif2268 #if H_3D_QTLPC2269 #if H_3D_FCO2270 vps.setLimQtPredFlag ( layer, isDepth && m_bLimQtPredFlag && !isDepthFirst );2271 #else2272 vps.setLimQtPredFlag ( layer, isDepth && m_bLimQtPredFlag );2273 #endif2274 #endif2275 #if H_3D_NBDV_REF2276 vps.setDepthRefinementFlag ( layer, !isLayerZero && !isDepth && m_depthRefinementFlag );2277 #endif2278 #if H_3D_VSP2279 vps.setViewSynthesisPredFlag( layer, !isLayerZero && !isDepth && vps.getNumDirectRefLayers(layer) && m_viewSynthesisPredFlag );2280 #endif2281 #if H_3D_DBBP2282 vps.setUseDBBP ( layer, !isLayerZero && !isDepth && m_bUseDBBP );2283 #endif2284 #if H_3D_INTER_SDC2285 vps.setInterSDCFlag( layer, !isLayerZero && isDepth && m_bDepthInterSDCFlag );2286 #endif2287 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00602288 vps.setSingleDepthModeFlag( layer, !isLayerZero && isDepth && m_useSingleDepthMode );2289 #endif2290 #if H_3D_IV_MERGE2291 #if H_3D_FCO2292 vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag && !isDepthFirst );2293 #else2294 vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag );2295 #endif2296 #endif2297 }2298 }2299 #endif2300 2087 2301 2088 Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT& dlt ) -
branches/HTM-13.0-dev0/source/App/TAppEncoder/TAppEncTop.h
r1124 r1131 92 92 #if H_3D 93 93 TComDLT m_dlt; ///< dlt 94 #if HHI_TOOL_PARAMETERS_I2_J010795 94 TComSps3dExtension m_sps3dExtension; ///< Currently all layers share the same sps 3D Extension 96 #endif97 95 #endif 98 96 … … 149 147 #endif 150 148 #if H_3D 151 #if !HHI_TOOL_PARAMETERS_I2_J0107152 Void xSetVPSExtension2( TComVPS& vps );153 #endif154 149 Void xDeriveDltArray( TComVPS& vps, TComDLT& dlt ); 155 150 #endif
Note: See TracChangeset for help on using the changeset viewer.