Changeset 1131 in 3DVCSoftware for branches/HTM-13.0-dev0
- Timestamp:
- 18 Feb 2015, 17:39:40 (10 years ago)
- Location:
- branches/HTM-13.0-dev0/source
- Files:
-
- 37 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 -
branches/HTM-13.0-dev0/source/Lib/TAppCommon/TAppComCamPara.cpp
r1124 r1131 1203 1203 m_uiCamParsCodedPrecision = uiCodedCamParsPrecision; 1204 1204 m_iLog2Precision = iLog2Precision; 1205 #if !HHI_TOOL_PARAMETERS_I2_J01071206 #if HHI_INTERVIEW_SKIP1207 m_iCurrentFrameId = 0 ;1208 #endif1209 #endif1210 1205 1211 1206 xReadCameraParameterFile( pchCfgFileName ); -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComDataCU.cpp
r1124 r1131 154 154 #endif 155 155 156 #if !LGE_DDD_REMOVAL_J0042_J0030157 #if H_3D_DDD158 m_pucDisparityDerivedDepth = NULL;159 m_pbUseDDD = NULL;160 #endif161 #endif162 156 } 163 157 … … 301 295 m_pcPattern = (TComPattern*)xMalloc(TComPattern, 1); 302 296 303 #if !LGE_DDD_REMOVAL_J0042_J0030304 #if H_3D_DDD305 m_pucDisparityDerivedDepth = (UChar* )xMalloc( UChar, uiNumPartition);306 m_pbUseDDD = (Bool* ) xMalloc( Bool, uiNumPartition);307 #endif308 #endif309 297 310 298 // create motion vector fields … … 390 378 #endif 391 379 392 #if !LGE_DDD_REMOVAL_J0042_J0030393 #if H_3D_DDD394 if ( m_pucDisparityDerivedDepth ) { xFree(m_pucDisparityDerivedDepth); m_pucDisparityDerivedDepth = NULL; }395 if ( m_pbUseDDD ) { xFree(m_pbUseDDD); m_pbUseDDD = NULL; }396 #endif397 #endif398 380 399 381 #if H_3D_ARP … … 524 506 #endif 525 507 526 #if !LGE_DDD_REMOVAL_J0042_J0030527 #if H_3D_DDD528 m_pucDisparityDerivedDepth[ui] = pcFrom->m_pucDisparityDerivedDepth[ui];529 m_pbUseDDD[ui] = pcFrom->m_pbUseDDD[ui];530 #endif531 #endif532 508 m_puhWidth [ui] = pcFrom->getWidth(ui); 533 509 m_puhHeight [ui] = pcFrom->getHeight(ui); … … 611 587 #endif 612 588 613 #if !LGE_DDD_REMOVAL_J0042_J0030614 #if H_3D_DDD615 memset( m_pucDisparityDerivedDepth + firstElement, 0, numElements * sizeof( *m_pucDisparityDerivedDepth ) );616 memset( m_pbUseDDD + firstElement, 0, numElements * sizeof( *m_pbUseDDD ) );617 #endif618 #endif619 589 620 590 #if H_3D_DIM … … 793 763 #endif 794 764 795 #if !LGE_DDD_REMOVAL_J0042_J0030796 #if H_3D_DDD797 m_pucDisparityDerivedDepth[ui] = 0;798 m_pbUseDDD[ui] = 0;799 #endif800 #endif801 765 802 766 #if H_3D_DIM … … 904 868 #endif 905 869 906 #if !LGE_DDD_REMOVAL_J0042_J0030907 #if H_3D_DDD908 memset( m_pucDisparityDerivedDepth, 0, iSizeInUchar );909 memset( m_pbUseDDD, 0, iSizeInBool );910 #endif911 #endif912 870 913 871 UChar uhWidth = g_uiMaxCUWidth >> uiDepth; … … 1003 961 #endif 1004 962 1005 #if !LGE_DDD_REMOVAL_J0042_J00301006 #if H_3D_DDD1007 m_pucDisparityDerivedDepth[ui] = pcCU->m_pucDisparityDerivedDepth[uiPartOffset+ui];1008 m_pbUseDDD[ui] = pcCU->m_pbUseDDD[uiPartOffset+ui];1009 #endif1010 #endif1011 963 1012 964 #if H_3D_DIM … … 1154 1106 #endif 1155 1107 1156 #if !LGE_DDD_REMOVAL_J0042_J00301157 #if H_3D_DDD1158 m_pucDisparityDerivedDepth = pcCU->getDDDepth() + uiPart;1159 m_pbUseDDD = pcCU->getUseDDD() + uiPart;1160 #endif1161 #endif1162 1108 1163 1109 m_puhLumaIntraDir = pcCU->getLumaIntraDir() + uiPart; … … 1309 1255 #endif 1310 1256 1311 #if !LGE_DDD_REMOVAL_J0042_J00301312 #if H_3D_DDD1313 m_pucDisparityDerivedDepth = pcCU->getDDDepth() + uiAbsPartIdx;1314 m_pbUseDDD = pcCU->getUseDDD() + uiAbsPartIdx;1315 #endif1316 #endif1317 1257 1318 1258 #if H_3D_DBBP … … 1380 1320 memcpy( m_puhCbf[2] + uiOffset, pcCU->getCbf(TEXT_CHROMA_V), iSizeInUchar ); 1381 1321 1382 #if !LGE_DDD_REMOVAL_J0042_J00301383 #if H_3D_DDD1384 memcpy( m_pucDisparityDerivedDepth + uiOffset, pcCU->getDDDepth(), iSizeInUchar );1385 memcpy( m_pbUseDDD + uiOffset, pcCU->getUseDDD(), iSizeInBool );1386 #endif1387 #endif1388 1322 1389 1323 … … 1485 1419 #endif 1486 1420 1487 #if !LGE_DDD_REMOVAL_J0042_J00301488 #if H_3D_DDD1489 memcpy( rpcCU->getDDDepth() + m_uiAbsIdxInLCU, m_pucDisparityDerivedDepth, iSizeInUchar );1490 memcpy( rpcCU->getUseDDD() + m_uiAbsIdxInLCU, m_pbUseDDD, iSizeInBool );1491 #endif1492 #endif1493 1421 1494 1422 memcpy( rpcCU->getPartitionSize() + m_uiAbsIdxInLCU, m_pePartSize, sizeof( *m_pePartSize ) * m_uiNumPartition ); … … 1624 1552 memcpy( rpcCU->getCbf(TEXT_CHROMA_V) + uiPartOffset, m_puhCbf[2], iSizeInUchar ); 1625 1553 1626 #if !LGE_DDD_REMOVAL_J0042_J00301627 #if H_3D_DDD1628 memcpy( rpcCU->getDDDepth() + uiPartOffset, m_pucDisparityDerivedDepth, iSizeInUchar );1629 memcpy( rpcCU->getUseDDD() + uiPartOffset, m_pbUseDDD, iSizeInBool );1630 #endif1631 #endif1632 1554 1633 1555 #if H_3D_DIM … … 1696 1618 } 1697 1619 1698 #if !LGE_DDD_REMOVAL_J0042_J00301699 #if H_3D_DDD1700 Void TComDataCU::setDDDepthSubParts ( UChar ucDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )1701 {1702 setSubPart<UChar>( ucDDD, m_pucDisparityDerivedDepth, uiAbsPartIdx, uiDepth, uiPartIdx );1703 }1704 1705 Void TComDataCU::setUseDDD ( Bool bUseDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )1706 {1707 setSubPart<Bool>( bUseDDD, m_pbUseDDD, uiAbsPartIdx, uiDepth, uiPartIdx );1708 }1709 1710 Void TComDataCU::setUseDDD( Bool bUseDDD, UInt uiAbsPartIdx, UInt uiDepth )1711 {1712 memset( m_pbUseDDD + uiAbsPartIdx, bUseDDD, (m_pcPic->getNumPartInCU() >> ( 2 * uiDepth ))*sizeof(Bool) );1713 }1714 1715 #endif1716 #endif1717 1620 1718 1621 // -------------------------------------------------------------------------------------------------------------------- … … 2425 2328 Bool depthRefineFlag = false; 2426 2329 #if H_3D_NBDV_REF 2427 #if HHI_TOOL_PARAMETERS_I2_J01072428 2330 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 2429 #else2430 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );2431 #endif2432 2331 #endif // H_3D_NBDV_REF 2433 2332 … … 3340 3239 inline Bool TComDataCU::xAddVspCand( Int mrgCandIdx, DisInfo* pDInfo, Int& iCount) 3341 3240 { 3342 #if HHI_TOOL_PARAMETERS_I2_J01073343 3241 if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getViewSynthesisPredFlag( ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1) 3344 #else3345 if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1)3346 #endif3347 3242 { 3348 3243 return false; … … 3899 3794 ) 3900 3795 { 3901 #if !SEC_A1_BASED_VSP_J00393902 UInt uiAbsPartAddr = m_uiAbsIdxInLCU + uiAbsPartIdx;3903 #endif3904 3796 #if H_3D_IV_MERGE 3905 3797 //////////////////////////// … … 3914 3806 UChar tmpDir; 3915 3807 3916 #if !LGE_DDD_REMOVAL_J0042_J00303917 #if H_3D_DDD3918 m_iUseDDDCandIdx = -1;3919 #endif3920 #endif3921 3808 3922 3809 ////////////////////////////////// … … 3958 3845 deriveLeftBottomIdxGeneral ( uiAbsPartIdx, uiPUIdx, uiPartIdxLB ); 3959 3846 #if H_3D 3960 #if HHI_TOOL_PARAMETERS_I2_J01073961 3847 Bool bMPIFlag = getSlice()->getMpiFlag(); 3962 #else3963 Bool bMPIFlag = getSlice()->getVPS()->getMPIFlag( getSlice()->getLayerIdInVps() );3964 #endif3965 3848 Bool bIsDepth = getSlice()->getIsDepth(); 3966 3849 #endif … … 4022 3905 4023 3906 // above 4024 #if !SEC_A1_BASED_VSP_J00394025 UInt uiAbovePartIdx = 0;4026 TComDataCU* pcCUAbove = 0;4027 pcCUAbove = getPUAbove( uiAbovePartIdx, uiPartIdxRT );4028 #endif4029 3907 4030 3908 if (getAvailableFlagB1()) … … 4033 3911 #if H_3D_VSP 4034 3912 , 4035 #if SEC_A1_BASED_VSP_J00394036 3913 false 4037 #else4038 ( ( ( getAddr() - pcCUAbove->getAddr() ) == 0) && (pcCUAbove->getVSPFlag(uiAbovePartIdx) != 0)4039 #if H_3D_IC4040 && !bICFlag4041 #endif4042 #if H_3D_ARP4043 && !bARPFlag4044 #endif4045 #if H_3D_DBBP4046 && !bDBBPFlag4047 #endif4048 )4049 #endif4050 3914 #endif 4051 3915 , false … … 4055 3919 4056 3920 // above right 4057 #if !SEC_A1_BASED_VSP_J00394058 UInt uiAboveRightPartIdx = 0;4059 TComDataCU* pcCUAboveRight = 0;4060 pcCUAboveRight = getPUAboveRight( uiAboveRightPartIdx, uiPartIdxRT );4061 #endif4062 3921 4063 3922 if (getAvailableFlagB0()) … … 4066 3925 #if H_3D_VSP 4067 3926 , 4068 #if SEC_A1_BASED_VSP_J00394069 3927 false 4070 #else4071 ( ( ( getAddr() - pcCUAboveRight->getAddr() ) == 0) && (pcCUAboveRight->getVSPFlag(uiAboveRightPartIdx) != 0)4072 #if H_3D_IC4073 && !bICFlag4074 #endif4075 #if H_3D_ARP4076 && !bARPFlag4077 #endif4078 #if H_3D_DBBP4079 && !bDBBPFlag4080 #endif4081 )4082 #endif4083 3928 #endif 4084 3929 , false … … 4088 3933 4089 3934 // left bottom 4090 #if !SEC_A1_BASED_VSP_J00394091 UInt uiLeftBottomPartIdx = 0;4092 TComDataCU* pcCULeftBottom = getPUBelowLeft( uiLeftBottomPartIdx, uiPartIdxLB );4093 #endif4094 3935 4095 3936 if (getAvailableFlagA0()) … … 4098 3939 #if H_3D_VSP 4099 3940 , 4100 #if SEC_A1_BASED_VSP_J00394101 3941 false 4102 #else4103 (pcCULeftBottom->getVSPFlag(uiLeftBottomPartIdx) != 04104 #if H_3D_IC4105 && !bICFlag4106 #endif4107 #if H_3D_ARP4108 && !bARPFlag4109 #endif4110 #if H_3D_DBBP4111 && !bDBBPFlag4112 #endif4113 )4114 #endif4115 3942 #endif 4116 3943 , false … … 4120 3947 4121 3948 // above left 4122 #if !SEC_A1_BASED_VSP_J00394123 UInt uiAboveLeftPartIdx = 0;4124 TComDataCU* pcCUAboveLeft = 0;4125 pcCUAboveLeft = getPUAboveLeft( uiAboveLeftPartIdx, uiAbsPartAddr );4126 #endif4127 3949 4128 3950 if (getAvailableFlagB2()) … … 4131 3953 #if H_3D_VSP 4132 3954 , 4133 #if SEC_A1_BASED_VSP_J00394134 3955 false 4135 #else4136 ( ( ( getAddr() - pcCUAboveLeft->getAddr() ) == 0) && (pcCUAboveLeft->getVSPFlag(uiAboveLeftPartIdx) != 0)4137 #if H_3D_IC4138 && !bICFlag4139 #endif4140 #if H_3D_ARP4141 && !bARPFlag4142 #endif4143 #if H_3D_DBBP4144 && !bDBBPFlag4145 #endif4146 )4147 #endif4148 3956 #endif 4149 3957 , false … … 4343 4151 } 4344 4152 } 4345 #if !LGE_DDD_REMOVAL_J0042_J00304346 #if H_3D_DDD4347 if( m_pcSlice->getIsDepth() && m_pcSlice->getViewIndex() != 0 && bMPIFlag )4348 {4349 UInt uiPartIdx;4350 TComDataCU *pcTextureCU = m_pcSlice->getTexturePic()->getCU( getAddr() );4351 TComSlice *pcTextureSlice = pcTextureCU->getSlice();4352 4353 4354 tmpMV[0].setMvField( cZeroMv, NOT_VALID );4355 tmpMV[1].setMvField( cZeroMv, NOT_VALID );4356 tmpDir = 0;4357 4358 xDeriveCenterIdx( uiPUIdx, uiPartIdx);4359 4360 if ( pcTextureCU && !pcTextureCU->isIntra( uiPartIdx ) )4361 {4362 4363 TComMvField cMVField;4364 Int iDV = 0;4365 Int iViewIdx = 0;4366 pcTextureCU->getMvField( pcTextureCU, uiPartIdx, REF_PIC_LIST_0, cMVField );4367 if( cMVField.getRefIdx() >= 0 )4368 {4369 if( pcTextureSlice->getRefPOC( REF_PIC_LIST_0, cMVField.getRefIdx()) == pcTextureSlice->getPOC() )4370 {4371 iViewIdx = pcTextureSlice->getRefPic( REF_PIC_LIST_0, cMVField.getRefIdx())->getViewIndex();4372 iDV = cMVField.getHor();4373 4374 4375 Int iValidDepRef = getPic()->isTextRefValid( REF_PIC_LIST_0, cMVField.getRefIdx() );4376 4377 if( iValidDepRef >= 0 )4378 {4379 const TComMv cAdd( 2, 2 );4380 cMVField.getMv() += cAdd;4381 cMVField.getMv() >>= 2;4382 #if !(NTT_BUG_FIX_TK54)4383 clipMv( cMVField.getMv() );4384 #endif4385 tmpMV[ 0 ].setMvField( cMVField.getMv(), iValidDepRef );4386 tmpDir = 1;4387 }4388 }4389 }4390 4391 pcTextureCU->getMvField( pcTextureCU, uiPartIdx, REF_PIC_LIST_1, cMVField );4392 4393 if( !tmpDir && cMVField.getRefIdx() >= 0 )4394 {4395 if( pcTextureSlice->getRefPOC( REF_PIC_LIST_1, cMVField.getRefIdx()) == pcTextureSlice->getPOC() )4396 {4397 iViewIdx = pcTextureSlice->getRefPic( REF_PIC_LIST_1, cMVField.getRefIdx())->getViewIndex();4398 iDV = cMVField.getHor();4399 4400 Int iValidDepRef = getPic()->isTextRefValid( REF_PIC_LIST_1, cMVField.getRefIdx() );4401 4402 if( iValidDepRef >= 0 )4403 {4404 const TComMv cAdd( 2, 2 );4405 cMVField.getMv() += cAdd;4406 cMVField.getMv() >>= 2;4407 #if !(NTT_BUG_FIX_TK54)4408 clipMv( cMVField.getMv() );4409 #endif4410 tmpMV[ 1 ].setMvField( cMVField.getMv(), iValidDepRef );4411 tmpDir = 2;4412 }4413 }4414 }4415 if( tmpDir != 0 )4416 {4417 m_ucDDTmpDepth = m_pcSlice->getDepthFromDV( iDV, iViewIdx );4418 m_iUseDDDCandIdx = iCount;4419 4420 m_mergCands[MRG_D].setCand( tmpMV, tmpDir, false, false);4421 if ( mrgCandIdx == iCount )4422 {4423 return;4424 }4425 iCount ++;4426 }4427 }4428 }4429 #endif4430 #endif4431 4153 ///////////////////////////////////////////////////////////////// 4432 4154 //////// DERIVE IvMC, IvMCShift,IvDCShift, IvDC Candidates ///// … … 4441 4163 Int ivCandDir [4] = {0, 0, 0, 0}; 4442 4164 4443 #if HHI_TOOL_PARAMETERS_I2_J01074444 4165 Bool ivMvPredFlag = getSlice()->getIvMvPredFlag(); 4445 #else4446 Bool ivMvPredFlag = getSlice()->getVPS()->getIvMvPredFlag( getSlice()->getLayerIdInVps() );4447 #endif4448 4166 4449 4167 ivMvPredFlag &= (nPSW + nPSH > 12); … … 4528 4246 4529 4247 #if H_3D 4530 #if SEC_A1_BASED_VSP_J00394531 4248 iCount += m_mergCands[MRG_A1].m_bAvailable + m_mergCands[MRG_B1].m_bAvailable; 4532 #else4533 iCount += m_mergCands[MRG_A1].m_bAvailable + m_mergCands[MRG_B1].m_bAvailable + m_mergCands[MRG_B0].m_bAvailable;4534 #endif4535 4249 #else 4536 4250 //left … … 4631 4345 #endif 4632 4346 4633 #if !LGE_DDD_REMOVAL_J0042_J0030 4634 #if H_3D_DDD 4635 // early termination 4636 if ( iCount >= getSlice()->getMaxNumMergeCand()) 4637 { 4638 return; 4639 } 4640 #endif 4641 #endif 4642 4643 #if SEC_A1_BASED_VSP_J0039 4347 4644 4348 #if H_3D_VSP 4645 4349 ///////////////////////////////////////////////// … … 4680 4384 iCount += m_mergCands[MRG_B0].m_bAvailable; 4681 4385 #endif 4682 #endif4683 4386 4684 4387 … … 4736 4439 #endif // H_3D_IV_MERGE 4737 4440 4738 #if !SEC_A1_BASED_VSP_J00394739 #if H_3D_VSP4740 /////////////////////////////////////////////////4741 //////// VIEW SYNTHESIS PREDICTION (VSP) ////////4742 /////////////////////////////////////////////////4743 if (iCount<getSlice()->getMaxNumMergeCand())4744 {4745 4746 if (4747 #if H_3D_IC4748 !bICFlag &&4749 #endif4750 #if H_3D_ARP4751 !bARPFlag &&4752 #endif4753 #if H_3D4754 (nPSW + nPSH > 12) &&4755 #endif4756 #if H_3D_DBBP4757 !bDBBPFlag &&4758 #endif4759 xAddVspCand( mrgCandIdx, &cDisInfo, iCount ) )4760 {4761 return;4762 }4763 4764 // early termination4765 if (iCount == getSlice()->getMaxNumMergeCand())4766 {4767 return;4768 }4769 #endif4770 #if H_3D4771 }4772 #endif4773 #endif4774 4441 4775 4442 #if H_3D … … 6016 5683 iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId ); 6017 5684 6018 #if HHI_TOOL_PARAMETERS_I2_J01076019 5685 if ( iScale != 4096 && m_pcSlice->getIvMvScalingFlag( ) ) 6020 #else6021 if ( iScale != 4096 && m_pcSlice->getVPS()->getIvMvScalingFlag(getSlice()->getLayerIdInVps()) )6022 #endif6023 5686 { 6024 5687 rcMv = cColMv.scaleMv( iScale ); … … 6203 5866 6204 5867 TComMv cMv; 6205 #if LGE_DEFAULT_DV_J00466206 5868 if ( getSlice()->getDefaultRefViewIdxAvailableFlag() ) 6207 5869 { 6208 5870 Int iViewIdx = getSlice()->getDefaultRefViewIdx(); 6209 5871 pDisp->m_aVIdxCan = iViewIdx; 6210 #if HHI_TOOL_PARAMETERS_I2_J01076211 5872 Int iDisp = getSlice()->getDepthToDisparityB( iViewIdx )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ]; 6212 #else6213 Int iDisp = getSlice()->getDepthToDisparityB( iViewIdx )[ 1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ];6214 #endif6215 5873 6216 5874 cMv.setHor(iDisp); … … 6222 5880 } 6223 5881 return false; 6224 #else6225 #if MTK_I00936226 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ];6227 #else6228 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ 128 ];6229 #endif6230 cMv.setHor(iDisp);6231 cMv.setVer(0);6232 pDisp->m_acNBDV = cMv;6233 pDisp->m_aVIdxCan = 0;6234 6235 return true;6236 #endif6237 5882 } 6238 5883 #endif … … 6266 5911 } 6267 5912 break; 6268 #if !SINGLE_DEPTH_SIMP_J01156269 case 2: // Above6270 if(yP != 0)6271 {6272 *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP) ];6273 bDepAvail = true;6274 }6275 break;6276 case 3: // Left6277 if(xP != 0)6278 {6279 *pNeighDepth = pDepth[ (yP) * iDepStride + (xP-1) ];6280 bDepAvail = true;6281 }6282 break;6283 case 4: // Above_Left6284 if(xP != 0 && yP != 0)6285 {6286 *pNeighDepth = pDepth[ (yP-1) * iDepStride + (xP-1) ];6287 bDepAvail = true;6288 }6289 break;6290 #endif6291 5913 default: 6292 5914 break; … … 6327 5949 } 6328 5950 #if H_3D_NBDV_REF 6329 #if HHI_TOOL_PARAMETERS_I2_J01076330 5951 if( !m_pcSlice->getDepthRefinementFlag( ) ) 6331 #else6332 if( !m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ) )6333 #endif6334 5952 { 6335 5953 bDepthRefine = false; … … 6492 6110 pDInfo->m_acNBDV = defaultDV; 6493 6111 6494 #if LGE_DEFAULT_DV_J00466495 6112 if (getSlice()->getDefaultRefViewIdxAvailableFlag()) 6496 6113 { … … 6520 6137 pDInfo->m_acDoNBDV = defaultDV; 6521 6138 #endif 6522 #if LGE_SIMP_DISP_AVAIL_J00416523 6139 return true; 6524 #endif 6525 } 6526 #else 6527 Int valid = 0; 6528 Int viewIndex = 0; 6529 for( UInt uiBId = 0; uiBId < getSlice()->getViewIndex() && valid==0; uiBId++ ) 6530 { 6531 UInt uiBaseId = uiBId; 6532 TComPic* pcBasePic = getSlice()->getIvPic( false, uiBaseId ); 6533 for( Int iRefListId = 0; ( iRefListId < (getSlice()->isInterB()? 2:1) ) && !getSlice()->isIntra() && valid==0; iRefListId++ ) 6534 { 6535 RefPicList eRefPicListTest = RefPicList( iRefListId ); 6536 Int iNumRefPics = getSlice()->getNumRefIdx( eRefPicListTest ) ; 6537 for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ ) 6538 { 6539 if(pcBasePic->getPOC() == getSlice()->getRefPic( eRefPicListTest, iRefIndex )->getPOC() 6540 && pcBasePic->getViewIndex() == getSlice()->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex()) 6541 { 6542 valid=1; 6543 viewIndex = uiBaseId; 6544 break; 6545 } 6546 } 6547 } 6548 } 6549 if(valid) 6550 { 6551 pDInfo->m_aVIdxCan = viewIndex; 6552 #if H_3D_NBDV_REF 6553 TComPic* picDepth = NULL; 6554 #if H_3D_FCO_VSP_DONBDV_E0163 6555 picDepth = getSlice()->getIvPic(true, getSlice()->getViewIndex() ); 6556 if ( picDepth->getPicYuvRec() != NULL ) 6557 { 6558 defaultDV.setZero(); 6559 } 6560 else // Go back with virtual depth 6561 { 6562 picDepth = getSlice()->getIvPic( true, viewIndex ); 6563 } 6564 6565 assert(picDepth != NULL); 6566 #else 6567 picDepth = getSlice()->getIvPic( true, viewIndex ); 6568 #if !BUG_FIX_TK65 6569 assert(picDepth!=NULL); 6570 #endif 6571 #endif 6572 if (picDepth && bDepthRefine) 6573 { 6574 estimateDVFromDM(viewIndex, uiPartIdx, picDepth, uiPartAddr, &defaultDV ); // from base view 6575 } 6576 pDInfo->m_acDoNBDV = defaultDV; 6577 #endif 6578 #if LGE_SIMP_DISP_AVAIL_J0041 6579 return true; 6580 #endif 6581 } 6582 #endif 6140 } 6583 6141 return false; 6584 6142 } … … 6834 6392 Bool depthRefineFlag = false; 6835 6393 #if H_3D_NBDV_REF 6836 #if HHI_TOOL_PARAMETERS_I2_J01076837 6394 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 6838 #else6839 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );6840 #endif6841 6395 #endif // H_3D_NBDV_REF 6842 6396 … … 6896 6450 Void TComDataCU::getSPPara(Int iPUWidth, Int iPUHeight, Int& iNumSP, Int& iNumSPInOneLine, Int& iSPWidth, Int& iSPHeight) 6897 6451 { 6898 #if HHI_TOOL_PARAMETERS_I2_J01076899 6452 Int iSubPUSize = ( getSlice()->getIsDepth() ? getSlice()->getMpiSubPbSize() : getSlice()->getSubPbSize() ); 6900 #else6901 Int iSubPUSize = 1<<getSlice()->getVPS()->getSubPULog2Size(getSlice()->getLayerId());6902 if( getSlice()->getIsDepth() )6903 {6904 iSubPUSize = 1<<getSlice()->getVPS()->getSubPUMPILog2Size(getSlice()->getLayerId());6905 }6906 #endif6907 6453 6908 6454 iNumSPInOneLine = iPUWidth/iSubPUSize; 6909 #if !HS_SP_SIMP_J00666910 iNumSPInOneLine = iNumSPInOneLine < 1 ? 1: iNumSPInOneLine;6911 #endif6912 6455 Int iNumSPInOneColumn = iPUHeight/iSubPUSize; 6913 #if !HS_SP_SIMP_J00666914 iNumSPInOneColumn = iNumSPInOneColumn < 1 ? 1: iNumSPInOneColumn;6915 #else6916 6456 iNumSPInOneLine = (iPUHeight % iSubPUSize != 0 || iPUWidth % iSubPUSize != 0 ) ? 1 : iNumSPInOneLine; 6917 6457 iNumSPInOneColumn = (iPUHeight % iSubPUSize != 0 || iPUWidth % iSubPUSize != 0 ) ? 1 : iNumSPInOneColumn; 6918 #endif6919 6458 iNumSP = iNumSPInOneLine * iNumSPInOneColumn; 6920 6459 … … 6990 6529 Bool depthRefineFlag = false; 6991 6530 #if H_3D_NBDV_REF 6992 #if HHI_TOOL_PARAMETERS_I2_J01076993 6531 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 6994 #else6995 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() );6996 #endif6997 6532 #endif // H_3D_NBDV_REF 6998 6533 -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComDataCU.h
r1124 r1131 227 227 DisInfo m_cDefaultDisInfo; ///< Default disparity information for initializing 228 228 #endif 229 #if !LGE_DDD_REMOVAL_J0042_J0030230 #if H_3D_DDD231 UChar* m_pucDisparityDerivedDepth;232 Bool* m_pbUseDDD;233 Int m_iUseDDDCandIdx;234 UChar m_ucDDTmpDepth;235 #endif236 #endif237 229 #if H_3D_IV_MERGE 238 230 TComMotionCand m_mergCands[MRG_IVSHIFT+1]; … … 743 735 UInt getCoefScanIdx(UInt uiAbsPartIdx, UInt uiWidth, Bool bIsLuma, Bool bIsIntra); 744 736 745 #if !LGE_DDD_REMOVAL_J0042_J0030746 #if H_3D_DDD747 UChar* getDDDepth () { return m_pucDisparityDerivedDepth; }748 UChar getDDDepth ( UInt uiIdx ) { return m_pucDisparityDerivedDepth[uiIdx]; }749 Void setDDDepth ( UInt uiIdx, UChar n ) { m_pucDisparityDerivedDepth[uiIdx] = n; }750 Void setDDDepthSubParts( UChar ucDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );751 752 Bool* getUseDDD () { return m_pbUseDDD; }753 Bool getUseDDD ( UInt uiIdx ) { return m_pbUseDDD[uiIdx]; }754 Void setUseDDD ( UInt uiIdx, Bool n ) { m_pbUseDDD[uiIdx] = n; }755 Void setUseDDD( Bool bUseDDD, UInt uiAbsPartIdx, UInt uiDepth );756 757 Void setUseDDD ( Bool bUseDDD, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );758 759 UChar getDDTmpDepth(){ return m_ucDDTmpDepth; }760 Int getUseDDDCandIdx(){ return m_iUseDDDCandIdx;}761 762 #endif763 #endif764 737 765 738 #if H_3D_DIM -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComPrediction.cpp
r1124 r1131 1158 1158 pcCU->clipMv(cMv); 1159 1159 1160 #if !LGE_DDD_REMOVAL_J0042_J00301161 #if H_3D_DDD1162 if( pcCU->getUseDDD( uiPartAddr ) )1163 {1164 assert( pcCU->getSPIVMPFlag( uiPartAddr ) == 0 );1165 assert( pcCU->getSlice()->getViewIndex() != 0 );1166 1167 Int dstStride = rpcYuvPred->getStride();1168 Int dstStrideC = rpcYuvPred->getCStride();1169 Pel *dst = rpcYuvPred->getLumaAddr( uiPartAddr );1170 Pel *dstU = rpcYuvPred->getCbAddr( uiPartAddr );1171 Pel *dstV = rpcYuvPred->getCrAddr( uiPartAddr );1172 1173 Int iWidthC = iWidth >> 1;1174 Int iHeightC = iHeight >> 1;1175 Int DefaultC = 1 << ( g_bitDepthY - 1);1176 for ( Int i = 0; i < iHeight; i++)1177 {1178 for ( Int j = 0; j < iWidth ; j++)1179 {1180 dst[j] = pcCU->getDDDepth( uiPartAddr );1181 }1182 dst += dstStride;1183 }1184 for ( Int i = 0; i < iHeightC; i++)1185 {1186 for ( Int j = 0; j < iWidthC; j++)1187 {1188 dstU[j] = dstV[j] = DefaultC;1189 }1190 dstU += dstStrideC;1191 dstV += dstStrideC;1192 }1193 1194 //return;1195 } else1196 #endif1197 #endif1198 1160 #if H_3D_ARP 1199 1161 if(pcCU->getARPW( uiPartAddr ) > 0 && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC()== pcCU->getSlice()->getPOC()) … … 2190 2152 x += pRef[j]; 2191 2153 y += pRec[j]; 2192 #if LGE_CHROMA_IC_J0050_J00342193 2154 if ( eType == TEXT_LUMA ) 2194 2155 { 2195 #endif2196 2156 xx += (pRef[j] * pRef[j])>>precShift; 2197 2157 xy += (pRef[j] * pRec[j])>>precShift; 2198 #if LGE_CHROMA_IC_J0050_J0034 2199 } 2200 #endif 2158 } 2201 2159 } 2202 2160 iCountShift += g_aucConvertToBit[ uiWidth ] + 1; … … 2227 2185 x += pRef[0]; 2228 2186 y += pRec[0]; 2229 #if LGE_CHROMA_IC_J0050_J00342230 2187 if ( eType == TEXT_LUMA ) 2231 2188 { 2232 #endif2233 2189 xx += (pRef[0] * pRef[0])>>precShift; 2234 2190 xy += (pRef[0] * pRec[0])>>precShift; 2235 #if LGE_CHROMA_IC_J0050_J0034 2236 } 2237 #endif 2191 } 2238 2192 pRef += iRefStride*2; 2239 2193 pRec += iRecStride*2; … … 2249 2203 } 2250 2204 2251 #if LGE_CHROMA_IC_J0050_J00342252 2205 if ( eType != TEXT_LUMA ) 2253 2206 { … … 2257 2210 else 2258 2211 { 2259 #endif2260 2212 xy += xx >> IC_REG_COST_SHIFT; 2261 2213 xx += xx >> IC_REG_COST_SHIFT; … … 2299 2251 } 2300 2252 } 2301 #if LGE_CHROMA_IC_J0050_J0034 2302 } 2303 #endif 2253 } 2304 2254 } 2305 2255 #endif -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComRom.cpp
r1124 r1131 362 362 const UChar g_dmm1TabIdxBits[6] = 363 363 { //2x2 4x4 8x8 16x16 32x32 64x64 364 #if MTK_DMM_SIM_J0035365 364 0, 7, 10, 9, 9, 13 }; 366 #else367 0, 7, 10, 11, 11, 13 };368 #endif369 365 370 366 const UChar g_dmm3IntraTabIdxBits[6] = … … 767 763 } 768 764 769 #if MTK_DMM_SIM_J0035770 765 for( Int iK = 0; iK < uiBlockSize; iK += (uiWidth>=16 ?2:1)) 771 766 { … … 776 771 } 777 772 } 778 #else779 for( Int iK = 0; iK < uiBlockSize; iK++ )780 {781 for( Int iL = 0; iL < uiBlockSize; iL++ )782 {783 cTempWedgelet.setWedgelet( uhStartX + (iK*iStepStartX) , uhStartY + (iK*iStepStartY), uhEndX + (iL*iStepEndX), uhEndY + (iL*iStepEndY), (UChar)uiOri, eWedgeRes, ((iL%2)==0 && (iK%2)==0) );784 addWedgeletToList( cTempWedgelet, racWedgeList, racWedgeRefList );785 }786 }787 #endif788 773 } 789 774 -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComSlice.cpp
r1124 r1131 179 179 } 180 180 #endif 181 #if LGE_DEFAULT_DV_J0046182 181 m_iDefaultRefViewIdx = -1; 183 182 m_bDefaultRefViewIdxAvailableFlag = false; 184 #endif185 183 } 186 184 … … 1879 1877 m_vpsBaseLayerAvailableFlag = true; 1880 1878 1881 #if H_MV_FIX_NUM_VIEWS1882 1879 m_numViews = 0; 1883 #endif1884 1880 1885 1881 #endif … … 1918 1914 m_repFormatIdxPresentFlag = false; 1919 1915 m_maxOneActiveRefLayerFlag = false; 1920 #if H_MV_HLS_FIX1921 1916 m_vpsPocLsbAlignedFlag = false; 1922 #endif1923 1917 m_directDepTypeLenMinus2 = 0; 1924 1918 … … 1956 1950 m_layerIdInNuh [i] = ( i == 0 ) ? 0 : -1; 1957 1951 m_numDirectRefLayers[i] = 0; 1958 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071959 1952 #if H_3D 1960 1953 m_numRefListLayers[i] = 0; 1961 #endif1962 1954 #endif 1963 1955 m_vpsRepFormatIdx [i] = 0; … … 1968 1960 #if H_3D 1969 1961 m_viewIndex [i] = -1; 1970 #if !HHI_TOOL_PARAMETERS_I2_J01071971 m_vpsDepthModesFlag [i] = false;1972 m_ivMvScalingFlag[i] = true;1973 m_bIVPFlag [i] = false;1974 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00601975 m_singleDepthModeFlag[ i ] = false;1976 #endif1977 #endif1978 1962 #endif 1979 1963 … … 1984 1968 m_dependencyFlag [i][j] = false; 1985 1969 m_idDirectRefLayer[i][j] = -1; 1986 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071987 1970 #if H_3D 1988 1971 m_idRefListLayer[i][j] = -1; 1989 #endif1990 1972 #endif 1991 1973 m_idPredictedLayer[i][j] = -1; … … 1999 1981 } 2000 1982 #if H_3D_ARP 2001 #if !HHI_TOOL_PARAMETERS_I2_J01072002 m_uiUseAdvResPred[i] = 0;2003 m_uiARPStepNum[i] = 1;2004 #endif2005 1983 #endif 2006 1984 } … … 2008 1986 m_dpbSize = new TComDpbSize; 2009 1987 2010 #if !HHI_TOOL_PARAMETERS_I2_J01072011 #if H_3D2012 for( Int i = 0; i < MAX_NUM_LAYERS; i++ )2013 {2014 #if H_3D_IV_MERGE2015 m_ivMvPredFlag [ i ] = false;2016 #if H_3D_SPIVMP2017 m_iSubPULog2Size [ i ] = 0;2018 #endif2019 #endif2020 #if H_3D_QTLPC2021 m_bLimQtPredFlag [ i ] = false;2022 #endif2023 #if H_3D_VSP2024 m_viewSynthesisPredFlag[ i ] = false;2025 #endif2026 #if H_3D_NBDV_REF2027 m_depthRefinementFlag [ i ] = false;2028 #endif2029 #if H_3D_INTER_SDC2030 m_bInterSDCFlag [ i ] = false;2031 #endif2032 #if H_3D2033 m_bIVPFlag [ i ] = false;2034 #endif2035 #if H_3D_DBBP2036 m_dbbpFlag [ i ] = false;2037 #endif2038 #if H_3D_IV_MERGE2039 m_bMPIFlag [ i ] = false;2040 #endif2041 }2042 #endif2043 #endif2044 1988 2045 1989 #endif … … 2132 2076 Int iNuhLId = getLayerIdInNuh( i ); 2133 2077 Int d = 0; 2134 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072135 2078 #if H_3D 2136 2079 Int l = 0; 2137 2080 #endif 2138 #endif2139 2081 Int r = 0; 2140 2082 Int p = 0; … … 2147 2089 m_idDirectRefLayer[iNuhLId][d++] = jNuhLid; 2148 2090 } 2149 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072150 2091 #if H_3D 2151 2092 if( getDirectDependencyFlag( i , j ) && ( getDepthId( iNuhLId ) == getDepthId( jNuhLid ) )) … … 2154 2095 } 2155 2096 #endif 2156 #endif2157 2097 2158 2098 if( getDependencyFlag( i , j ) ) … … 2166 2106 } 2167 2107 m_numDirectRefLayers[ iNuhLId ] = d; 2168 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072169 2108 #if H_3D 2170 2109 m_numRefListLayers[ iNuhLId ] = l; 2171 #endif2172 2110 #endif 2173 2111 … … 2206 2144 2207 2145 2208 #if H_MV_FIX_NUM_VIEWS2209 2146 Void TComVPS::initNumViews( ) 2210 2147 { … … 2242 2179 } 2243 2180 } 2244 #endif2245 2181 2246 2182 … … 2403 2339 } 2404 2340 2405 #if !H_MV_FIX_NUM_VIEWS2406 Int TComVPS::getNumViews()2407 {2408 Int numViews = 1;2409 for( Int i = 0; i <= getMaxLayersMinus1(); i++ )2410 {2411 Int lId = getLayerIdInNuh( i );2412 if ( i > 0 && ( getViewIndex( lId ) != getScalabilityId( i - 1, VIEW_ORDER_INDEX ) ) )2413 {2414 numViews++;2415 }2416 }2417 return numViews;2418 }2419 #endif2420 2341 2421 2342 … … 2656 2577 xPrintArray( "IdRefLayer" , getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefLayers, m_idRefLayer, true ); 2657 2578 xPrintArray( "IdDirectRefLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numDirectRefLayers, m_idDirectRefLayer, true ); 2658 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072659 2579 #if H_3D 2660 2580 xPrintArray( "IdRefListLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefListLayers, m_idRefListLayer, true ); 2661 #endif2662 2581 #endif 2663 2582 … … 3084 3003 i++; 3085 3004 } 3086 #if SHARP_DLT_SIMP_J00293087 3005 iIdxUp = bFound ? iIdxDown + 1 : iNumDepthValues-1; 3088 #else3089 // iterate over indices to find upper closest depth3090 i = iNumDepthValues-2;3091 bFound = false;3092 while(!bFound && i>=0)3093 {3094 if( m_iIdx2DepthValue[layerIdInVps][i] < p )3095 {3096 iIdxUp = i+1;3097 bFound = true;3098 }3099 3100 i--;3101 }3102 3103 // assert monotony3104 assert(iIdxDown<=iIdxUp);3105 #endif3106 3006 3107 3007 // assign closer depth value/idx … … 3684 3584 { 3685 3585 TComVPS* vps = getVPS(); 3686 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073687 3586 #if H_3D 3688 3587 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdRefListLayer( getLayerId(), i ) ); … … 3690 3589 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) ); 3691 3590 #endif 3692 #else 3693 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) ); 3694 #endif 3695 3696 #if H_MV_FIX_REF_LAYER_PIC_FLAG 3591 3697 3592 Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >= getTLayer() && ( getTLayer() == 0 || 3698 3593 vps->getMaxTidIlRefPicsPlus1( refLayerIdx, vps->getLayerIdInVps( getLayerId() )) > getTLayer() )); 3699 #else3700 Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >= getTLayer() ) && ( getTLayer() == 0 ) &&3701 ( vps->getMaxTidIlRefPicsPlus1( refLayerIdx, vps->getLayerIdInVps( getLayerId() )) > getTLayer() );3702 #endif3703 3594 return refLayerPicFlag; 3704 3595 } … … 3708 3599 Int refLayerPicIdc = -1; 3709 3600 Int curj = 0; 3710 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073711 3601 #if H_3D 3712 3602 for( Int i = 0; i < getVPS()->getNumRefListLayers( getLayerId()) ; i++ ) … … 3714 3604 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ ) 3715 3605 #endif 3716 #else3717 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ )3718 #endif3719 3606 { 3720 3607 if( getRefLayerPicFlag( i ) ) … … 3737 3624 { 3738 3625 Int numRefLayerPics = 0; 3739 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073740 3626 #if H_3D 3741 3627 for( Int i = 0; i < getVPS()->getNumRefListLayers( getLayerId()) ; i++ ) … … 3743 3629 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ ) 3744 3630 #endif 3745 #else3746 for( Int i = 0; i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ )3747 #endif3748 3631 { 3749 3632 numRefLayerPics += getRefLayerPicFlag( i ); … … 3770 3653 numActiveRefLayerPics = 0; 3771 3654 } 3772 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073773 3655 #if H_3D 3774 3656 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumRefListLayers( getLayerId() ) == 1 ) … … 3776 3658 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 ) 3777 3659 #endif 3778 #else3779 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 )3780 #endif3781 3660 { 3782 3661 numActiveRefLayerPics = 1; … … 3791 3670 Int TComSlice::getRefPicLayerId( Int i ) 3792 3671 { 3793 #if HHI_DEPENDENCY_SIGNALLING_I1_J01073794 3672 #if H_3D 3795 3673 return getVPS()->getIdRefListLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); … … 3797 3675 return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3798 3676 #endif 3799 #else 3800 return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3801 #endif 3802 } 3803 3804 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 3677 } 3678 #if H_3D 3805 3679 Void TComSlice::setDefaultRefView( ) 3806 3680 { … … 3839 3713 { 3840 3714 Bool tempRefPicInListsFlag = false; 3841 #if HHI_TOOL_PARAMETERS_I2_J01073842 3715 if( !getIvResPredFlag() || this->isIRAP()) 3843 #else3844 if(!getVPS()->getUseAdvRP(getLayerId()) || this->isIRAP())3845 #endif3846 3716 { 3847 3717 m_nARPStepNum = 0; … … 3871 3741 } 3872 3742 } 3873 #if SEC_ARP_VIEW_REF_CHECK_J00373874 3743 tempRefPicInListsFlag = (getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0) && getDefaultRefViewIdxAvailableFlag(); 3875 #else3876 tempRefPicInListsFlag = getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0;3877 #endif3878 #if HHI_TOOL_PARAMETERS_I2_J01073879 3744 m_nARPStepNum = tempRefPicInListsFlag ? H_3D_ARP_WFNR : 0; 3880 #else3881 m_nARPStepNum = tempRefPicInListsFlag ? getVPS()->getARPStepNum(getLayerId()) : 0;3882 #endif3883 3745 } 3884 3746 … … 4063 3925 Bool setupLUT = false; 4064 3926 4065 #if HHI_TOOL_PARAMETERS_I2_J01074066 3927 setupLUT = setupLUT || getViewSynthesisPredFlag( ); 4067 #else4068 Int layerIdInVPS = getVPS()->getLayerIdInNuh( m_layerId );4069 #if H_3D_VSP4070 setupLUT = setupLUT || getVPS()->getViewSynthesisPredFlag( layerIdInVPS);4071 #endif4072 #endif4073 3928 4074 3929 #if H_3D_NBDV_REF 4075 #if HHI_TOOL_PARAMETERS_I2_J01074076 3930 setupLUT = setupLUT || getDepthRefinementFlag( ); 4077 #else4078 setupLUT = setupLUT || getVPS()->getDepthRefinementFlag( layerIdInVPS );4079 #endif4080 3931 #endif 4081 3932 4082 3933 #if H_3D_IV_MERGE 4083 #if HHI_TOOL_PARAMETERS_I2_J01074084 3934 setupLUT = setupLUT || ( getIvMvPredFlag() && getIsDepth() ); 4085 #else 4086 setupLUT = setupLUT || ( getVPS()->getIvMvPredFlag(layerIdInVPS ) && getIsDepth() ); 4087 #endif 4088 #endif 4089 4090 #if !LGE_DDD_REMOVAL_J0042_J0030 4091 #if H_3D_DDD 4092 #if H_3D_FCO 4093 if( getIsDepth() && getViewIndex() > 0 && getVPS()->getMPIFlag(layerIdInVPS)) 4094 #else 4095 if( getIsDepth() && getViewIndex() > 0 ) 4096 #endif 4097 { 4098 TComSlice *pcTextSlice = getTexturePic()->getSlice( 0 ); 4099 memcpy( m_aiDDDInvScale, pcTextSlice->m_aiDDDInvScale, sizeof( Int ) * getViewIndex() ); 4100 memcpy( m_aiDDDInvOffset, pcTextSlice->m_aiDDDInvOffset, sizeof( Int ) * getViewIndex() ); 4101 memcpy( m_aiDDDShift, pcTextSlice->m_aiDDDShift, sizeof( Int ) * getViewIndex() ); 4102 } 4103 #endif 4104 #endif 3935 #endif 3936 4105 3937 4106 3938 if( !setupLUT ) … … 4151 3983 m_depthToDisparityF[ i ][ d ] = ( invCodScale[ i ] * d + invOffset ) >> log2Div; 4152 3984 } 4153 #if !LGE_DDD_REMOVAL_J0042_J0030 4154 #if H_3D_DDD 4155 initializeDDDPara( vps->getCamParPrecision(), codScale[ i ], codOffset[ i ], i ); 4156 #endif 4157 #endif 4158 } 4159 } 4160 #endif 4161 #endif 4162 4163 #if !LGE_DDD_REMOVAL_J0042_J0030 4164 #if H_3D_DDD 4165 Void TComSlice::initializeDDDPara( UInt uiCamParsCodedPrecision, Int iCodedScale,Int iCodedOffset, Int iBaseViewIdx ) 4166 { 4167 UInt uiViewId = getViewIndex(); 4168 4169 if( uiViewId == 0 ) 4170 { 4171 m_aiDDDInvScale[ iBaseViewIdx ] = m_aiDDDInvOffset[ iBaseViewIdx ] = m_aiDDDShift[ iBaseViewIdx ] = 0; 4172 return; 4173 } 4174 4175 4176 Int iSign = iCodedScale >= 0 ? 1 : -1; 4177 iCodedScale = abs( iCodedScale ); 4178 4179 Int iBitWidth = 0; 4180 4181 const Int iInvPres = 9; 4182 4183 while( ((( 1 << iBitWidth ) << 1 ) <= iCodedScale ) ) 4184 { 4185 iBitWidth ++; 4186 } 4187 iBitWidth += iInvPres; 4188 Int iTargetValue = 1 << iBitWidth; 4189 4190 Int iMinError = MAX_INT; 4191 Int iBestD = 1 << ( iInvPres - 1 ); 4192 for( Int d = 1 << ( iInvPres - 1 ); d < ( 1 << iInvPres ); d++ ) 4193 { 4194 Int iError = abs( iCodedScale * d - iTargetValue ); 4195 if( iError < iMinError ) 4196 { 4197 iMinError = iError; 4198 iBestD = d; 4199 } 4200 if( iMinError == 0 ) 4201 { 4202 break; 4203 } 4204 } 4205 Int iRoundingDir = 0; 4206 if( iCodedScale * iBestD > iTargetValue ) 4207 { 4208 iRoundingDir = -1; 4209 } 4210 else if( iCodedScale * iBestD < iTargetValue ) 4211 { 4212 iRoundingDir = 1; 4213 } 4214 Int iCamPres = uiCamParsCodedPrecision - 1; 4215 m_aiDDDInvScale [ iBaseViewIdx ] = ( iBestD << ( iCamPres + g_bitDepthY )) * iSign; 4216 m_aiDDDInvOffset[ iBaseViewIdx ] = -iSign * iBestD * ( iCodedOffset << g_bitDepthY ); 4217 m_aiDDDShift [ iBaseViewIdx ] = iBitWidth; 4218 m_aiDDDInvOffset[ iBaseViewIdx ] += 1 << ( m_aiDDDShift[ iBaseViewIdx ] - 1 ); 4219 m_aiDDDInvOffset[ iBaseViewIdx ] += ( 1 << ( m_aiDDDShift[ iBaseViewIdx ] - 4 ) ) * iRoundingDir; 4220 4221 return; 4222 } 4223 4224 4225 #endif 4226 #endif 3985 } 3986 } 3987 #endif 3988 #endif 3989 4227 3990 4228 3991 #if H_MV … … 4258 4021 #endif 4259 4022 4260 #if !LGE_DDD_REMOVAL_J0042_J0030 4261 #if H_3D_DBBP 4262 Int TComSlice::getDepthFromDV( Int iDV, Int iBaseViewIdx ) 4263 { 4264 return ClipY(( iDV * m_aiDDDInvScale[ iBaseViewIdx ] + m_aiDDDInvOffset[ iBaseViewIdx ] ) >> m_aiDDDShift[ iBaseViewIdx ]); 4265 } 4266 #endif 4267 #endif 4268 4269 #if HHI_TOOL_PARAMETERS_I2_J0107 4023 4270 4024 #if H_3D 4271 4025 … … 4364 4118 } 4365 4119 #endif 4366 #endif4367 4120 4368 4121 -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TComSlice.h
r1124 r1131 861 861 TComRepFormat* m_repFormat [MAX_NUM_LAYERS]; 862 862 Bool m_maxOneActiveRefLayerFlag; 863 #if H_MV_HLS7_GEN || H_MV_HLS_FIX864 863 Bool m_vpsPocLsbAlignedFlag; 865 #endif866 864 Bool m_pocLsbNotPresentFlag [MAX_NUM_LAYERS]; 867 865 … … 884 882 Int m_dependencyFlag [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 885 883 886 #if H_MV_FIX_NUM_VIEWS887 884 Int m_numViews; 888 #endif889 885 Int m_numDirectRefLayers [MAX_NUM_LAYERS]; 890 886 Int m_idDirectRefLayer [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 891 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107892 887 #if H_3D 893 888 Int m_numRefListLayers [MAX_NUM_LAYERS]; 894 889 Int m_idRefListLayer [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 895 #endif896 890 #endif 897 891 … … 919 913 Void xSetRefLayerFlags( Int currLayerId ); 920 914 // VPS EXTENSION 2 SYNTAX ELEMENTS 921 #if !HHI_TOOL_PARAMETERS_I2_J0107922 #if H_3D_ARP923 UInt m_uiUseAdvResPred [MAX_NUM_LAYERS ];924 UInt m_uiARPStepNum [MAX_NUM_LAYERS ];925 #endif926 #if H_3D_IV_MERGE927 Bool m_ivMvPredFlag [ MAX_NUM_LAYERS ];928 Bool m_ivMvScalingFlag [ MAX_NUM_LAYERS ];929 #if H_3D_SPIVMP930 Int m_iSubPULog2Size [MAX_NUM_LAYERS ];931 Int m_iSubPUMPILog2Size [MAX_NUM_LAYERS ];932 #endif933 #endif934 #if H_3D_QTLPC935 Bool m_bLimQtPredFlag [ MAX_NUM_LAYERS ];936 #endif937 #if H_3D_VSP938 Bool m_viewSynthesisPredFlag [ MAX_NUM_LAYERS ];939 #endif940 #if H_3D_NBDV_REF941 Bool m_depthRefinementFlag [ MAX_NUM_LAYERS ];942 #endif943 Bool m_vpsDepthModesFlag [MAX_NUM_LAYERS ];944 #if H_3D945 Bool m_bIVPFlag [MAX_NUM_LAYERS ];946 #endif947 #endif948 915 #if H_3D 949 916 UInt m_uiCamParPrecision; … … 953 920 Int ***m_aaaiCodedOffset; 954 921 955 #if H_MV_FIX_NUM_VIEWS956 922 #if HHI_VIEW_ID_LIST_I5_J0107 957 923 std::vector<Int> m_viewOIdxList; 958 924 #endif 959 #endif 960 961 #endif 962 #if !HHI_TOOL_PARAMETERS_I2_J0107 963 #if H_3D_INTER_SDC 964 Bool m_bInterSDCFlag[MAX_NUM_LAYERS ]; 965 #endif 966 #if H_3D_DBBP 967 Bool m_dbbpFlag[MAX_NUM_LAYERS]; 968 #endif 969 #if H_3D_IV_MERGE 970 Bool m_bMPIFlag[MAX_NUM_LAYERS ]; 971 #endif 972 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060 973 Bool m_singleDepthModeFlag [ MAX_NUM_LAYERS ]; 974 #endif 925 975 926 #endif 976 927 … … 1159 1110 Bool getMaxOneActiveRefLayerFlag( ) { return m_maxOneActiveRefLayerFlag; } 1160 1111 1161 #if H_MV_HLS7_GEN || H_MV_HLS_FIX1162 1112 Void setVpsPocLsbAlignedFlag( Bool flag ) { m_vpsPocLsbAlignedFlag = flag; } 1163 1113 Bool getVpsPocLsbAlignedFlag( ) { return m_vpsPocLsbAlignedFlag; } 1164 #endif1165 1114 1166 1115 Void setDpbSize( TComDpbSize* val ) { assert( m_dpbSize != 0 ); m_dpbSize = val; } … … 1196 1145 Void setRefLayers(); 1197 1146 1198 #if H_MV_FIX_NUM_VIEWS1199 1147 // To be aligned with spec naming, getViewIndex will be removed in future versions 1200 1148 Int getViewOrderIdx ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX ); } 1201 1149 Int getViewIndex ( Int layerIdInNuh ) { return getViewOrderIdx( layerIdInNuh ); } 1202 #else1203 Int getViewIndex ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX ); }1204 #endif1205 1150 Int getAuxId ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), AUX_ID ); } 1206 1151 Int getDependencyId ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPENDENCY_ID ); } 1207 #if H_MV_FIX_NUM_VIEWS1208 1152 Int getNumViews() { return m_numViews; } 1209 1153 Void initNumViews(); … … 1211 1155 Int getViewOIdxList( Int i ) { return m_viewOIdxList[i]; } 1212 1156 #endif 1213 #else1214 Int getNumViews();1215 #endif1216 1157 1217 1158 Bool getDependencyFlag( Int i, Int j ) { return m_dependencyFlag[i][j]; } 1218 1159 Int getNumDirectRefLayers( Int layerIdInNuh ) { return m_numDirectRefLayers[ layerIdInNuh ]; }; 1219 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071220 1160 #if H_3D 1221 1161 Int getNumRefListLayers( Int layerIdInNuh ) { return m_numRefListLayers[ layerIdInNuh ]; }; 1222 #endif1223 1162 #endif 1224 1163 … … 1230 1169 Int getIdPredictedLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumPredictedLayers( i )); return m_idPredictedLayer[i][j]; } 1231 1170 Int getIdDirectRefLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumDirectRefLayers( i )); return m_idDirectRefLayer[i][j]; } 1232 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071233 1171 #if H_3D 1234 1172 Int getIdRefListLayer ( Int i, Int j ) { assert( j >= 0 && j < getNumRefListLayers ( i )); return m_idRefListLayer[i][j]; } 1235 #endif1236 1173 #endif 1237 1174 Int getNumIndependentLayers ( ) { return m_numIndependentLayers; } … … 1333 1270 #if H_3D 1334 1271 Int getDepthId ( Int layerIdInNuh) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPTH_ID ); } 1335 #if HHI_TOOL_PARAMETERS_I2_J01071336 1272 Bool getVpsDepthFlag( Int layerIdInNuh) { return (getDepthId( layerIdInNuh ) > 0); } 1337 #endif1338 1273 Int getLayerIdInNuh( Int viewIndex, Bool depthFlag ); 1339 1274 1340 #if !HHI_TOOL_PARAMETERS_I2_J01071341 #if H_3D_ARP1342 UInt getUseAdvRP ( Int layerIdInVps ) { return m_uiUseAdvResPred[layerIdInVps]; }1343 UInt getARPStepNum( Int layerIdInVps ) { return m_uiARPStepNum[layerIdInVps]; }1344 Void setUseAdvRP ( Int layerIdInVps, UInt val ) { m_uiUseAdvResPred[layerIdInVps] = val; }1345 Void setARPStepNum( Int layerIdInVps, UInt val ) { m_uiARPStepNum[layerIdInVps] = val; }1346 #endif1347 #endif1348 1275 1349 1276 Void createCamPars(Int iNumViews); … … 1360 1287 Int* getInvCodedOffset ( Int viewIndex ) { return m_aaaiCodedOffset[viewIndex][1]; } 1361 1288 1362 #if !HHI_TOOL_PARAMETERS_I2_J01071363 #if H_3D_IV_MERGE1364 Void setIvMvPredFlag ( Int layerIdInVps, Bool val ) { m_ivMvPredFlag[ layerIdInVps ] = val; }1365 Bool getIvMvPredFlag ( Int layerIdInVps ) { return m_ivMvPredFlag[ layerIdInVps ]; };1366 #if H_3D_SPIVMP1367 Int getSubPULog2Size(Int layerIdInVps) { return m_iSubPULog2Size[layerIdInVps]; }1368 Void setSubPULog2Size(Int layerIdInVps, Int u) { m_iSubPULog2Size[layerIdInVps] = u;}1369 Int getSubPUMPILog2Size(Int layerIdInVps) { return m_iSubPUMPILog2Size[layerIdInVps]; }1370 Void setSubPUMPILog2Size(Int layerIdInVps, Int u) { m_iSubPUMPILog2Size[layerIdInVps] = u;}1371 #endif1372 #endif1373 #if H_3D_QTLPC1374 Void setLimQtPredFlag ( Int layerIdInVps, Bool val ) { m_bLimQtPredFlag[ layerIdInVps ] = val; }1375 Bool getLimQtPredFlag ( Int layerIdInVps ) { return m_bLimQtPredFlag[layerIdInVps];}1376 #endif1377 #if H_3D_VSP1378 Void setViewSynthesisPredFlag ( Int layerIdInVps, Bool val ) { m_viewSynthesisPredFlag[ layerIdInVps ] = val; }1379 Bool getViewSynthesisPredFlag ( Int layerIdInVps ) { return m_viewSynthesisPredFlag[ layerIdInVps ]; };1380 #endif1381 #if H_3D_NBDV_REF1382 Void setDepthRefinementFlag ( Int layerIdInVps, Bool val ) { m_depthRefinementFlag[ layerIdInVps ] = val; }1383 Bool getDepthRefinementFlag ( Int layerIdInVps ) { return m_depthRefinementFlag[ layerIdInVps ]; };1384 #endif1385 Void setVpsDepthModesFlag( Int layerIdInVps, Bool val ) { m_vpsDepthModesFlag[ layerIdInVps ] = val; }1386 Bool getVpsDepthModesFlag( Int layerIdInVps ) { return m_vpsDepthModesFlag[ layerIdInVps ]; }1387 1388 Void setIVPFlag( Int layerIdInVps, Bool val ) { m_bIVPFlag[ layerIdInVps ] = val; }1389 Bool getIVPFlag( Int layerIdInVps ) { return m_bIVPFlag[ layerIdInVps ]; }1390 1391 Bool getIvMvScalingFlag ( Int layerIdInVps ) { return m_ivMvScalingFlag[ layerIdInVps ]; }1392 Void setIvMvScalingFlag (Int layerIdInVps, Bool b ) { m_ivMvScalingFlag[ layerIdInVps ] = b; }1393 1394 #if H_3D_INTER_SDC1395 Bool getInterSDCFlag ( Int layerIdInVps ) { return m_bInterSDCFlag[layerIdInVps]; }1396 Void setInterSDCFlag ( Int layerIdInVps, Bool bval ){ m_bInterSDCFlag[layerIdInVps] = bval; }1397 #endif1398 #if H_3D_DBBP1399 Bool getUseDBBP ( Int layerIdInVps ) { return m_dbbpFlag[layerIdInVps]; }1400 Void setUseDBBP ( Int layerIdInVps, Bool bval ){ m_dbbpFlag[layerIdInVps] = bval; }1401 #endif1402 #if H_3D_IV_MERGE1403 Bool getMPIFlag ( Int layerIdInVps ) { return m_bMPIFlag[layerIdInVps]; }1404 Void setMPIFlag ( Int layerIdInVps, Bool bval ){ m_bMPIFlag[layerIdInVps] = bval; }1405 #endif1406 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00601407 Void setSingleDepthModeFlag ( Int layerIdInVps, Bool val ) { m_singleDepthModeFlag[ layerIdInVps ] = val; }1408 Bool getSingleDepthModeFlag ( Int layerIdInVps ) { return m_singleDepthModeFlag[ layerIdInVps ]; };1409 #endif1410 #endif1411 1289 #endif 1412 1290 #endif … … 1675 1553 }; 1676 1554 1677 #if HHI_TOOL_PARAMETERS_I2_J01071678 1555 #if H_3D 1679 1556 class TComSps3dExtension … … 1762 1639 1763 1640 #endif 1764 #endif1765 1641 1766 1642 /// SPS class … … 1863 1739 #endif 1864 1740 #if H_3D 1865 #if HHI_TOOL_PARAMETERS_I2_J01071866 1741 TComSps3dExtension m_sps3dExtension; 1867 #endif1868 1742 UInt m_uiCamParPrecision; 1869 1743 Bool m_bCamParInSliceHeader; … … 2044 1918 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;} 2045 1919 2046 #if HHI_TOOL_PARAMETERS_I2_J01072047 1920 #if H_3D 2048 1921 Void setSps3dExtension ( TComSps3dExtension& sps3dExtension ) { m_sps3dExtension = sps3dExtension; } 2049 1922 TComSps3dExtension* getSps3dExtension ( ) { return &m_sps3dExtension; } 2050 #endif2051 1923 #endif 2052 1924 … … 2505 2377 #endif 2506 2378 #endif 2507 #if !LGE_DDD_REMOVAL_J0042_J00302508 #if H_3D_DDD2509 Int m_aiDDDInvScale [MAX_NUM_LAYERS];2510 Int m_aiDDDInvOffset[MAX_NUM_LAYERS];2511 UInt m_aiDDDShift [MAX_NUM_LAYERS];2512 #endif2513 #endif2514 2379 #if H_3D_SINGLE_DEPTH 2515 2380 Bool m_bApplySingleDepthMode; … … 2519 2384 Int *m_aICEnableNum; 2520 2385 #endif 2521 #if LGE_DEFAULT_DV_J00462522 2386 Int m_iDefaultRefViewIdx; 2523 2387 Bool m_bDefaultRefViewIdxAvailableFlag; 2524 #endif 2525 2526 #if HHI_TOOL_PARAMETERS_I2_J0107 2388 2527 2389 Bool m_ivMvPredFlag ; 2528 2390 Bool m_ivMvScalingFlag ; … … 2540 2402 Int m_mpiSubPbSize ; 2541 2403 Int m_subPbSize ; 2542 #endif2543 2404 public: 2544 2405 TComSlice(); … … 2610 2471 #if H_3D 2611 2472 TComPic* getTexturePic () { return m_ivPicsCurrPoc[0][ m_viewIndex ]; } 2612 #endif2613 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J00602614 #if H_3D_SINGLE_DEPTH2615 Void setApplySingleDepthMode( Bool b ) { m_bApplySingleDepthMode = b; }2616 Bool getApplySingleDepthMode() { return m_bApplySingleDepthMode; }2617 #endif2618 2473 #endif 2619 2474 #if H_3D_IC … … 2853 2708 Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ refViewIdx ]; }; 2854 2709 Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; }; 2855 #if !HHI_TOOL_PARAMETERS_I2_J01072856 Bool getVpsDepthModesFlag () { return getVPS()->getVpsDepthModesFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }2857 Bool getIVPFlag () { return getVPS()->getIVPFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }2858 #endif2859 2710 #endif 2860 2711 #if H_3D_IC … … 2914 2765 Int getPocMsbVal( ) { return m_pocMsbVal; } 2915 2766 2916 #if H_MV_HLS_FIX2917 2767 Bool getCraOrBlaPicFlag() { return ( getCraPicFlag() || getBlaPicFlag() ); } 2918 2768 Bool getPocMsbValRequiredFlag() { return ( getCraOrBlaPicFlag() && ( getVPS()->getVpsPocLsbAlignedFlag() || getVPS()->getNumDirectRefLayers( getLayerIdInVps() ) == 0 ) ); } 2919 #else2920 Bool getPocMsbValRequiredFlag() { return m_pocMsbValRequiredFlag; }2921 Void setPocMsbValRequiredFlag(Bool x) { m_pocMsbValRequiredFlag = x; }2922 #endif2923 2769 2924 2770 … … 2938 2784 // Additional variables derived in slice header semantics 2939 2785 2940 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072941 2786 #if H_3D 2942 2787 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumRefListLayers( getLayerId() )); } … … 2947 2792 #endif 2948 2793 2949 #else2950 Int getNumInterLayerRefPicsMinus1Len( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); }2951 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); }2952 #endif2953 2794 2954 2795 Int getRefLayerPicFlag( Int i ); … … 2967 2808 2968 2809 2969 #if HHI_TOOL_PARAMETERS_I2_J01072970 2810 #if H_3D 2971 2811 // 3D-HEVC tool parameters … … 2987 2827 Int getSubPbSize ( ) { return m_subPbSize ; }; 2988 2828 #endif 2989 #endif2990 2829 2991 2830 … … 2993 2832 Bool inferPocMsbValPresentFlag(); 2994 2833 #endif 2995 #if !LGE_DDD_REMOVAL_J0042_J0030 2996 #if H_3D_DDD 2997 Void initializeDDDPara( UInt uiCamParsCodedPrecision, Int iCodedScale,Int iCodedOffset, Int iBaseViewIdx ); 2998 Int getDepthFromDV( Int iDV, Int iBaseViewIdx ); 2999 #endif 3000 #endif 3001 #if LGE_DEFAULT_DV_J0046 2834 #if H_3D 3002 2835 Int getDefaultRefViewIdx() { return m_iDefaultRefViewIdx; } 3003 2836 Void setDefaultRefViewIdx(Int iViewIdx) { m_iDefaultRefViewIdx = iViewIdx; } … … 3005 2838 Bool getDefaultRefViewIdxAvailableFlag() { return m_bDefaultRefViewIdxAvailableFlag; } 3006 2839 Void setDefaultRefViewIdxAvailableFlag(Bool bViewIdx) { m_bDefaultRefViewIdxAvailableFlag = bViewIdx; } 3007 #endif3008 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J00373009 2840 Void setDefaultRefView( ); 3010 2841 #endif 3011 3012 2842 protected: 3013 2843 TComPic* xGetRefPic (TComList<TComPic*>& rcListPic, -
branches/HTM-13.0-dev0/source/Lib/TLibCommon/TypeDef.h
r1124 r1131 103 103 // MTK_NBDV_TN_FIX_E0172 fix the issue of DV derivation from the temporal neighboring blocks, issue 7 in JCT3V-E0172 104 104 // MTK_TEXTURE_MRGCAND_BUGFIX_E0182 Bug fix for TEXTURE MERGING CANDIDATE , JCT3V-E0182 105 #define LGE_SIMP_DISP_AVAIL_J0041 1// Use 2 status for disparity availability - DISP_AVAILABLE and DISP_NONE105 // LGE_SIMP_DISP_AVAIL_J0041 // Use 2 status for disparity availability - DISP_AVAILABLE and DISP_NONE 106 106 107 107 #define H_3D_ARP 1 // Advanced residual prediction (ARP), JCT3V-D0177 … … 129 129 // MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX 1 // Remove the global variables used in JCT3V-H0086 130 130 // SEC_IC_NEIGHBOR_CLIP_I0080 // Clipping of neighboring sample position, JCT3V-I0080 131 // LGE_CHROMA_IC_J0050_J0034 131 132 132 133 #if H_3D_NBDV … … 156 157 // NTT_STORE_SPDV_VSP_G0148 Storing Sub-PU based DV for VSP 157 158 // Restricted bi-prediction for VSP 158 #define SEC_A1_BASED_VSP_J0039 1 // Removal of redundant VSP in Merge list 159 // MTK_MRG_LIST_SIZE_CLEANUP_J0059 1 // Include VSP for deriving merge candidate list size, JCT3V-J0059 160 // SEC_A1_BASED_VSP_J0039 1 // Removal of redundant VSP in Merge list 161 159 162 160 163 … … 182 185 // SEC_SIMP_SHIFTED_DV_I0086 Simplification of Shifted DV candidate, JCT3V-I0086 183 186 184 #define MTK_MRG_LIST_SIZE_CLEANUP_J0059 1 // Include VSP for deriving merge candidate list size, JCT3V-J0059 187 185 188 186 189 … … 231 234 // SEPARATE_FLAG_I0085 232 235 // H_3D_DELTA_DLT 233 // RWTH_DLT_CLIP_I0057 1 234 235 236 // RWTH_DLT_CLIP_I0057 237 // MTK_DMM_SIM_J0035 238 // MTK_J0033 239 // SHARP_DLT_SIMP_J0029 1 // DLT(DepthValue2Idx[]) table derivation cleanup 236 240 237 241 #define H_3D_SINGLE_DEPTH 1 // Single depth mode proposed in JCT3V-I0095 238 #define MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1 // Add VPS control flags and remove slice header control flag for single depth, JCT3V-J0060 239 #define ALIGN_J0060_J0107 1 // Alignment of changed tool parameters 240 #define ALGIN_J0107_J0059 1 // Alignment of changed tool parameters 241 242 #define MTK_J0033 1 243 #define SHARP_DLT_SIMP_J0029 1 // DLT(DepthValue2Idx[]) table derivation cleanup 242 // HS_SP_SIMP_J0066 243 // SINGLE_DEPTH_SIMP_J0115 1 244 // MTK_SINGLE_DEPTH_VPS_FLAG_J0060 1 // Add VPS control flags and remove slice header control flag for single depth, JCT3V-J0060 244 245 245 246 #define H_3D_INTER_SDC 1 // INTER SDC, Inter simplified depth coding … … 263 264 // SHARP_DBBP_SIMPLE_FLTER_I0109 1 // Simple condition and one dimensional filter for DBBP 264 265 // SEC_DBBP_DMM4_THRESHOLD_I0076 Simplification of threshold derivation for DBBP and DMM4, JCT3V-I0076 265 #defineSEC_DBBP_VIEW_REF_CHECK_J0037 1 // Signaling dbbp_flag when the current slice has view reference picture(s), JCT3V-J0037 item4266 // SEC_DBBP_VIEW_REF_CHECK_J0037 1 // Signaling dbbp_flag when the current slice has view reference picture(s), JCT3V-J0037 item4 266 267 267 268 #define H_3D_DDD 1 // Disparity derived depth coding 268 #define LGE_DDD_REMOVAL_J0042_J0030 1 //DDD removal269 // LGE_DDD_REMOVAL_J0042_J0030 DDD removal 269 270 270 271 #define H_3D_FCO 0 // Flexible coding order for 3D … … 283 284 #define H_3D_FAST_DEPTH_INTRA 1 // Fast DMM and RBC Mode Selection 284 285 // SCU_HS_FAST_DEPTH_INTRA_E0238_HHIFIX 285 #define MTK_DMM_SIM_J0035 1 286 #endif 286 #endif 287 288 //HLS 289 //HHI_DEPENDENCY_SIGNALLING_I1_J0107 290 //HHI_TOOL_PARAMETERS_I2_J0107 291 //HHI_VPS_3D_EXTENSION_I3_J0107 287 292 288 293 // Rate Control … … 302 307 303 308 #if H_3D 304 #define HHI_DEPENDENCY_SIGNALLING_I1_J0107 1305 #define HHI_TOOL_PARAMETERS_I2_J0107 1306 #define HHI_VPS_3D_EXTENSION_I3_J0107 1307 309 #define HHI_VIEW_ID_LIST_I5_J0107 0 308 310 #endif … … 314 316 #if H_3D_SINGLE_DEPTH 315 317 #define SINGLE_DEPTH_MODE_CAND_LIST_SIZE 2 // size of the sample candidate list 316 #define SINGLE_DEPTH_SIMP_J0115 1 318 317 319 #endif 318 320 … … 331 333 #define DVFROM_ABOVE 1 332 334 #define IDV_CANDS 2 333 #define LGE_DEFAULT_DV_J0046 1334 335 #endif 335 336 … … 367 368 #define IC_SHIFT_DIFF 12 368 369 #define IC_LOW_LATENCY_ENCODING_THRESHOLD 0.1 // Threshold for low-latency IC encoding in JCT3V-H0086 369 #define LGE_CHROMA_IC_J0050_J0034 1370 370 #endif 371 371 … … 389 389 #endif 390 390 391 392 #if H_3D_SPIVMP393 #define HS_SP_SIMP_J0066 1394 #endif395 391 396 392 ///////////////////////////////////////////////////////////////////////////////// … … 935 931 enum DefaultMergCandOrder 936 932 { 937 #if SEC_A1_BASED_VSP_J0039938 933 MRG_T = 0, ///< MPI 939 934 MRG_D, ///< DDD … … 948 943 MRG_IVSHIFT, ///< Shifted IVMC of Shifted IVDC. (These are mutually exclusive) 949 944 MRG_COL ///< Temporal co-located 950 #else951 MRG_T = 0, ///< MPI952 MRG_D, ///< DDD953 MRG_IVMC, ///< Temporal inter-view954 MRG_A1, ///< Left955 MRG_B1, ///< Above956 MRG_B0, ///< Above right957 MRG_IVDC, ///< Disparity inter-view958 MRG_VSP, ///< VSP959 MRG_A0, ///< Left bottom960 MRG_B2, ///< Above left961 MRG_IVSHIFT, ///< Shifted IVMC of Shifted IVDC. (These are mutually exclusive)962 MRG_COL ///< Temporal co-located963 #endif964 945 }; 965 946 #endif -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1124 r1131 721 721 } 722 722 723 #if HHI_TOOL_PARAMETERS_I2_J0107724 723 Void TDecCavlc::parseSPS(TComSPS* pcSPS) 725 #else726 #if H_3D727 Void TDecCavlc::parseSPS(TComSPS* pcSPS, Int viewIndex, Bool depthFlag )728 #else729 Void TDecCavlc::parseSPS(TComSPS* pcSPS)730 #endif731 #endif732 724 { 733 725 #if ENC_DEC_TRACE … … 997 989 if ( pcSPS->getSps3dExtensionFlag() ) 998 990 { 999 #if HHI_TOOL_PARAMETERS_I2_J01071000 991 parseSPS3dExtension( pcSPS ); 1001 #else1002 parseSPSExtension2( pcSPS, viewIndex, depthFlag );1003 #endif1004 992 } 1005 993 … … 1028 1016 1029 1017 #if H_3D 1030 #if HHI_TOOL_PARAMETERS_I2_J01071031 1018 Void TDecCavlc::parseSPS3dExtension( TComSPS* pcSPS ) 1032 1019 { … … 1057 1044 } 1058 1045 } 1059 #else1060 Void TDecCavlc::parseSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )1061 {1062 1063 }1064 #endif1065 1046 #endif 1066 1047 … … 1071 1052 READ_FLAG( uiCode, "pps_infer_scaling_list_flag" ); pcPPS->setPpsInferScalingListFlag( uiCode == 1 ); 1072 1053 READ_CODE( 6, uiCode, "pps_scaling_list_ref_layer_id" ); pcPPS->setPpsScalingListRefLayerId( uiCode ); 1073 #if H_MV_HLS_FIX1074 1054 1075 1055 UInt numRefLocOffsets;; … … 1112 1092 // This is required to equal to 0 for Multiview Main profile. 1113 1093 assert( uiCode == 0 ); 1114 #else1115 READ_UVLC( uiCode, "num_ref_loc_offsets" ); assert( uiCode == 0 );1116 #endif1117 1094 } 1118 1095 … … 1237 1214 { 1238 1215 #if H_3D 1239 #if HHI_VPS_3D_EXTENSION_I3_J01071240 1216 READ_FLAG( uiCode, "vps_3d_extension_flag" ); 1241 1217 if ( uiCode ) … … 1248 1224 if (uiCode) 1249 1225 { 1250 #else1251 m_pcBitstream->readOutTrailingBits();1252 pcVPS->createCamPars(pcVPS->getNumViews());1253 parseVPSExtension2( pcVPS );1254 READ_FLAG( uiCode, "vps_extension3_flag" );1255 if (uiCode)1256 {1257 #endif1258 1226 #endif 1259 1227 #endif … … 1330 1298 } 1331 1299 1332 #if H_MV_FIX_NUM_VIEWS1333 1300 pcVPS->initNumViews(); 1334 #endif1335 1301 1336 1302 READ_CODE( 4, uiCode, "view_id_len" ); pcVPS->setViewIdLen( uiCode ); … … 1441 1407 for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ ) 1442 1408 { 1443 #if H_MV_HLS_FIX1444 1409 if( pcVPS->getNumLayerSets() > 2 && i >= pcVPS->getNumLayerSets( ) ) 1445 #else1446 if( i >= pcVPS->getNumLayerSets( ) )1447 #endif1448 1410 { 1449 1411 READ_CODE( pcVPS->getLayerSetIdxForOlsMinus1Len( i ), uiCode, "layer_set_idx_for_ols_minus1[i]" ); pcVPS->setLayerSetIdxForOlsMinus1( i, uiCode ); … … 1517 1479 READ_FLAG( uiCode, "max_one_active_ref_layer_flag" ); pcVPS->setMaxOneActiveRefLayerFlag ( uiCode == 1 ); 1518 1480 1519 #if H_MV_HLS7_GEN || H_MV_HLS_FIX1520 1481 READ_FLAG( uiCode, "vps_poc_lsb_aligned_flag" ); pcVPS->setVpsPocLsbAlignedFlag( uiCode == 1 ); 1521 #endif1522 1482 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1523 1483 { … … 1567 1527 parseVPSVUI( pcVPS ); 1568 1528 } 1569 #if H_MV_HLS_FIX1570 1529 else 1571 #endif1572 1530 { 1573 1531 TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( ); … … 1945 1903 1946 1904 #if H_3D 1947 #if HHI_VPS_3D_EXTENSION_I3_J01071948 1905 Void TDecCavlc::parseVPS3dExtension( TComVPS* pcVPS ) 1949 #else1950 Void TDecCavlc::parseVPSExtension2( TComVPS* pcVPS )1951 #endif1952 1906 { 1953 1907 UInt uiCode; 1954 1908 1955 #if !HHI_TOOL_PARAMETERS_I2_J01071956 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )1957 {1958 #if H_3D_ARP1959 pcVPS->setUseAdvRP ( i, 0 );1960 pcVPS->setARPStepNum( i, 1 );1961 #endif1962 #if H_3D_SPIVMP1963 pcVPS->setSubPULog2Size(i, 0);1964 #endif1965 {1966 #if H_3D_IV_MERGE1967 READ_FLAG( uiCode, "iv_mv_pred_flag[i]"); pcVPS->setIvMvPredFlag ( i, uiCode == 1 ? true : false );1968 READ_FLAG( uiCode, "iv_mv_scaling_flag[i]"); pcVPS->setIvMvScalingFlag ( i, uiCode == 1 ? true : false );1969 #endif1970 if( !( pcVPS->getDepthId( i ) == 1 ) )1971 {1972 #if H_3D_IV_MERGE1973 if( !pcVPS->getNumDirectRefLayers(i) )1974 {1975 assert( !uiCode );1976 }1977 #if H_3D_SPIVMP1978 READ_UVLC (uiCode, "log2_sub_PU_size_minus3[i]"); pcVPS->setSubPULog2Size(i, uiCode+3);1979 #endif1980 #endif1981 #if H_3D_ARP1982 READ_FLAG( uiCode, "iv_res_pred_flag[i]" ); pcVPS->setUseAdvRP ( i, uiCode ); pcVPS->setARPStepNum( i, uiCode ? H_3D_ARP_WFNR : 1 );1983 if( !pcVPS->getNumDirectRefLayers(i) )1984 {1985 assert( !uiCode );1986 }1987 #endif1988 #if H_3D_NBDV_REF1989 READ_FLAG( uiCode, "depth_refinement_flag[i]"); pcVPS->setDepthRefinementFlag ( i, uiCode == 1 ? true : false );1990 #endif1991 #if H_3D_VSP1992 READ_FLAG( uiCode, "view_synthesis_pred_flag[i]"); pcVPS->setViewSynthesisPredFlag( i, uiCode == 1 ? true : false );1993 if( !pcVPS->getNumDirectRefLayers(i) )1994 {1995 assert( !uiCode );1996 }1997 #endif1998 #if H_3D_DBBP1999 READ_FLAG( uiCode, "use_dbbp_flag[i]" ); pcVPS->setUseDBBP( i, uiCode == 1 ? true : false );2000 #endif2001 }2002 else2003 {2004 #if H_3D_IV_MERGE2005 READ_FLAG( uiCode, "mpi_flag[i]" ); pcVPS->setMPIFlag( i, uiCode == 1 ? true : false );2006 READ_UVLC (uiCode, "log2_mpi_sub_PU_size_minus3[i]"); pcVPS->setSubPUMPILog2Size(i, uiCode+3);2007 #endif2008 READ_FLAG( uiCode, "vps_depth_modes_flag[i]" ); pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );2009 #if H_3D2010 READ_FLAG( uiCode, "ivp_flag[i]" ); pcVPS->setIVPFlag( i, uiCode == 1 ? true : false );2011 #endif2012 #if H_3D_QTLPC2013 READ_FLAG( uiCode, "lim_qt_pred_flag[i]"); pcVPS->setLimQtPredFlag ( i, uiCode == 1 ? true : false );2014 #endif2015 #if H_3D_INTER_SDC2016 READ_FLAG( uiCode, "depth_inter_SDC_flag" ); pcVPS->setInterSDCFlag( i, uiCode ? true : false );2017 #endif2018 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00602019 READ_FLAG( uiCode, "single_depth_mode_flag[i]"); pcVPS->setSingleDepthModeFlag( i, uiCode == 1 ? true : false );2020 #endif2021 }2022 }2023 }2024 #endif2025 1909 2026 1910 UInt uiCamParPrecision = 0; … … 2131 2015 #endif 2132 2016 rpcSlice->setSPS(sps); 2133 #if HHI_TOOL_PARAMETERS_I2_J01072134 2017 #if H_3D 2135 2018 rpcSlice->init3dToolParameters(); 2136 #endif2137 2019 #endif 2138 2020 rpcSlice->setPPS(pps); … … 2207 2089 rpcSlice->checkCrossLayerBlaFlag( ); 2208 2090 2209 #if !H_MV_HLS7_GEN && !H_MV_HLS_FIX2210 if ( rpcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )2211 {2212 esb++;2213 READ_FLAG( uiCode, "poc_reset_flag" ); rpcSlice->setPocResetFlag( uiCode == 1 );2214 }2215 #endif2216 2091 2217 2092 for (; esb < rpcSlice->getPPS()->getNumExtraSliceHeaderBits(); esb++) … … 2492 2367 Bool interLayerPredLayerIdcPresentFlag = false; 2493 2368 Int layerId = rpcSlice->getLayerId(); 2494 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072495 2369 #if H_3D 2496 2370 if( rpcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumRefListLayers( layerId ) > 0 ) … … 2498 2372 if( rpcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 2499 2373 #endif 2500 #else2501 if( rpcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 )2502 #endif2503 2374 { 2504 2375 READ_FLAG( uiCode, "inter_layer_pred_enabled_flag" ); rpcSlice->setInterLayerPredEnabledFlag( uiCode == 1 ); 2505 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072506 2376 #if H_3D 2507 2377 if( rpcSlice->getInterLayerPredEnabledFlag() && vps->getNumRefListLayers( layerId ) > 1 ) … … 2509 2379 if( rpcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 2510 2380 #endif 2511 #else2512 if( rpcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 )2513 #endif2514 2381 { 2515 2382 if( !vps->getMaxOneActiveRefLayerFlag()) … … 2517 2384 READ_CODE( rpcSlice->getNumInterLayerRefPicsMinus1Len( ), uiCode, "num_inter_layer_ref_pics_minus1" ); rpcSlice->setNumInterLayerRefPicsMinus1( uiCode ); 2518 2385 } 2519 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072520 2386 #if H_3D 2521 2387 if ( rpcSlice->getNumActiveRefLayerPics() != vps->getNumRefListLayers( layerId ) ) 2522 #else2523 if ( rpcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) )2524 #endif2525 2388 #else 2526 2389 if ( rpcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) … … 2711 2574 } 2712 2575 #if H_3D_IC 2713 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072714 2576 else if( rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) && !rpcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 ) 2715 #else2716 else if( rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) && !rpcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 )2717 #endif2718 2577 { 2719 2578 UInt uiCodeTmp = 0; … … 2729 2588 } 2730 2589 #endif 2731 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J00602732 #if H_3D_SINGLE_DEPTH2733 if(rpcSlice->getIsDepth())2734 {2735 UInt uiCodeTmp = 0;2736 READ_FLAG( uiCodeTmp, "slice_enable_single_depth_mode" );2737 rpcSlice->setApplySingleDepthMode(uiCodeTmp);2738 }2739 #endif2740 #endif2741 2590 if (!rpcSlice->isIntra()) 2742 2591 { 2743 2592 READ_UVLC( uiCode, "five_minus_max_num_merge_cand"); 2744 2593 #if H_3D_IV_MERGE 2745 #if HHI_TOOL_PARAMETERS_I2_J01072746 #if ALGIN_J0107_J00592747 2594 rpcSlice->setMaxNumMergeCand(( ( rpcSlice->getMpiFlag() || rpcSlice->getIvMvPredFlag() || rpcSlice->getViewSynthesisPredFlag() ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode); 2748 #else2749 rpcSlice->setMaxNumMergeCand(( ( rpcSlice->getMpiFlag() || rpcSlice->getIvMvPredFlag() ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode);2750 #endif2751 #else2752 if(rpcSlice->getIsDepth())2753 {2754 Bool bMPIFlag = rpcSlice->getVPS()->getMPIFlag( rpcSlice->getLayerIdInVps() ) ;2755 Bool ivMvPredFlag = rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ;2756 rpcSlice->setMaxNumMergeCand(( ( bMPIFlag || ivMvPredFlag ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode);2757 }2758 else2759 {2760 Bool ivMvPredFlag = rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ;2761 #if MTK_MRG_LIST_SIZE_CLEANUP_J00592762 Bool vspFlag = rpcSlice->getVPS()->getViewSynthesisPredFlag( rpcSlice->getLayerIdInVps() ) ;2763 rpcSlice->setMaxNumMergeCand(( ivMvPredFlag || vspFlag? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode);2764 #else2765 rpcSlice->setMaxNumMergeCand(( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode);2766 #endif2767 }2768 #endif2769 2595 #else 2770 2596 rpcSlice->setMaxNumMergeCand(MRG_MAX_NUM_CANDS - uiCode); … … 2926 2752 2927 2753 // Derive the value of PocMs8bValRequiredFlag 2928 #if !H_MV_HLS_FIX 2929 rpcSlice->setPocMsbValRequiredFlag( rpcSlice->getCraPicFlag() || rpcSlice->getBlaPicFlag() 2930 /* || TODO related to vps_poc_lsb_aligned_flag */ 2931 ); 2932 #endif 2933 2934 #if H_MV_HLS_FIX 2754 2935 2755 if( !rpcSlice->getPocMsbValRequiredFlag() && rpcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2936 #else2937 if( !rpcSlice->getPocMsbValRequiredFlag() /* TODO && rpcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ )2938 #endif2939 2756 { 2940 2757 READ_FLAG( uiCode, "poc_msb_val_present_flag" ); rpcSlice->setPocMsbValPresentFlag( uiCode == 1 ); -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecCAVLC.h
r1124 r1131 90 90 #endif 91 91 #if H_3D 92 #if HHI_VPS_3D_EXTENSION_I3_J010793 92 Void parseVPS3dExtension ( TComVPS* pcVPS ); 94 #else95 Void parseVPSExtension2 ( TComVPS* pcVPS );96 #endif97 #if HHI_TOOL_PARAMETERS_I2_J010798 93 Void parseSPS3dExtension ( TComSPS* pcSPS ); 99 94 Void parseSPS ( TComSPS* pcSPS ); 100 #else101 Void parseSPSExtension2 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );102 Void parseSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );103 #endif104 95 #else 105 96 Void parseSPS ( TComSPS* pcSPS ); -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecCu.cpp
r1124 r1131 291 291 DTRACE_CU_S("=========== coding_unit ===========\n") 292 292 #endif 293 #if !LGE_DDD_REMOVAL_J0042_J0030294 #if H_3D_DDD295 pcCU->setUseDDD( false, uiAbsPartIdx, uiDepth );296 #endif297 #endif298 293 299 294 if( (g_uiMaxCUWidth>>uiDepth) >= pcCU->getSlice()->getPPS()->getMinCuDQPSize() && pcCU->getSlice()->getPPS()->getUseDQP()) … … 315 310 { 316 311 #if H_3D_ARP && H_3D_IV_MERGE 317 #if HHI_TOOL_PARAMETERS_I2_J0107318 312 if( pcCU->getSlice()->getIvResPredFlag() || pcCU->getSlice()->getIvMvPredFlag() ) 319 #else320 if( pcCU->getSlice()->getVPS()->getUseAdvRP( pcCU->getSlice()->getLayerId() ) || pcCU->getSlice()->getVPS()->getIvMvPredFlag( pcCU->getSlice()->getLayerId() ))321 #endif322 313 #else 323 314 #if H_3D_ARP … … 349 340 #endif 350 341 #if H_3D_NBDV_REF 351 #if HHI_TOOL_PARAMETERS_I2_J0107352 342 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() ) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done. 353 #else354 if(pcCU->getSlice()->getVPS()->getDepthRefinementFlag( pcCU->getSlice()->getLayerIdInVps() )) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.355 #endif356 343 { 357 344 DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true); … … 460 447 #endif 461 448 pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiAbsPartIdx, 0, uiDepth ); 462 #if !LGE_DDD_REMOVAL_J0042_J0030463 #if H_3D_DDD464 if( uiMergeIndex == m_ppcCU[uiDepth]->getUseDDDCandIdx() )465 {466 assert( pcCU->getSlice()->getViewIndex() != 0 );467 pcCU->setUseDDD( true, uiAbsPartIdx, 0, uiDepth );468 pcCU->setDDDepthSubParts( m_ppcCU[uiDepth]->getDDTmpDepth(),uiAbsPartIdx, 0, uiDepth );469 }470 #endif471 #endif472 449 473 450 TComMv cTmpMv( 0, 0 ); … … 744 721 //construction of depth candidates 745 722 Pel testDepth; 746 #if SINGLE_DEPTH_SIMP_J0115747 723 Pel DepthNeighbours[2]; 748 #else749 Pel DepthNeighbours[5];750 #endif751 724 Int index =0; 752 #if SINGLE_DEPTH_SIMP_J0115753 725 for( Int i = 0; (i < 2) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ ) 754 #else755 for( Int i = 0; (i < 5) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ )756 #endif757 726 { 758 727 if(!pcCU->getNeighDepth (0, uiAbsPartIdx, &testDepth, i)) … … 762 731 DepthNeighbours[index]=testDepth; 763 732 index++; 764 #if !SINGLE_DEPTH_SIMP_J0115765 for(Int j=0;j<index-1;j++)766 {767 if( (DepthNeighbours[index-1]==DepthNeighbours[j]) )768 {769 index--;770 break;771 }772 }773 #endif774 733 } 775 734 -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp
r1124 r1131 59 59 return; 60 60 } 61 #if ALIGN_J0060_J010762 #else63 if ( !pcCU->getSlice()->getIsDepth() )64 {65 return;66 }67 #if MTK_SINGLE_DEPTH_VPS_FLAG_J006068 if(!pcCU->getSlice()->getVPS()->getSingleDepthModeFlag(pcCU->getSlice()->getLayerIdInVps()))69 {70 return;71 }72 #else73 if(!pcCU->getSlice()->getApplySingleDepthMode())74 {75 return;76 }77 #endif78 #endif79 61 80 62 m_pcEntropyDecoderIf->parseSingleDepthMode( pcCU, uiAbsPartIdx, uiDepth ); … … 167 149 168 150 #if H_3D_DBBP 169 #if SEC_DBBP_VIEW_REF_CHECK_J0037170 #if HHI_TOOL_PARAMETERS_I2_J0107171 151 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 172 #else173 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )174 #endif175 #else176 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 )177 #endif178 152 { 179 153 decodeDBBPFlag(pcCU, uiAbsPartIdx, uiDepth); … … 360 334 } 361 335 pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth ); 362 #if !LGE_DDD_REMOVAL_J0042_J0030363 #if H_3D_DDD364 if( uiMergeIndex == pcSubCU->getUseDDDCandIdx() )365 {366 assert( pcCU->getSlice()->getViewIndex() != 0 );367 pcCU->setUseDDD( true, uiSubPartIdx, uiPartIdx, uiDepth );368 pcCU->setDDDepthSubParts( pcSubCU->getDDTmpDepth(),uiSubPartIdx, uiPartIdx, uiDepth );369 }370 else371 {372 pcCU->setUseDDD( false, uiSubPartIdx, uiPartIdx, uiDepth );373 }374 #endif375 #endif376 336 377 337 TComMv cTmpMv( 0, 0 ); … … 852 812 pcCU->setSDCFlagSubParts( false, uiAbsPartIdx, uiDepth ); 853 813 854 #if HHI_TOOL_PARAMETERS_I2_J0107855 814 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) || 856 815 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) ) 857 #else858 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) ||859 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getVpsDepthModesFlag( pcCU->getSlice()->getLayerIdInVps() ) ) )860 #endif861 816 { 862 817 return; -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecEntropy.h
r1124 r1131 66 66 67 67 virtual Void parseVPS ( TComVPS* pcVPS ) = 0; 68 #if HHI_TOOL_PARAMETERS_I2_J010769 68 virtual Void parseSPS ( TComSPS* pcSPS ) = 0; 70 #else71 #if H_3D72 virtual Void parseSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) = 0;73 #else74 virtual Void parseSPS ( TComSPS* pcSPS ) = 0;75 #endif76 #endif77 69 #if H_3D 78 70 virtual Void parsePPS ( TComPPS* pcPPS, TComVPS* pcVPS ) = 0; … … 161 153 Void resetEntropy ( TComSlice* p) { m_pcEntropyDecoderIf->resetEntropy(p); } 162 154 Void decodeVPS ( TComVPS* pcVPS ) { m_pcEntropyDecoderIf->parseVPS(pcVPS); } 163 #if HHI_TOOL_PARAMETERS_I2_J0107164 155 Void decodeSPS ( TComSPS* pcSPS ) { m_pcEntropyDecoderIf->parseSPS(pcSPS); } 165 #else166 #if H_3D167 Void decodeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) { m_pcEntropyDecoderIf->parseSPS(pcSPS, viewIndex, depthFlag ); }168 #else169 Void decodeSPS ( TComSPS* pcSPS ) { m_pcEntropyDecoderIf->parseSPS(pcSPS); }170 #endif171 #endif172 156 #if H_3D 173 157 Void decodePPS ( TComPPS* pcPPS, TComVPS* pcVPS ) { m_pcEntropyDecoderIf->parsePPS(pcPPS, pcVPS); } -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecSbac.cpp
r1124 r1131 703 703 704 704 705 #if HHI_TOOL_PARAMETERS_I2_J0107706 705 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 707 #else708 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS();709 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());710 #endif711 706 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 712 707 Bool bDepthMapDetect = (pcTexture != NULL); … … 762 757 Bool bParsePartSize = true; 763 758 764 #if HHI_TOOL_PARAMETERS_I2_J0107765 759 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 766 #else767 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS();768 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());769 #endif770 760 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 771 761 Bool bDepthMapDetect = (pcTexture != NULL); … … 992 982 { 993 983 #if H_3D_DIM 994 #if HHI_TOOL_PARAMETERS_I2_J0107995 984 if( pcCU->getSlice()->getIntraSdcWedgeFlag() || pcCU->getSlice()->getIntraContourFlag() ) 996 #else997 if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() )998 #endif999 985 { 1000 986 parseIntraDepth( pcCU, absPartIdx+partOffset*j, depth ); … … 1111 1097 xParseDmm1WedgeIdx( uiTabIdx, g_dmm1TabIdxBits[pcCU->getIntraSizeIdx(absPartIdx)] ); 1112 1098 1113 #if MTK_J00331114 1099 assert( uiTabIdx < g_dmmWedgeLists[ g_aucConvertToBit[ pcCU->getDMM1BasePatternWidth( pcCU->getWidth( absPartIdx ) )]].size()); 1115 #endif1116 1100 1117 1101 pcCU->setDmmWedgeTabIdxSubParts( uiTabIdx, dimType, absPartIdx, depth ); … … 1143 1127 if( uiIsDimMode ) 1144 1128 { 1145 #if HHI_TOOL_PARAMETERS_I2_J01071146 1129 if( pcCU->getSlice()->getIntraSdcWedgeFlag() && pcCU->getSlice()->getIntraContourFlag() ) 1147 #else1148 if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag() )1149 #endif1150 1130 { 1151 1131 m_pcTDecBinIf->decodeBin( uiSymbol, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); … … 1159 1139 } 1160 1140 } 1161 #if HHI_TOOL_PARAMETERS_I2_J01071162 1141 else if ( pcCU->getSlice()->getIntraSdcWedgeFlag() ) 1163 #else1164 else if ( pcCU->getSlice()->getVpsDepthModesFlag() )1165 #endif1166 1142 { 1167 1143 pcCU->setLumaIntraDirSubParts( DIM_OFFSET, absPartIdx, depth ); 1168 1144 } 1169 #if HHI_TOOL_PARAMETERS_I2_J01071170 1145 else if( pcCU->getSlice()->getIntraContourFlag() ) 1171 #else1172 else if( pcCU->getSlice()->getIVPFlag() )1173 #endif1174 1146 { 1175 1147 pcCU->setLumaIntraDirSubParts( ( 1+ DIM_OFFSET ), absPartIdx, depth ); … … 2151 2123 Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2152 2124 { 2153 #if HHI_TOOL_PARAMETERS_I2_J01072154 2125 AOF( pcCU->getSlice()->getDepthBasedBlkPartFlag() ); 2155 #else2156 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );2157 #endif2158 2126 AOF( !pcCU->getSlice()->getIsDepth() ); 2159 2127 -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecSbac.h
r1124 r1131 76 76 Void setBitstream ( TComInputBitstream* p ) { m_pcBitstream = p; m_pcTDecBinIf->init( p ); } 77 77 Void parseVPS ( TComVPS* /*pcVPS*/ ) {} 78 #if HHI_TOOL_PARAMETERS_I2_J010779 78 Void parseSPS ( TComSPS* /*pcSPS*/ ) {} 80 #else81 #if H_3D82 Void parseSPS ( TComSPS* /*pcSPS*/ , Int /*viewIndex*/, Bool /*depthFlag*/ ) {}83 #else84 Void parseSPS ( TComSPS* /*pcSPS*/ ) {}85 #endif86 #endif87 79 #if H_3D 88 80 Void parsePPS ( TComPPS* /*pcPPS*/, TComVPS* /*pcVPS*/ ) {} -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecSlice.cpp
r1124 r1131 280 280 iNumSubstreamsPerTile = 1; 281 281 } 282 #if LGE_DEFAULT_DV_J0046 && !SEC_ARP_VIEW_REF_CHECK_J0037 && !SEC_DBBP_VIEW_REF_CHECK_J0037283 pcSlice->setDefaultRefViewIdx( -1 );284 pcSlice->setDefaultRefViewIdxAvailableFlag( false );285 286 Int valid = 0;287 Int viewIndex = 0;288 for( UInt uiBId = 0; uiBId < pcSlice->getViewIndex() && valid==0; uiBId++ )289 {290 UInt uiBaseId = uiBId;291 TComPic* pcBasePic = pcSlice->getIvPic( false, uiBaseId );292 for( Int iRefListId = 0; ( iRefListId < (pcSlice->isInterB()? 2:1) ) && !pcSlice->isIntra() && valid==0; iRefListId++ )293 {294 RefPicList eRefPicListTest = RefPicList( iRefListId );295 Int iNumRefPics = pcSlice->getNumRefIdx( eRefPicListTest ) ;296 for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ )297 {298 if(pcBasePic->getPOC() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getPOC()299 && pcBasePic->getViewIndex() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex())300 {301 valid=1;302 viewIndex = uiBaseId;303 break;304 }305 }306 }307 }308 if( valid )309 {310 pcSlice->setDefaultRefViewIdx( viewIndex );311 pcSlice->setDefaultRefViewIdxAvailableFlag( true );312 }313 #endif314 282 315 283 if ( (iCUAddr == rpcPic->getPicSym()->getTComTile(rpcPic->getPicSym()->getTileIdxMap(iCUAddr))->getFirstCUAddr()) && // 1st in tile. -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecTop.cpp
r1124 r1131 726 726 727 727 #endif 728 #if HHI_TOOL_PARAMETERS_I2_J0107729 728 #if H_3D 730 729 m_apcSlicePilot->init3dToolParameters(); 731 #endif732 730 #endif 733 731 pps->setSPS(sps); … … 1087 1085 pcSlice->getTempRefPicLists( m_cListPic, m_refPicSetInterLayer0, m_refPicSetInterLayer1, tempRefPicLists, usedAsLongTerm, numPocTotalCurr); 1088 1086 pcSlice->setRefPicList ( tempRefPicLists, usedAsLongTerm, numPocTotalCurr, true ); 1089 1090 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 1087 #if H_3D 1091 1088 pcSlice->setDefaultRefView(); 1092 1089 #endif 1093 1094 1090 #if H_3D_ARP 1095 1091 pcSlice->setARPStepNum(m_ivPicLists); … … 1244 1240 TComVPS* vps = m_parameterSetManagerDecoder.getPrefetchedVPS( 0 ); 1245 1241 assert( vps != 0 ); 1246 #if HHI_TOOL_PARAMETERS_I2_J01071247 1242 m_cEntropyDecoder.decodeSPS( sps ); 1248 #else1249 m_cEntropyDecoder.decodeSPS( sps, vps->getViewIndex( m_layerId ), ( vps->getDepthId( m_layerId ) == 1 ) );1250 #endif1251 1243 #else 1252 1244 m_cEntropyDecoder.decodeSPS( sps ); -
branches/HTM-13.0-dev0/source/Lib/TLibDecoder/TDecTop.h
r1124 r1131 83 83 #endif 84 84 85 #if !LGE_DDD_REMOVAL_J0042_J003086 #if H_3D_DDD87 Int getCodedScale( Int iBaseView, Int iCureView){ return m_aaiCodedScale[ iBaseView ][ iCureView ];}88 Int getCodedOffset( Int iBaseView, Int iCureView){ return m_aaiCodedOffset[ iBaseView ][ iCureView ];}89 UInt getCamParsCodedPrecision(){ return m_vps->getCamParPrecision(); }90 #endif91 #endif92 85 93 86 private: -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp
r1124 r1131 638 638 } 639 639 640 #if HHI_TOOL_PARAMETERS_I2_J0107641 640 Void TEncCavlc::codeSPS( TComSPS* pcSPS ) 642 #else643 #if H_3D644 Void TEncCavlc::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )645 #else646 Void TEncCavlc::codeSPS( TComSPS* pcSPS )647 #endif648 #endif649 641 { 650 642 #if ENC_DEC_TRACE … … 846 838 if ( pcSPS->getSps3dExtensionFlag() ) 847 839 { 848 #if HHI_TOOL_PARAMETERS_I2_J0107849 840 codeSPS3dExtension( pcSPS ); 850 #else851 codeSPSExtension2( pcSPS, viewIndex, depthFlag );852 #endif853 841 } 854 842 … … 871 859 WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" ); 872 860 WRITE_UVLC( 0, "num_ref_loc_offsets" ); 873 #if H_MV_HLS_FIX874 861 WRITE_FLAG( 0 , "colour_mapping_enabled_flag" ); 875 #endif876 862 877 863 } … … 880 866 881 867 #if H_3D 882 #if HHI_TOOL_PARAMETERS_I2_J0107883 868 Void TEncCavlc::codeSPS3dExtension( TComSPS* pcSPS ) 884 869 { … … 908 893 } 909 894 } 910 #else911 Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )912 {913 914 }915 #endif916 895 #endif 917 896 … … 1012 991 #if H_3D 1013 992 WRITE_FLAG( 1, "vps_extension2_flag" ); 1014 #if HHI_VPS_3D_EXTENSION_I3_J01071015 993 WRITE_FLAG( 1, "vps_3d_extension_flag" ); 1016 994 m_pcBitIf->writeAlignOne(); 1017 995 codeVPS3dExtension( pcVPS ); 1018 #else1019 m_pcBitIf->writeAlignOne();1020 codeVPSExtension2( pcVPS );1021 #endif1022 996 WRITE_FLAG( 0, "vps_extension3_flag" ); 1023 997 #else … … 1189 1163 for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ ) 1190 1164 { 1191 #if H_MV_HLS_FIX1192 1165 if( pcVPS->getNumLayerSets() > 2 && i >= pcVPS->getNumLayerSets( ) ) 1193 #else1194 if( i >= pcVPS->getNumLayerSets( ) )1195 #endif1196 1166 { 1197 1167 WRITE_CODE( pcVPS->getLayerSetIdxForOlsMinus1( i ), pcVPS->getLayerSetIdxForOlsMinus1Len( i ) , "layer_set_idx_for_ols_minus1[i]" ); … … 1263 1233 1264 1234 WRITE_FLAG( pcVPS->getMaxOneActiveRefLayerFlag( ) ? 1 : 0, "max_one_active_ref_layer_flag" ); 1265 #if H_MV_HLS7_GEN || H_MV_HLS_FIX1266 1235 WRITE_FLAG( pcVPS->getVpsPocLsbAlignedFlag( ) ? 1 : 0 , "vps_poc_lsb_aligned_flag" ); 1267 #endif1268 1236 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1269 1237 { … … 1313 1281 codeVPSVUI( pcVPS ); 1314 1282 } 1315 #if H_MV_HLS_FIX1316 1283 else 1317 #endif1318 1284 { 1319 1285 TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( ); … … 1630 1596 1631 1597 #if H_3D 1632 #if HHI_VPS_3D_EXTENSION_I3_J01071633 1598 Void TEncCavlc::codeVPS3dExtension( TComVPS* pcVPS ) 1634 #else1635 Void TEncCavlc::codeVPSExtension2( TComVPS* pcVPS )1636 #endif1637 1599 { 1638 #if !HHI_TOOL_PARAMETERS_I2_J01071639 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )1640 {1641 {1642 WRITE_FLAG( pcVPS->getIvMvPredFlag ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");1643 WRITE_FLAG( pcVPS->getIvMvScalingFlag( i ) ? 1 : 0 , "iv_mv_scaling_flag[i]" );1644 1645 if ( !( pcVPS->getDepthId( i ) == 1 ) )1646 {1647 #if H_3D_IV_MERGE1648 #if H_3D_SPIVMP1649 WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");1650 #endif1651 #endif1652 #if H_3D_ARP1653 WRITE_FLAG( pcVPS->getUseAdvRP ( i ) ? 1 : 0, "iv_res_pred_flag[i]" );1654 #endif1655 #if H_3D_NBDV_REF1656 WRITE_FLAG( pcVPS->getDepthRefinementFlag ( i ) ? 1 : 0 , "depth_refinement_flag[i]");1657 #endif1658 #if H_3D_VSP1659 WRITE_FLAG( pcVPS->getViewSynthesisPredFlag( i ) ? 1 : 0 , "view_synthesis_pred_flag[i]");1660 #endif1661 #if H_3D_DBBP1662 WRITE_FLAG( pcVPS->getUseDBBP( i ) ? 1 : 0, "use_dbbp_flag[i]" );1663 #endif1664 }1665 else1666 {1667 #if H_3D_IV_MERGE1668 WRITE_FLAG( pcVPS->getMPIFlag( i ) ? 1 : 0 , "mpi_flag[i]" );1669 #endif1670 WRITE_UVLC( pcVPS->getSubPUMPILog2Size(i)-3, "log2_mpi_sub_PU_size_minus3[i]");1671 1672 WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 , "vps_depth_modes_flag[i]" );1673 #if H_3D1674 WRITE_FLAG( pcVPS->getIVPFlag( i ) ? 1 : 0 , "IVP_flag[i]" );1675 #endif1676 WRITE_FLAG( pcVPS->getLimQtPredFlag ( i ) ? 1 : 0 , "lim_qt_pred_flag[i]" );1677 1678 #if H_3D_INTER_SDC1679 WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" );1680 #endif1681 #if MTK_SINGLE_DEPTH_VPS_FLAG_J00601682 WRITE_FLAG( pcVPS->getSingleDepthModeFlag( i ) ? 1 : 0, "single_depth_mode_flag" );1683 #endif1684 }1685 }1686 }1687 #endif1688 1600 WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" ); 1689 1601 for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++) … … 1789 1701 } 1790 1702 pcSlice->checkCrossLayerBlaFlag( ); 1791 #if !H_MV_HLS7_GEN && !H_MV_HLS_FIX1792 if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )1793 {1794 esb++;1795 WRITE_FLAG( pcSlice->getPocResetFlag( ) ? 1 : 0 , "poc_reset_flag" );1796 }1797 #endif1798 1703 1799 1704 … … 1951 1856 Bool interLayerPredLayerIdcPresentFlag = false; 1952 1857 Int layerId = pcSlice->getLayerId(); 1953 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071954 1858 #if H_3D 1955 1859 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumRefListLayers( layerId ) > 0 ) … … 1957 1861 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 ) 1958 1862 #endif 1959 #else1960 if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 )1961 #endif1962 1863 { 1963 1864 WRITE_FLAG( pcSlice->getInterLayerPredEnabledFlag( ) ? 1 : 0 , "inter_layer_pred_enabled_flag" ); 1964 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071965 1865 #if H_3D 1966 1866 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumRefListLayers( layerId ) > 1 ) … … 1968 1868 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 ) 1969 1869 #endif 1970 #else1971 if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 )1972 #endif1973 1870 { 1974 1871 if( !vps->getMaxOneActiveRefLayerFlag()) … … 1976 1873 WRITE_CODE( pcSlice->getNumInterLayerRefPicsMinus1( ), pcSlice->getNumInterLayerRefPicsMinus1Len( ), "num_inter_layer_ref_pics_minus1" ); 1977 1874 } 1978 #if HHI_DEPENDENCY_SIGNALLING_I1_J01071979 1875 #if H_3D 1980 1876 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumRefListLayers( layerId ) ) 1981 #else1982 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) )1983 #endif1984 1877 #else 1985 1878 if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) ) … … 2125 2018 } 2126 2019 #if H_3D_IC 2127 #if HHI_DEPENDENCY_SIGNALLING_I1_J01072128 2020 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 ) 2129 #else2130 else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 )2131 #endif2132 2021 { 2133 2022 WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" ); … … 2137 2026 } 2138 2027 } 2139 #endif2140 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J00602141 #if H_3D_SINGLE_DEPTH2142 if(pcSlice->getIsDepth())2143 {2144 WRITE_FLAG( pcSlice->getApplySingleDepthMode() ? 1 : 0, "slice_enable_single_depth_mode" );2145 }2146 #endif2147 2028 #endif 2148 2029 #if H_3D_IV_MERGE … … 2154 2035 { 2155 2036 #if H_3D_IV_MERGE 2156 #if HHI_TOOL_PARAMETERS_I2_J01072157 #if ALGIN_J0107_J00592158 2037 WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) || pcSlice->getViewSynthesisPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 2159 #else2160 WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");2161 #endif2162 #else2163 if(pcSlice->getIsDepth())2164 {2165 Bool bMPIFlag = pcSlice->getVPS()->getMPIFlag( pcSlice->getLayerIdInVps() ) ;2166 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ;2167 WRITE_UVLC( ( ( bMPIFlag || ivMvPredFlag ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");2168 }2169 else2170 {2171 Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ;2172 #if MTK_MRG_LIST_SIZE_CLEANUP_J00592173 Bool vspFlag = pcSlice->getVPS()->getViewSynthesisPredFlag( pcSlice->getLayerIdInVps() ) ;2174 WRITE_UVLC( ( ivMvPredFlag || vspFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");2175 #else2176 WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");2177 #endif2178 }2179 #endif2180 2038 #else 2181 2039 WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); … … 2243 2101 { 2244 2102 // Derive the value of PocMsbValRequiredFlag 2245 #if !H_MV_HLS_FIX2246 pcSlice->setPocMsbValRequiredFlag( pcSlice->getCraPicFlag() || pcSlice->getBlaPicFlag()2247 /* || related to vps_poc_lsb_aligned_flag */2248 );2249 #endif2250 2103 2251 2104 // Determine value of SH extension length. … … 2265 2118 2266 2119 2267 #if H_MV_HLS_FIX2268 2120 if( !pcSlice->getPocMsbValRequiredFlag() && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2269 #else2270 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ )2271 #endif2272 2121 { 2273 2122 shExtnLengthInBit++; // For poc_msb_val_present_flag … … 2332 2181 pcSlice->checkPocLsbVal(); 2333 2182 2334 #if H_MV_HLS_FIX2335 2183 if( !pcSlice->getPocMsbValRequiredFlag() && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2336 #else2337 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ )2338 #endif2339 2184 { 2340 2185 WRITE_FLAG( pcSlice->getPocMsbValPresentFlag( ) ? 1 : 0 , "poc_msb_val_present_flag" ); -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncCavlc.h
r1124 r1131 99 99 #endif 100 100 #if H_3D 101 #if HHI_VPS_3D_EXTENSION_I3_J0107102 101 Void codeVPS3dExtension ( TComVPS* pcVPS ); 103 #else104 Void codeVPSExtension2 ( TComVPS* pcVPS );105 #endif106 #if HHI_TOOL_PARAMETERS_I2_J0107107 102 Void codeSPS3dExtension ( TComSPS* pcSPS ); 108 103 Void codeSPS ( TComSPS* pcSPS ); 109 #else110 Void codeSPSExtension2 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );111 Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );112 #endif113 104 #else 114 105 Void codeSPS ( TComSPS* pcSPS ); -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncCfg.h
r1124 r1131 392 392 Double m_dDispCoeff; 393 393 #endif 394 #if !HHI_TOOL_PARAMETERS_I2_J0107395 #if H_3D_ARP396 UInt m_uiUseAdvResPred;397 UInt m_uiARPStepNum;398 #endif399 #if H_3D_SPIVMP400 Int m_iSubPULog2Size;401 Int m_iSubPUMPILog2Size;402 #endif403 #endif404 394 #if H_3D_IC 405 395 Bool m_bUseIC; 406 396 Bool m_bUseICLowLatencyEnc; 407 397 #endif 408 #if !HHI_TOOL_PARAMETERS_I2_J0107409 #if H_3D_INTER_SDC410 bool m_bInterSDC;411 #endif412 #if H_3D_DBBP413 Bool m_bUseDBBP;414 #endif415 #endif416 398 //====== Depth Intra Modes ====== 417 399 #if H_3D_DIM 418 400 Bool m_useDMM; 419 #if !HHI_TOOL_PARAMETERS_I2_J0107420 Bool m_useIVP;421 #endif422 401 Bool m_useSDC; 423 402 Bool m_useDLT; 424 #endif425 #if !HHI_TOOL_PARAMETERS_I2_J0107426 #if H_3D_SINGLE_DEPTH427 Bool m_useSingleDepthMode;428 #endif429 430 #if H_3D_IV_MERGE431 Bool m_useMPI;432 #endif433 403 #endif 434 404 #if H_3D_QTLPC … … 506 476 Void setMaxTempLayer ( Int maxTempLayer ) { m_maxTempLayer = maxTempLayer; } 507 477 508 #if !HHI_TOOL_PARAMETERS_I2_J0107509 #if H_3D_ARP510 UInt getUseAdvRP ( ) { return m_uiUseAdvResPred; }511 Void setUseAdvRP ( UInt u ) { m_uiUseAdvResPred = u; }512 513 UInt getARPStepNum () { return m_uiARPStepNum; }514 Void setARPStepNum ( UInt u ) { m_uiARPStepNum = u; }515 #endif516 #if H_3D_SPIVMP517 Int getSubPULog2Size () { return m_iSubPULog2Size;}518 Void setSubPULog2Size (Int u) { m_iSubPULog2Size = u; }519 Int getSubPUMPILog2Size () { return m_iSubPUMPILog2Size;}520 Void setSubPUMPILog2Size (Int u) { m_iSubPUMPILog2Size = u; }521 #endif522 #endif523 478 #if H_3D_IC 524 479 Void setUseIC ( Bool bVal ) { m_bUseIC = bVal; } … … 526 481 Void setUseICLowLatencyEnc ( Bool bVal ) { m_bUseICLowLatencyEnc = bVal; } 527 482 Bool getUseICLowLatencyEnc () { return m_bUseICLowLatencyEnc; } 528 #endif529 #if !HHI_TOOL_PARAMETERS_I2_J0107530 #if H_3D_INTER_SDC531 Void setInterSDCEnable ( Bool bVal ) { m_bInterSDC = bVal; }532 Bool getInterSDCEnable () { return m_bInterSDC; }533 #endif534 #if H_3D_DBBP535 Void setUseDBBP ( Bool b ) { m_bUseDBBP = b; }536 Bool getUseDBBP() { return m_bUseDBBP; }537 #endif538 483 #endif 539 484 //======== Transform ============= … … 991 936 Bool getUseDMM () { return m_useDMM; } 992 937 Void setUseDMM ( Bool b) { m_useDMM = b; } 993 #if !HHI_TOOL_PARAMETERS_I2_J0107994 Bool getUseIVP () { return m_useIVP; }995 Void setUseIVP ( Bool b) { m_useIVP = b; }996 #endif997 938 Bool getUseSDC () { return m_useSDC; } 998 939 Void setUseSDC ( Bool b) { m_useSDC = b; } … … 1000 941 Bool getUseDLT () { return m_useDLT; } 1001 942 Void setUseDLT ( Bool b) { m_useDLT = b; } 1002 #endif1003 #if !HHI_TOOL_PARAMETERS_I2_J01071004 #if H_3D_SINGLE_DEPTH1005 Void setUseSingleDepthMode ( Bool bVal ) { m_useSingleDepthMode = bVal; }1006 Bool getUseSingleDepthMode () { return m_useSingleDepthMode; }1007 #endif1008 943 #endif 1009 944 #if H_3D_QTLPC … … 1011 946 Bool getUseQTL () { return m_bUseQTL; } 1012 947 #endif 1013 #if !HHI_TOOL_PARAMETERS_I2_J01071014 #if H_3D_IV_MERGE1015 Void setUseMPI ( Bool b ) { m_useMPI = b; }1016 Bool getUseMPI () { return m_useMPI; }1017 #endif1018 #endif1019 948 #endif // H_3D 1020 949 }; -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncCu.cpp
r1124 r1131 409 409 410 410 #if H_3D_QTLPC 411 #if HHI_TOOL_PARAMETERS_I2_J0107412 411 Bool bLimQtPredFalg = pcPic->getSlice(0)->getQtPredFlag(); 413 #else414 TComVPS *vps = pcPic->getSlice(0)->getVPS();415 Bool bLimQtPredFalg = vps->getLimQtPredFlag(pcPic->getSlice(0)->getLayerId());416 #endif417 412 TComPic *pcTexture = rpcBestCU->getSlice()->getTexturePic(); 418 413 … … 570 565 { 571 566 #if H_3D_ARP && H_3D_IV_MERGE 572 #if HHI_TOOL_PARAMETERS_I2_J0107573 567 if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() ) 574 #else575 if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) || rpcTempCU->getSlice()->getVPS()->getIvMvPredFlag(rpcTempCU->getSlice()->getLayerId()) )576 #endif577 568 #else 578 569 #if H_3D_ARP … … 598 589 #endif 599 590 #if H_3D_NBDV_REF 600 #if HHI_TOOL_PARAMETERS_I2_J0107601 591 if( rpcTempCU->getSlice()->getDepthRefinementFlag() ) 602 #else603 if(rpcTempCU->getSlice()->getVPS()->getDepthRefinementFlag( rpcTempCU->getSlice()->getLayerIdInVps()))604 #endif605 592 DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true); 606 593 else … … 617 604 } 618 605 #if H_3D_FAST_TEXTURE_ENCODING 619 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037620 606 if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 621 #else622 if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth())623 #endif624 607 { 625 608 PartSize ePartTemp = rpcTempCU->getPartitionSize(0); … … 684 667 685 668 #if H_3D_DBBP 686 #if SEC_DBBP_VIEW_REF_CHECK_J0037687 #if HHI_TOOL_PARAMETERS_I2_J0107688 669 if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 689 #else690 if( m_pcEncCfg->getUseDBBP() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )691 #endif692 #else693 if( m_pcEncCfg->getUseDBBP() )694 #endif695 670 { 696 671 xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false ); … … 739 714 #if H_3D_SINGLE_DEPTH 740 715 rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP ); 741 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060742 #if ALIGN_J0060_J0107743 716 if( rpcBestCU->getSlice()->getIntraSingleFlag() ) 744 #else745 if(rpcBestCU->getSlice()->getVPS()->getSingleDepthModeFlag(rpcBestCU->getSlice()->getLayerIdInVps()))746 #endif747 #else748 if(rpcBestCU->getSlice()->getApplySingleDepthMode())749 #endif750 717 { 751 718 xCheckRDCostSingleDepth( rpcBestCU, rpcTempCU, SIZE_2Nx2N ); … … 1901 1868 1902 1869 #endif 1903 #if !LGE_DDD_REMOVAL_J0042_J00301904 #if H_3D_DDD1905 Int iDDDCand = rpcTempCU->getUseDDDCandIdx();1906 UChar ucDDDepth = rpcTempCU->getDDTmpDepth();1907 rpcTempCU->setUseDDD( false, 0, uhDepth );1908 #endif1909 #endif1910 1870 1911 1871 for( UInt uiNoResidual = 0; uiNoResidual < iteration; ++uiNoResidual ) … … 1940 1900 #if H_3D_VSP 1941 1901 rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth ); 1942 #endif1943 #if !LGE_DDD_REMOVAL_J0042_J00301944 #if H_3D_DDD1945 if( rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getViewIndex() != 0 && iDDDCand == uiMergeCand )1946 {1947 rpcTempCU->setUseDDD( true, 0, 0, uhDepth );1948 rpcTempCU->setDDDepthSubParts( ucDDDepth, 0, 0, uhDepth );1949 }1950 else1951 {1952 rpcTempCU->setUseDDD( false, 0, 0, uhDepth );1953 }1954 #endif1955 1902 #endif 1956 1903 #if H_3D_SPIVMP … … 2056 2003 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2057 2004 #if H_3D_INTER_SDC 2058 #if HHI_TOOL_PARAMETERS_I2_J01072059 2005 if( rpcTempCU->getSlice()->getInterSdcFlag() && !uiNoResidual ) 2060 #else2061 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && !uiNoResidual )2062 #endif2063 2006 { 2064 2007 Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE}; … … 2132 2075 { 2133 2076 #if H_3D_INTER_SDC 2134 #if HHI_TOOL_PARAMETERS_I2_J01072135 2077 if( rpcTempCU->getSlice()->getInterSdcFlag() ) 2136 #else2137 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) )2138 #endif2139 2078 { 2140 2079 bestIsSkip = !rpcBestCU->getSDCFlag( 0 ) && ( rpcBestCU->getQtRootCbf(0) == 0 ); … … 2212 2151 UChar uhDepth = rpcTempCU->getDepth( 0 ); 2213 2152 #if H_3D_ARP 2214 #if !HHI_TOOL_PARAMETERS_I2_J01072215 Int iLayerId = rpcTempCU->getSlice()->getLayerId();2216 #endif2217 2153 Bool bFirstTime = true; 2218 2154 Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1; … … 2225 2161 for( Int nARPW = 0; nARPW <= nARPWMax; nARPW++ ) 2226 2162 { 2227 #if HHI_TOOL_PARAMETERS_I2_J01072228 2163 if( !bFirstTime && rpcTempCU->getSlice()->getIvResPredFlag() ) 2229 #else2230 if( bFirstTime == false && rpcTempCU->getSlice()->getVPS()->getUseAdvRP( iLayerId ) )2231 #endif2232 2164 { 2233 2165 rpcTempCU->initEstData( rpcTempCU->getDepth(0), rpcTempCU->getQP(0),bTransquantBypassFlag ); … … 2253 2185 rpcTempCU->setPartSizeSubParts ( ePartSize, 0, uhDepth ); 2254 2186 rpcTempCU->setPredModeSubParts ( MODE_INTER, 0, uhDepth ); 2255 #if !LGE_DDD_REMOVAL_J0042_J00302256 #if H_3D_DDD2257 rpcTempCU->setUseDDD( false, 0, uhDepth );2258 #endif2259 #endif2260 2187 2261 2188 #if H_3D_ARP … … 2335 2262 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2336 2263 #if H_3D_INTER_SDC 2337 #if HHI_TOOL_PARAMETERS_I2_J01072338 2264 if( rpcTempCU->getSlice()->getInterSdcFlag() && ePartSize == SIZE_2Nx2N) 2339 #else2340 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && ePartSize == SIZE_2Nx2N)2341 #endif2342 2265 { 2343 2266 Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE}; -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp
r1124 r1131 78 78 } 79 79 80 #if HHI_TOOL_PARAMETERS_I2_J010781 80 Void TEncEntropy::encodeSPS( TComSPS* pcSPS ) 82 81 { … … 84 83 return; 85 84 } 86 #else87 #if H_3D88 Void TEncEntropy::encodeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )89 {90 m_pcEntropyCoderIf->codeSPS( pcSPS, viewIndex, depthFlag );91 return;92 }93 #else94 Void TEncEntropy::encodeSPS( TComSPS* pcSPS )95 {96 m_pcEntropyCoderIf->codeSPS( pcSPS );97 return;98 }99 #endif100 #endif101 85 102 86 Void TEncEntropy::encodeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) … … 130 114 Void TEncEntropy::encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) 131 115 { 132 #if ALIGN_J0060_J0107133 116 if(!pcCU->getSlice()->getIntraSingleFlag() ) 134 117 { 135 118 return; 136 119 } 137 #else138 if ( !pcCU->getSlice()->getIsDepth() )139 {140 return;141 }142 #if MTK_SINGLE_DEPTH_VPS_FLAG_J0060143 if(!pcCU->getSlice()->getVPS()->getSingleDepthModeFlag(pcCU->getSlice()->getLayerIdInVps()))144 {145 return;146 }147 #else148 if(!pcCU->getSlice()->getApplySingleDepthMode())149 {150 return;151 }152 #endif153 #endif154 120 if( bRD ) 155 121 { … … 289 255 290 256 #if H_3D_DBBP 291 #if SEC_DBBP_VIEW_REF_CHECK_J0037292 #if HHI_TOOL_PARAMETERS_I2_J0107293 257 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 294 #else295 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )296 #endif297 #else298 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 )299 #endif300 258 { 301 259 encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD); … … 809 767 Void TEncEntropy::encodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) 810 768 { 811 #if HHI_TOOL_PARAMETERS_I2_J0107812 769 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) || 813 770 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) ) 814 #else815 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) ||816 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getVpsDepthModesFlag( pcCU->getSlice()->getLayerIdInVps() ) ) )817 #endif818 771 { 819 772 return; -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncEntropy.h
r1124 r1131 69 69 70 70 virtual Void codeVPS ( TComVPS* pcVPS ) = 0; 71 #if HHI_TOOL_PARAMETERS_I2_J010772 71 virtual Void codeSPS ( TComSPS* pcSPS ) = 0; 73 #else74 #if !H_3D75 virtual Void codeSPS ( TComSPS* pcSPS ) = 0;76 #else77 virtual Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) = 0;78 #endif79 #endif80 72 virtual Void codePPS ( TComPPS* pcPPS ) = 0; 81 73 virtual Void codeSliceHeader ( TComSlice* pcSlice ) = 0; … … 169 161 Void encodeVPS ( TComVPS* pcVPS); 170 162 // SPS 171 #if HHI_TOOL_PARAMETERS_I2_J0107172 163 Void encodeSPS ( TComSPS* pcSPS ); 173 #else174 #if H_3D175 Void encodeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );176 #else177 Void encodeSPS ( TComSPS* pcSPS );178 #endif179 #endif180 164 Void encodePPS ( TComPPS* pcPPS ); 181 165 Void encodeSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool bRD = false ); -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncGOP.cpp
r1124 r1131 880 880 881 881 TComVPS* vps = pcSlice->getVPS(); 882 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107883 882 #if H_3D 884 883 Int numDirectRefLayers = vps ->getNumRefListLayers( getLayerId() ); 885 #else886 Int numDirectRefLayers = vps ->getNumDirectRefLayers( getLayerId() );887 #endif888 884 #else 889 885 Int numDirectRefLayers = vps ->getNumDirectRefLayers( getLayerId() ); … … 901 897 pcSlice->setNumInterLayerRefPicsMinus1( gopEntry.m_numActiveRefLayerPics - 1 ); 902 898 } 903 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107904 899 #if H_3D 905 900 if ( gopEntry.m_numActiveRefLayerPics != vps->getNumRefListLayers( getLayerId() ) ) 906 #else907 if ( gopEntry.m_numActiveRefLayerPics != vps->getNumDirectRefLayers( getLayerId() ) )908 #endif909 901 #else 910 902 if ( gopEntry.m_numActiveRefLayerPics != vps->getNumDirectRefLayers( getLayerId() ) ) … … 957 949 pcSlice->setRefPicList ( rcListPic ); 958 950 #endif 959 #if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060 960 #if H_3D_SINGLE_DEPTH 961 #if HHI_TOOL_PARAMETERS_I2_J0107 962 pcSlice->setApplySingleDepthMode( pcSlice->getIntraSingleFlag() ); 963 #else 964 TEncTop* pcEncTop = (TEncTop*) m_pcCfg; 965 bool enableSingleDepthMode=false; 966 if(pcEncTop->getUseSingleDepthMode()) 967 { 968 if(pcSlice->getIsDepth()) 969 { 970 enableSingleDepthMode=true; 971 } 972 } 973 pcSlice->setApplySingleDepthMode(enableSingleDepthMode); 974 #endif 975 #endif 976 #endif 977 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 951 #if H_3D 978 952 pcSlice->setDefaultRefView(); 979 953 #endif … … 1439 1413 pcSlice->getSPS()->getVuiParameters()->setHrdParametersPresentFlag( true ); 1440 1414 } 1441 #if HHI_TOOL_PARAMETERS_I2_J01071442 1415 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS()); 1443 #else1444 #if !H_3D1445 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS());1446 #else1447 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS(), pcSlice->getViewIndex(), pcSlice->getIsDepth() );1448 #endif1449 #endif1450 1416 writeRBSPTrailingBits(nalu.m_Bitstream); 1451 1417 accessUnit.push_back(new NALUnitEBSP(nalu)); -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncSbac.cpp
r1124 r1131 255 255 curCost += m_CUTransquantBypassFlagSCModel.calcCost( curSliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG ); 256 256 #if H_3D_DIM 257 #if HHI_TOOL_PARAMETERS_I2_J0107258 257 if( m_pcSlice->getIntraSdcWedgeFlag() || m_pcSlice->getIntraContourFlag() ) 259 #else260 if( m_pcSlice->getVpsDepthModesFlag() || m_pcSlice->getIVPFlag() )261 #endif262 258 { 263 259 curCost += m_cDepthIntraModeSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_DEPTH_INTRA_MODE ); … … 350 346 } 351 347 352 #if HHI_TOOL_PARAMETERS_I2_J0107353 348 Void TEncSbac::codeSPS( TComSPS* pcSPS ) 354 #else355 #if H_3D356 Void TEncSbac::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )357 #else358 Void TEncSbac::codeSPS( TComSPS* pcSPS )359 #endif360 #endif361 349 { 362 350 assert (0); … … 633 621 PartSize eSize = pcCU->getPartitionSize( uiAbsPartIdx ); 634 622 #if H_3D_QTLPC 635 #if HHI_TOOL_PARAMETERS_I2_J0107636 623 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 637 #else638 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS();639 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());640 #endif641 624 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 642 625 Bool bDepthMapDetect = (pcTexture != NULL); … … 1011 994 1012 995 1013 #if HHI_TOOL_PARAMETERS_I2_J01071014 996 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 1015 #else1016 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS();1017 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());1018 #endif1019 997 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 1020 998 Bool bDepthMapDetect = (pcTexture != NULL); … … 1077 1055 dir[j] = pcCU->getLumaIntraDir( absPartIdx+partOffset*j ); 1078 1056 #if H_3D_DIM 1079 #if HHI_TOOL_PARAMETERS_I2_J01071080 1057 if( pcCU->getSlice()->getIntraSdcWedgeFlag() || pcCU->getSlice()->getIntraContourFlag() ) 1081 #else1082 if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() )1083 #endif1084 1058 { 1085 1059 codeIntraDepth( pcCU, absPartIdx+partOffset*j ); … … 1227 1201 } 1228 1202 //mode coding 1229 #if HHI_TOOL_PARAMETERS_I2_J01071230 1203 if( pcCU->getSlice()->getIntraSdcWedgeFlag() && pcCU->getSlice()->getIntraContourFlag()) 1231 #else1232 if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag())1233 #endif1234 1204 { 1235 1205 m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); … … 2330 2300 PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx ); 2331 2301 AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N ); 2332 #if HHI_TOOL_PARAMETERS_I2_J01072333 2302 AOF( pcCU->getSlice()->getDepthBasedBlkPartFlag() ); 2334 #else2335 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );2336 #endif2337 2303 AOF( !pcCU->getSlice()->getIsDepth() ); 2338 2304 -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncSbac.h
r1124 r1131 94 94 95 95 Void codeVPS ( TComVPS* pcVPS ); 96 #if HHI_TOOL_PARAMETERS_I2_J010797 96 Void codeSPS ( TComSPS* pcSPS ); 98 #else99 #if !H_3D100 Void codeSPS ( TComSPS* pcSPS );101 #else102 Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );103 #endif104 #endif105 97 Void codePPS ( TComPPS* pcPPS ); 106 98 Void codeSliceHeader ( TComSlice* pcSlice ); -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r1124 r1131 2881 2881 Int index=0; 2882 2882 Pel testDepth; 2883 #if SINGLE_DEPTH_SIMP_J01152884 2883 Pel DepthNeighbours[2]; 2885 #else2886 Pel DepthNeighbours[5];2887 #endif2888 2884 //construction of depth candidates 2889 #if SINGLE_DEPTH_SIMP_J01152890 2885 for( Int i = 0; (i < 2) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ ) 2891 #else2892 for( Int i = 0; (i < 5) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ )2893 #endif2894 2886 { 2895 2887 if(!pcCU->getNeighDepth (0, 0, &testDepth, i)) … … 2899 2891 DepthNeighbours[index]=testDepth; 2900 2892 index++; 2901 #if !SINGLE_DEPTH_SIMP_J01152902 for(Int j=0;j<index-1;j++)2903 {2904 if( (DepthNeighbours[index-1]==DepthNeighbours[j]))2905 {2906 index--;2907 break;2908 }2909 }2910 #endif2911 2893 } 2912 2894 … … 3132 3114 if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight ) 3133 3115 { 3134 #if HHI_TOOL_PARAMETERS_I2_J01073135 3116 if( bOnlyIVP && pcCU->getSlice()->getIntraContourFlag() ) 3136 #else3137 if( bOnlyIVP && m_pcEncCfg->getUseIVP() )3138 #endif3139 3117 { 3140 3118 TComWedgelet* dmm4Segmentation = new TComWedgelet( uiWidth, uiHeight ); … … 3158 3136 3159 3137 #if H_3D_DIM_DMM 3160 #if HHI_TOOL_PARAMETERS_I2_J01073161 3138 if( ( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) || pcCU->getSlice()->getIntraContourFlag() ) 3162 #else3163 if( ( m_pcEncCfg->getUseDMM() || m_pcEncCfg->getUseIVP() )3164 #endif3165 3139 #if H_3D_FAST_DEPTH_INTRA 3166 3140 && (uiRdModeList[0] != PLANAR_IDX || varCU >= varThreshold) … … 3169 3143 { 3170 3144 UInt uiStart, uiEnd; 3171 #if HHI_TOOL_PARAMETERS_I2_J01073172 3145 if( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSlice()->getIntraContourFlag() ) 3173 #else3174 if( m_pcEncCfg->getUseDMM() && m_pcEncCfg->getUseIVP() )3175 #endif3176 3146 { 3177 3147 uiStart = 0; 3178 3148 uiEnd = 2; 3179 3149 } 3180 #if HHI_TOOL_PARAMETERS_I2_J01073181 3150 else if( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) ) 3182 #else3183 else if( m_pcEncCfg->getUseDMM() )3184 #endif3185 3151 { 3186 3152 uiStart = 0; 3187 3153 uiEnd = 1; 3188 3154 } 3189 #if HHI_TOOL_PARAMETERS_I2_J01073190 3155 else if( pcCU->getSlice()->getIntraContourFlag() ) 3191 #else3192 else if( m_pcEncCfg->getUseIVP() )3193 #endif3194 3156 { 3195 3157 uiStart = 1; … … 3329 3291 #if H_3D_DIM_SDC 3330 3292 #if H_3D_FAST_INTRA_SDC 3331 #if HHI_TOOL_PARAMETERS_I2_J01073332 3293 Bool bTestSDC = ( ( m_pcEncCfg->getUseSDC() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD); 3333 #else3334 Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD);3335 #endif3336 3294 #else 3337 3295 Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) ); … … 4177 4135 } 4178 4136 #endif 4179 #if !LGE_DDD_REMOVAL_J0042_J00304180 #if H_3D_DDD4181 if( uiMergeCand == pcCU->getUseDDDCandIdx() )4182 {4183 pcCU->setUseDDD( true, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );4184 pcCU->setDDDepthSubParts( pcCU->getDDTmpDepth(), uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );4185 }4186 else4187 {4188 pcCU->setUseDDD( false, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );4189 }4190 #endif4191 #endif4192 4137 4193 4138 xGetInterPredictionError( pcCU, pcYuvOrg, iPUIdx, uiCostCand, m_pcEncCfg->getUseHADME() ); … … 4875 4820 #if H_3D_VSP 4876 4821 pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4877 #endif4878 #if !LGE_DDD_REMOVAL_J0042_J00304879 #if H_3D_DDD4880 if( uiMRGIndex == pcCU->getUseDDDCandIdx() )4881 {4882 assert( vspFlag[uiMRGIndex] == 0 );4883 assert( bSPIVMPFlag[uiMRGIndex] == 0 );4884 pcCU->setUseDDD( true, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );4885 pcCU->setDDDepthSubParts( pcCU->getDDTmpDepth(), uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );4886 }4887 else4888 {4889 pcCU->setUseDDD( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );4890 }4891 #endif4892 4822 #endif 4893 4823 #if H_3D_SPIVMP … … 4967 4897 pcCU->setSPIVMPFlagSubParts(0, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 4968 4898 #endif 4969 #if !LGE_DDD_REMOVAL_J0042_J00304970 #if H_3D_DDD4971 pcCU->setUseDDD( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );4972 #endif4973 #endif4974 4899 // set ME result 4975 4900 pcCU->setMergeFlagSubParts( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); … … 5353 5278 #endif 5354 5279 #if H_3D_INTER_SDC 5355 #if HHI_TOOL_PARAMETERS_I2_J01075356 5280 pcPatternKey->setSDCMRSADFlag( pcCU->getSlice()->getInterSdcFlag() ); 5357 #else5358 if ( pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) )5359 {5360 pcPatternKey->setSDCMRSADFlag( true );5361 }5362 else5363 {5364 pcPatternKey->setSDCMRSADFlag( false );5365 }5366 #endif5367 5281 #endif 5368 5282 -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncSlice.cpp
r1124 r1131 215 215 rpcSlice->setPicOutputFlag( true ); 216 216 rpcSlice->setPOC( pocCurr ); 217 #if HHI_TOOL_PARAMETERS_I2_J0107218 217 #if H_3D 219 218 rpcSlice->init3dToolParameters(); 220 #endif221 219 #endif 222 220 #if H_3D_IC … … 613 611 rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() ); 614 612 #if H_3D_IV_MERGE 615 #if HHI_TOOL_PARAMETERS_I2_J0107616 #if ALGIN_J0107_J0059617 613 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) || rpcSlice->getViewSynthesisPredFlag( ) ) ? 1 : 0 )); 618 #else619 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) ) ? 1 : 0 ));620 #endif621 #else622 if(rpcSlice->getIsDepth())623 {624 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( rpcSlice->getVPS()->getMPIFlag( rpcSlice->getLayerIdInVps() ) || rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ) ? 1 : 0 ) );625 }626 else627 {628 #if MTK_MRG_LIST_SIZE_CLEANUP_J0059629 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) || rpcSlice->getVPS()->getViewSynthesisPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) );630 #else631 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) );632 #endif633 }634 #endif635 614 #else 636 615 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() ); … … 1028 1007 } 1029 1008 } 1030 #if LGE_DEFAULT_DV_J0046 && !SEC_ARP_VIEW_REF_CHECK_J0037 && !SEC_DBBP_VIEW_REF_CHECK_J00371031 pcSlice->setDefaultRefViewIdx( -1 );1032 pcSlice->setDefaultRefViewIdxAvailableFlag( false );1033 1034 Int valid = 0;1035 Int viewIndex = 0;1036 for( UInt uiBId = 0; uiBId < pcSlice->getViewIndex() && valid==0; uiBId++ )1037 {1038 UInt uiBaseId = uiBId;1039 TComPic* pcBasePic = pcSlice->getIvPic( false, uiBaseId );1040 for( Int iRefListId = 0; ( iRefListId < (pcSlice->isInterB()? 2:1) ) && !pcSlice->isIntra() && valid==0; iRefListId++ )1041 {1042 RefPicList eRefPicListTest = RefPicList( iRefListId );1043 Int iNumRefPics = pcSlice->getNumRefIdx( eRefPicListTest ) ;1044 for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ )1045 {1046 if(pcBasePic->getPOC() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getPOC()1047 && pcBasePic->getViewIndex() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex())1048 {1049 valid=1;1050 viewIndex = uiBaseId;1051 break;1052 }1053 }1054 }1055 }1056 if( valid )1057 {1058 pcSlice->setDefaultRefViewIdx( viewIndex );1059 pcSlice->setDefaultRefViewIdxAvailableFlag( true );1060 }1061 #endif1062 1009 1063 1010 // for every CU in slice -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncSlice.h
r1124 r1131 107 107 UInt m_uiSliceIdx; 108 108 std::vector<TEncSbac*> CTXMem; 109 #if !LGE_DDD_REMOVAL_J0042_J0030110 #if H_3D_DDD111 Int m_iDDDScale;112 Int m_iDDDOffset;113 UInt m_uiDDDPrecision;114 #endif115 #endif116 109 public: 117 110 TEncSlice(); … … 147 140 Void initCtxMem( UInt i ); 148 141 Void setCtxMem( TEncSbac* sb, Int b ) { CTXMem[b] = sb; } 149 #if !LGE_DDD_REMOVAL_J0042_J0030150 #if H_3D_DDD151 Void setDDDPar( Int iScale, Int iOffset, UInt uiPrecision ){ m_iDDDScale = iScale; m_iDDDOffset = iOffset; m_uiDDDPrecision = uiPrecision; }152 #endif153 #endif154 142 155 143 private: -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncTop.cpp
r1124 r1131 896 896 #if H_MV 897 897 m_cPPS.setLayerId( getLayerId() ); 898 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107899 898 #if H_3D 900 899 // Check if this condition is still correct 901 900 if( getVPS()->getNumRefListLayers( getLayerId() ) > 0 ) 902 #else903 if( getVPS()->getNumDirectRefLayers( getLayerId() ) > 0 )904 #endif905 901 #else 906 902 if( getVPS()->getNumDirectRefLayers( getLayerId() ) > 0 ) -
branches/HTM-13.0-dev0/source/Lib/TLibEncoder/TEncTop.h
r1124 r1131 270 270 Void setIvPicLists ( TComPicLists* picLists) { m_ivPicLists = picLists; } 271 271 #endif 272 #if HHI_TOOL_PARAMETERS_I2_J0107273 272 #if H_3D 274 273 Void setSps3dExtension ( TComSps3dExtension sps3dExtension ) { m_cSPS.setSps3dExtension( sps3dExtension ); }; 275 #endif276 274 #endif 277 275 #if H_3D_IC -
branches/HTM-13.0-dev0/source/Lib/TLibExtractor/TExtrTop.cpp
r1124 r1131 74 74 #if H_3D 75 75 76 #if HHI_TOOL_PARAMETERS_I2_J010777 76 m_cEntropyDecoder .decodeSPS( &cSPS ); 78 #else79 Int layerIdInVPS = m_cVPS.getLayerIdInVps( uiLayerId );80 m_cEntropyDecoder .decodeSPS( &cSPS, m_cVPS.getViewIndex( layerIdInVPS ), ( m_cVPS.getDepthId( layerIdInVPS ) == 1 ) );81 #endif82 77 #else 83 78 m_cEntropyDecoder .decodeSPS( &cSPS );
Note: See TracChangeset for help on using the changeset viewer.