Changeset 1104 in 3DVCSoftware
- Timestamp:
- 5 Nov 2014, 19:13:24 (10 years ago)
- Location:
- branches/HTM-12.2-dev2-HHI
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view+depth_AllIntra.cfg
r1084 r1104 52 52 53 53 #======== VPS / Dependencies ================ 54 DirectRefLayers_1 : 55 DirectRefLayers_2 : 0 56 DirectRefLayers_3 : 1 57 58 DependencyTypes_1 : 59 DependencyTypes_2 : 2 60 DependencyTypes_3 : 2 54 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 55 DirectRefLayers_2 : 0 1 # Indices in VPS of direct reference layers 56 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 57 58 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 59 DependencyTypes_2 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 60 DependencyTypes_3 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 61 61 62 62 #========== Camera parameters ========== -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg
r1084 r1104 62 62 63 63 #======== VPS / Dependencies ================ 64 DirectRefLayers_1 : 65 DirectRefLayers_2 : 0 66 DirectRefLayers_3 : 1 67 DirectRefLayers_4 : 0 68 DirectRefLayers_5 : 1 64 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 65 DirectRefLayers_2 : 0 1 # Indices in VPS of direct reference layers 66 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 67 DirectRefLayers_4 : 0 1 # Indices in VPS of direct reference layers 68 DirectRefLayers_5 : 1 2 # Indices in VPS of direct reference layers 69 69 70 70 DependencyTypes_1 : # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/fco/baseCfg_3view+depth.cfg
r1084 r1104 62 62 63 63 #======== VPS / Dependencies ================ 64 DirectRefLayers_1 : 64 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 65 65 DirectRefLayers_2 : 1 # Indices in VPS of direct reference layers 66 DirectRefLayers_3 : 0 66 DirectRefLayers_3 : 0 1 # Indices in VPS of direct reference layers 67 67 DirectRefLayers_4 : 1 # Indices in VPS of direct reference layers 68 DirectRefLayers_5 : 0 69 70 DependencyTypes_1 : 68 DirectRefLayers_5 : 0 1 # Indices in VPS of direct reference layers 69 70 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 71 71 DependencyTypes_2 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 72 DependencyTypes_3 : 2 72 DependencyTypes_3 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 73 73 DependencyTypes_4 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 74 DependencyTypes_5 : 2 74 DependencyTypes_5 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 75 75 76 76 #========== Camera parameters ========== -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view+depth.cfg
r1066 r1104 38 38 39 39 #======== VPS / Dependencies ================ 40 DirectRefLayers_1 : 41 DirectRefLayers_2 : 0 42 DirectRefLayers_3 : 1 43 DirectRefLayers_4 : 0 2# Indices in VPS of direct reference layers44 DirectRefLayers_5 : 1 3 40 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 41 DirectRefLayers_2 : 0 1 # Indices in VPS of direct reference layers 42 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 43 DirectRefLayers_4 : 0 1 2 3 # Indices in VPS of direct reference layers 44 DirectRefLayers_5 : 1 3 4 # Indices in VPS of direct reference layers 45 45 46 DependencyTypes_1 : 47 DependencyTypes_2 : 2 48 DependencyTypes_3 : 2 49 DependencyTypes_4 : 2 2 50 DependencyTypes_5 : 2 2 46 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 47 DependencyTypes_2 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 48 DependencyTypes_3 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 49 DependencyTypes_4 : 2 2 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 50 DependencyTypes_5 : 2 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 51 51 52 52 -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/misc/gopCfg_ILP_on_IRAP_3view+depth.cfg
r1066 r1104 30 30 31 31 #======== VPS / Dependencies ================ 32 DirectRefLayers_1 : 33 DirectRefLayers_2 : 0 34 DirectRefLayers_3 : 1 35 DirectRefLayers_4 : 0 2# Indices in VPS of direct reference layers36 DirectRefLayers_5 : 1 3 32 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 33 DirectRefLayers_2 : 0 1 # Indices in VPS of direct reference layers 34 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 35 DirectRefLayers_4 : 0 1 2 3 # Indices in VPS of direct reference layers 36 DirectRefLayers_5 : 1 3 4 # Indices in VPS of direct reference layers 37 37 38 38 DependencyTypes_1 : # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view+depth.cfg
r1066 r1104 28 28 29 29 #======== VPS / Dependencies ================ 30 DirectRefLayers_1 : 30 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 31 31 DirectRefLayers_2 : # Indices in VPS of direct reference layers 32 DirectRefLayers_3 : 32 DirectRefLayers_3 : 2 # Indices in VPS of direct reference layers 33 33 DirectRefLayers_4 : # Indices in VPS of direct reference layers 34 DirectRefLayers_5 : 34 DirectRefLayers_5 : 4 # Indices in VPS of direct reference layers 35 35 36 DependencyTypes_1 : 36 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 37 37 DependencyTypes_2 : # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 38 DependencyTypes_3 : 38 DependencyTypes_3 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 39 39 DependencyTypes_4 : # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 40 DependencyTypes_5 : 40 DependencyTypes_5 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 41 41 42 42 -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/baseCfg_2view+depth.cfg
r1084 r1104 52 52 53 53 #======== VPS / Dependencies ================ 54 DirectRefLayers_1 : 55 DirectRefLayers_2 : 0 56 DirectRefLayers_3 : 1 57 58 DependencyTypes_1 : 59 DependencyTypes_2 : 2 60 DependencyTypes_3 : 2 54 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 55 DirectRefLayers_2 : 0 1 # Indices in VPS of direct reference layers 56 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 57 58 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 59 DependencyTypes_2 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 60 DependencyTypes_3 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 61 61 62 62 #========== Camera parameters ========== -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/baseCfg_3view+depth.cfg
r1084 r1104 62 62 63 63 #======== VPS / Dependencies ================ 64 DirectRefLayers_1 : 65 DirectRefLayers_2 : 0 66 DirectRefLayers_3 : 1 67 DirectRefLayers_4 : 0 68 DirectRefLayers_5 : 1 69 70 DependencyTypes_1 : 71 DependencyTypes_2 : 2 72 DependencyTypes_3 : 2 73 DependencyTypes_4 : 2 74 DependencyTypes_5 : 2 64 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 65 DirectRefLayers_2 : 0 1 # Indices in VPS of direct reference layers 66 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 67 DirectRefLayers_4 : 0 1 # Indices in VPS of direct reference layers 68 DirectRefLayers_5 : 1 2 # Indices in VPS of direct reference layers 69 70 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 71 DependencyTypes_2 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 72 DependencyTypes_3 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 73 DependencyTypes_4 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 74 DependencyTypes_5 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 75 75 76 76 #========== Camera parameters ========== -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/fullCfg.cfg
r1084 r1104 125 125 126 126 #======== VPS / Dependencies ================ 127 DirectRefLayers_1 : 128 DirectRefLayers_2 : 0 129 DirectRefLayers_3 : 1 130 DirectRefLayers_4 : 0 131 DirectRefLayers_5 : 1 132 133 DependencyTypes_1 : 134 DependencyTypes_2 : 2 135 DependencyTypes_3 : 2 136 DependencyTypes_4 : 2 137 DependencyTypes_5 : 2 127 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 128 DirectRefLayers_2 : 0 1 # Indices in VPS of direct reference layers 129 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 130 DirectRefLayers_4 : 0 1 # Indices in VPS of direct reference layers 131 DirectRefLayers_5 : 1 2 # Indices in VPS of direct reference layers 132 133 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 134 DependencyTypes_2 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 135 DependencyTypes_3 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 136 DependencyTypes_4 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 137 DependencyTypes_5 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 138 138 139 139 #========== Camera parameters ========== -
branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncCfg.cpp
r1084 r1104 404 404 ("ProfileTierLevelIdx_%d", m_profileTierLevelIdx, std::vector<Int>(0), MAX_NUM_LAYERS, "Indices to profile level tier for ols") 405 405 // Layer dependencies 406 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 407 ("DirectRefLayers_%d", m_directRefLayers , std::vector<Int>(0,0), MAX_NUM_LAYERS, "LayerIdx in VPS of direct reference layers") 408 #else 406 409 ("DirectRefLayers_%d", m_directRefLayers , std::vector<Int>(0,0), MAX_NUM_LAYERS, "LayerIds of direct reference layers") 410 #endif 407 411 ("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") 408 412 #endif -
branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncTop.cpp
r1094 r1104 1346 1346 vps.setDirectDependencyType( depLayer, refLayer, -1 ); 1347 1347 } 1348 1348 } 1349 1349 1350 1350 Int defaultDirectDependencyType = -1; … … 1377 1377 vps.setDefaultDirectDependencyFlag( defaultDirectDependencyFlag ); 1378 1378 vps.setDefaultDirectDependencyType( defaultDirectDependencyFlag ? defaultDirectDependencyType : -1 ); 1379 1380 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1381 vps.setRefLayers(); 1382 #endif 1379 1383 1380 1384 // Max sub layers, + presence flag … … 1395 1399 vps.setVpsSubLayersMaxMinus1PresentFlag( subLayersMaxMinus1PresentFlag ); 1396 1400 1397 1401 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1402 // Max temporal id for inter layer reference pictures 1403 for ( Int refLayerIdInVps = 0; refLayerIdInVps < m_numberOfLayers; refLayerIdInVps++) 1404 { 1405 Int refLayerIdInNuh = vps.getLayerIdInNuh( refLayerIdInVps ); 1406 for ( Int curLayerIdInVps = 1; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++) 1407 { 1408 Int curLayerIdInNuh = vps.getLayerIdInNuh( curLayerIdInVps ); 1409 #if H_3D 1410 Int maxTid = -1; 1411 if ( vps.getDirectDependencyFlag( curLayerIdInVps, refLayerIdInVps ) ) 1412 { 1413 if ( m_depthFlag[ curLayerIdInVps] == m_depthFlag[ refLayerIdInVps ] ) 1414 { 1415 #endif 1416 for( Int i = 0; i < ( getGOPSize() + 1); i++ ) 1417 { 1418 GOPEntry geCur = m_GOPListMvc[curLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )]; 1419 GOPEntry geRef = m_GOPListMvc[refLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )]; 1420 for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++) 1421 { 1422 #if H_3D 1423 if ( vps.getIdRefListLayer( curLayerIdInNuh, geCur.m_interLayerPredLayerIdc[ j ] ) == refLayerIdInNuh ) 1424 #else 1425 if ( vps.getIdDirectRefLayer( curLayerIdInNuh, geCur.m_interLayerPredLayerIdc[ j ] ) == refLayerIdInNuh ) 1426 #endif 1427 { 1428 Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 ); 1429 Bool refLayerZero = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 ); 1430 maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId ); 1431 } 1432 } 1433 } 1434 #if H_3D 1435 } 1436 else 1437 { 1438 if( m_depthFlag[ curLayerIdInVps ] && ( m_bMPIFlag || m_bLimQtPredFlag || m_useIVP ) ) 1439 { 1440 Int nuhLayerIdTex = vps.getLayerIdInNuh( vps.getViewIndex( curLayerIdInNuh ), false ); 1441 if ( nuhLayerIdTex == refLayerIdInNuh ) 1442 { 1443 maxTid = std::max( maxTid, vps.getSubLayersVpsMaxMinus1( refLayerIdInVps) + 1 ); 1444 } 1445 } 1446 1447 if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0 && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_bUseDBBP) ) 1448 { 1449 Int maxPresentTid =-1; 1450 Bool allPresent = true; 1451 for (Int i = 0; i < vps.getNumRefListLayers( curLayerIdInNuh); i++ ) 1452 { 1453 Int nuhLayerIdDep = vps.getLayerIdInNuh( vps.getViewIndex( vps.getIdRefListLayer(curLayerIdInNuh, i ) ), true ); 1454 if ( nuhLayerIdDep== refLayerIdInNuh ) 1455 { 1456 maxPresentTid= std::max( maxTid, vps.getSubLayersVpsMaxMinus1( refLayerIdInVps) + 1 ); 1457 } 1458 else 1459 { 1460 allPresent = false; 1461 } 1462 } 1463 1464 if ( allPresent ) 1465 { 1466 maxTid= std::max( maxTid, maxPresentTid ); 1467 } 1468 } 1469 } 1470 } 1471 vps.setMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps, maxTid + 1 ); 1472 #endif 1473 } 1474 } 1475 1476 // Max temporal id for inter layer reference pictures presence flag 1477 Bool maxTidRefPresentFlag = false; 1478 for ( Int refLayerIdInVps = 0; refLayerIdInVps < m_numberOfLayers; refLayerIdInVps++) 1479 { 1480 for ( Int curLayerIdInVps = 1; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++) 1481 { 1482 maxTidRefPresentFlag = maxTidRefPresentFlag || ( vps.getMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps ) != 7 ); 1483 } 1484 } 1485 vps.setMaxTidRefPresentFlag( maxTidRefPresentFlag ); 1486 #else 1398 1487 // Max temporal id for inter layer reference pictures + presence flag 1399 1488 Bool maxTidRefPresentFlag = false; … … 1402 1491 for ( Int curLayerIdInVps = 1; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++) 1403 1492 { 1404 Int maxTid = -1; 1405 for( Int i = 0; i < ( getGOPSize() + 1); i++ ) 1406 { 1407 GOPEntry geCur = m_GOPListMvc[curLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )]; 1408 GOPEntry geRef = m_GOPListMvc[refLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )]; 1409 for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++) 1493 Int maxTid = -1; 1494 for( Int i = 0; i < ( getGOPSize() + 1); i++ ) 1410 1495 { 1411 if ( m_directRefLayers[ curLayerIdInVps ][ geCur.m_interLayerPredLayerIdc[ j ]] == refLayerIdInVps ) 1496 GOPEntry geCur = m_GOPListMvc[curLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )]; 1497 GOPEntry geRef = m_GOPListMvc[refLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )]; 1498 for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++) 1412 1499 { 1413 Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 ); 1414 Bool refLayerZero = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 ); 1415 maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId ); 1500 if ( m_directRefLayers[ curLayerIdInVps ][ geCur.m_interLayerPredLayerIdc[ j ]] == refLayerIdInVps ) 1501 { 1502 Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 ); 1503 Bool refLayerZero = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 ); 1504 maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId ); 1505 } 1416 1506 } 1417 1507 } 1418 } 1419 vps.setMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps, maxTid + 1 ); 1420 maxTidRefPresentFlag = maxTidRefPresentFlag || ( maxTid != 6 ); 1508 vps.setMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps, maxTid + 1 ); 1509 maxTidRefPresentFlag = maxTidRefPresentFlag || ( maxTid != 6 ); 1421 1510 } 1422 1511 } 1423 1512 1424 1513 vps.setMaxTidRefPresentFlag( maxTidRefPresentFlag ); 1514 #endif 1515 1516 1425 1517 // Max one active ref layer flag 1426 1518 Bool maxOneActiveRefLayerFlag = true; … … 1432 1524 maxOneActiveRefLayerFlag = maxOneActiveRefLayerFlag && (ge.m_numActiveRefLayerPics <= 1); 1433 1525 } 1434 }1526 } 1435 1527 1436 1528 vps.setMaxOneActiveRefLayerFlag( maxOneActiveRefLayerFlag ); … … 1443 1535 vps.setPocLsbNotPresentFlag( layerIdInVps, true ); 1444 1536 } 1445 } 1537 } 1446 1538 1447 1539 // All Ref layers active flag … … 1449 1541 for ( Int layerIdInVps = 1; layerIdInVps < m_numberOfLayers && allRefLayersActiveFlag; layerIdInVps++) 1450 1542 { 1543 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1544 Int layerIdInNuh = vps.getLayerIdInNuh( layerIdInVps ); 1545 #endif 1451 1546 for( Int i = 0; i < ( getGOPSize() + 1) && allRefLayersActiveFlag; i++ ) 1452 1547 { … … 1455 1550 1456 1551 // check if all reference layers when allRefLayerActiveFlag is equal to 1 are reference layer pictures specified in the gop entry 1552 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1553 #if H_3D 1554 for (Int k = 0; k < vps.getNumRefListLayers( layerIdInNuh ) && allRefLayersActiveFlag; k++ ) 1555 { 1556 Int refLayerIdInVps = vps.getLayerIdInVps( vps.getIdRefListLayer( layerIdInNuh , k ) ); 1557 #else 1558 for (Int k = 0; k < vps.getNumDirectRefLayers( layerIdInNuh ) && allRefLayersActiveFlag; k++ ) 1559 { 1560 Int refLayerIdInVps = vps.getLayerIdInVps( vps.getIdDirectRefLayer( layerIdInNuh , k ) ); 1561 #endif 1562 #else 1457 1563 for (Int k = 0; k < m_directRefLayers[ layerIdInVps].size() && allRefLayersActiveFlag; k++ ) 1458 1564 { 1459 1565 Int refLayerIdInVps = vps.getLayerIdInVps( m_directRefLayers[ layerIdInVps ][ k ] ); 1566 #endif 1567 #if H_MV_FIX_REF_LAYER_PIC_FLAG 1568 if ( vps.getSubLayersVpsMaxMinus1(refLayerIdInVps) >= tId && ( tId == 0 || vps.getMaxTidIlRefPicsPlus1(refLayerIdInVps,layerIdInVps) > tId ) ) 1569 #else 1460 1570 if ( vps.getMaxTidIlRefPicsPlus1(refLayerIdInVps,layerIdInVps) > tId && vps.getSubLayersVpsMaxMinus1(refLayerIdInVps) >= tId ) 1571 #endif 1461 1572 { 1462 1573 Bool gopEntryFoundFlag = false; … … 1475 1586 { 1476 1587 Bool referenceLayerFoundFlag = false; 1588 #if HHI_DEPENDENCY_SIGNALLING_I1_J0107 1589 #if H_3D 1590 for (Int k = 0; k < vps.getNumRefListLayers( layerIdInNuh ); k++ ) 1591 { 1592 Int refLayerIdInVps = vps.getLayerIdInVps( vps.getIdRefListLayer( layerIdInNuh, k) ); 1593 #else 1594 for (Int k = 0; k < vps.getNumDirectRefLayers( layerIdInNuh ); k++ ) 1595 { 1596 Int refLayerIdInVps = vps.getLayerIdInVps( vps.getIdDirectRefLayer( layerIdInNuh, k) ); 1597 #endif 1598 #else 1477 1599 for (Int k = 0; k < m_directRefLayers[ layerIdInVps].size(); k++ ) 1478 1600 { 1479 1601 Int refLayerIdInVps = vps.getLayerIdInVps( m_directRefLayers[ layerIdInVps ][ k ] ); 1480 1602 #endif 1603 #if H_MV_FIX_REF_LAYER_PIC_FLAG 1604 if ( vps.getSubLayersVpsMaxMinus1(refLayerIdInVps) >= tId && ( tId == 0 || vps.getMaxTidIlRefPicsPlus1(refLayerIdInVps,layerIdInVps) > tId ) ) 1605 #else 1481 1606 if ( vps.getMaxTidIlRefPicsPlus1(refLayerIdInVps,layerIdInVps) > tId && vps.getSubLayersVpsMaxMinus1(refLayerIdInVps) >= tId ) 1607 #endif 1482 1608 { 1483 1609 referenceLayerFoundFlag = referenceLayerFoundFlag || ( ge.m_interLayerPredLayerIdc[l] == k ); … … 1491 1617 1492 1618 vps.setAllRefLayersActiveFlag( allRefLayersActiveFlag ); 1493 1619 #if !HHI_DEPENDENCY_SIGNALLING_I1_J0107 1494 1620 vps.setRefLayers(); 1621 #endif 1495 1622 }; 1623 1496 1624 1497 1625 GOPEntry* TAppEncTop::xGetGopEntry( Int layerIdInVps, Int poc ) -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.cpp
r1103 r1104 3631 3631 #endif 3632 3632 3633 #if H_MV_FIX_REF_LAYER_PIC_FLAG 3634 Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >= getTLayer() && ( getTLayer() == 0 || 3635 vps->getMaxTidIlRefPicsPlus1( refLayerIdx, vps->getLayerIdInVps( getLayerId() )) > getTLayer() )); 3636 #else 3633 3637 Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >= getTLayer() ) && ( getTLayer() == 0 ) && 3634 3638 ( vps->getMaxTidIlRefPicsPlus1( refLayerIdx, vps->getLayerIdInVps( getLayerId() )) > getTLayer() ); 3635 3639 #endif 3636 3640 return refLayerPicFlag; 3637 3641 } -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TypeDef.h
r1103 r1104 297 297 #define HHI_DEPENDENCY_SIGNALLING_I1_J0107 1 298 298 #endif 299 #define H_MV_FIX_REF_LAYER_PIC_FLAG 1 300 299 301 300 302 ///// ***** SINGLE DEPTH MODE *********
Note: See TracChangeset for help on using the changeset viewer.