Changeset 1060 in 3DVCSoftware for branches/HTM-12.0-dev1/source/Lib
- Timestamp:
- 7 Oct 2014, 12:16:13 (11 years ago)
- Location:
- branches/HTM-12.0-dev1/source/Lib
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.0-dev1/source/Lib/TLibCommon/TComRom.h
r1054 r1060 239 239 240 240 #ifndef ENC_DEC_TRACE 241 #define ENC_DEC_TRACE 0241 #define ENC_DEC_TRACE 1 242 242 #endif 243 243 -
branches/HTM-12.0-dev1/source/Lib/TLibCommon/TComSlice.cpp
r1059 r1060 1915 1915 { 1916 1916 #if H_MV_HLS10_PTL 1917 #if H_MV_HLS10_PTL_FIX 1918 m_profileTierLevelIdx[i][j] = -1; 1919 #else 1917 1920 m_profileTierLevelIdx[i][j] = false; 1921 #endif 1918 1922 #endif 1919 1923 m_outputLayerFlag[i][j] = false; -
branches/HTM-12.0-dev1/source/Lib/TLibCommon/TComSlice.h
r1055 r1060 1216 1216 Void setProfileTierLevelIdx( Int i, Int j, Int val ) { m_profileTierLevelIdx[ i ][ j ] = val; } 1217 1217 Int getProfileTierLevelIdx( Int i, Int j ) { return m_profileTierLevelIdx[ i ][ j ]; } 1218 #if H_MV_HLS10_PTL 1219 Int inferProfileTierLevelIdx( Int i, Int j ) 1220 { 1221 Bool inferZero = ( i == 0 && j == 0 && getVpsBaseLayerInternalFlag() ); 1222 Bool inferGreaterZero = getNecessaryLayerFlag(i,j) && ( getVpsNumProfileTierLevelMinus1() == 0 ); 1223 assert( inferZero || inferGreaterZero ); 1224 1225 Bool ptlIdx = 0; // inference for greaterZero 1226 if ( inferZero ) 1227 { 1228 ptlIdx = getMaxLayersMinus1() > 0 ? 1 : 0; 1229 if ( inferGreaterZero ) 1230 { 1231 assert( ptlIdx == 0 ); 1232 // This should never happen since : 1233 // When vps_max_layers_minus1 is greater than 0, the value of vps_num_profile_tier_level_minus1 shall be greater than or equal to 1. 1234 } 1235 } 1236 return ptlIdx; 1237 } 1238 #endif 1218 1239 #else 1219 1240 Void setProfileLevelTierIdx( Int outLayerSetIdx, Int val ) { m_profileLevelTierIdx[ outLayerSetIdx ] = val; } … … 1282 1303 1283 1304 Int getViewIndex ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX ); } 1305 #if H_MV_HLS10_AUX 1306 Int getAuxId ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), AUX_ID ); } 1307 Int getDependencyId ( Int layerIdInNuh ) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPENDENCY_ID ); } 1308 #endif 1284 1309 Int getNumViews(); 1285 1310 … … 1460 1485 vector<Int> fullArray; 1461 1486 vector<Int> range; 1487 1488 #if H_3D 1489 vector<Int> depthId; 1490 #endif 1491 1492 #if H_MV_HLS10_AUX 1493 vector<Int> viewOrderIndex; 1494 vector<Int> auxId; 1495 vector<Int> dependencyId; 1496 vector<Int> viewId; 1497 #endif 1462 1498 for (Int i = 0; i <= getMaxLayersMinus1(); i++ ) 1463 1499 { 1464 1500 fullArray.push_back( getMaxLayersMinus1() + 1 ); 1465 1501 range.push_back( i ); 1502 #if H_MV_HLS10_AUX 1503 viewOrderIndex.push_back( getViewIndex ( i ) ); 1504 dependencyId .push_back( getDependencyId( i ) ); 1505 auxId .push_back( getAuxId ( i ) ); 1506 viewId .push_back( getViewId ( getLayerIdInNuh( i ) ) ); 1507 #if H_3D 1508 depthId.push_back( getDepthId( i ) ); 1509 #endif 1510 #endif 1466 1511 } 1467 1512 std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "Layer Dependencies" << std::endl; … … 1475 1520 1476 1521 }; 1522 1523 #if H_MV_HLS10_AUX 1524 Void printScalabilityId() 1525 { 1526 vector<Int> layerIdxInVps; 1527 1528 #if H_3D 1529 vector<Int> depthId; 1530 #endif 1531 1532 vector<Int> viewOrderIndex; 1533 vector<Int> auxId; 1534 vector<Int> dependencyId; 1535 vector<Int> viewId; 1536 1537 for (Int i = 0; i <= getMaxLayersMinus1(); i++ ) 1538 { 1539 Int layerIdInNuh = getLayerIdInNuh( i ); 1540 layerIdxInVps .push_back( i ); 1541 viewOrderIndex.push_back( getViewIndex ( layerIdInNuh ) ); 1542 dependencyId .push_back( getDependencyId( layerIdInNuh ) ); 1543 auxId .push_back( getAuxId ( layerIdInNuh ) ); 1544 viewId .push_back( getViewId ( layerIdInNuh ) ); 1545 #if H_3D 1546 depthId .push_back( getDepthId ( layerIdInNuh ) ); 1547 #endif 1548 } 1549 1550 std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "Scalability Ids" << std::endl; 1551 xPrintArray( "layerIdxInVps" , getMaxLayersMinus1()+1, layerIdxInVps, false ); 1552 xPrintArray( "layer_id_in_nuh", getMaxLayersMinus1()+1, m_layerIdInNuh, false ); 1553 1554 xPrintArray( "ViewOrderIndex", getMaxLayersMinus1()+1, viewOrderIndex, false ); 1555 xPrintArray( "DependencyId" , getMaxLayersMinus1()+1, dependencyId , false ); 1556 xPrintArray( "AuxId" , getMaxLayersMinus1()+1, auxId , false ); 1557 xPrintArray( "ViewId" , getMaxLayersMinus1()+1, viewId , false ); 1558 1559 std::cout << std::endl; 1560 }; 1561 #endif 1562 1563 1477 1564 1478 1565 Void printLayerSets() -
branches/HTM-12.0-dev1/source/Lib/TLibCommon/TypeDef.h
r1055 r1060 403 403 #define H_MV_HLS10_GEN 0 // General changes (not tested) 404 404 405 #define H_MV_HLS10_AUX 1 // Auxiliary pictures 405 406 #define H_MV_HLS10_GEN_FIX 1 406 407 … … 413 414 #define H_MV_HLS10_MAXNUMPICS 1 // constraint on number of pictures in rps 414 415 #define H_MV_HLS10_PTL 1 // profile tier level 416 #define H_MV_HLS10_PTL_FIX 1 // profile tier level 415 417 #define H_MV_HLS10_MULTILAYERSPS 1 // multilayer SPS extension 416 418 #define H_MV_HLS10_VPS_VUI 1 // vsp vui … … 1062 1064 #endif 1063 1065 VIEW_ORDER_INDEX = 1, 1066 #if H_MV_HLS10_AUX 1067 DEPENDENCY_ID = 2, 1068 AUX_ID = 3, 1069 #endif 1064 1070 }; 1065 1071 #endif -
branches/HTM-12.0-dev1/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1056 r1060 1457 1457 pcVPS->deriveTargetLayerIdList( 0 ); 1458 1458 1459 #if H_MV_HLS10_PTL_FIX 1460 if (pcVPS->getVpsBaseLayerInternalFlag() ) 1461 { 1462 pcVPS->setProfileTierLevelIdx(0,0, pcVPS->inferProfileTierLevelIdx(0,0) ); 1463 } 1464 #endif 1459 1465 for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ ) 1460 1466 { … … 1494 1500 READ_CODE( pcVPS->getProfileTierLevelIdxLen(), uiCode,"profile_tier_level_idx[ i ][ j ]" ); pcVPS->setProfileTierLevelIdx( i, j, uiCode ); 1495 1501 } 1502 #if H_MV_HLS10_PTL_FIX 1503 if (pcVPS->getNecessaryLayerFlag( i, j ) && pcVPS->getVpsNumProfileTierLevelMinus1() == 0 ) 1504 { 1505 pcVPS->setProfileTierLevelIdx( i , j, pcVPS->inferProfileTierLevelIdx( i, j) ); 1506 } 1507 #endif 1496 1508 } 1497 1509 #else -
branches/HTM-12.0-dev1/source/Lib/TLibEncoder/TEncCavlc.cpp
r1055 r1060 1241 1241 1242 1242 1243 #if H_MV_HLS10_PTL_FIX 1244 if (pcVPS->getVpsBaseLayerInternalFlag() ) 1245 { 1246 assert( pcVPS->getProfileTierLevelIdx(0,0) == pcVPS->inferProfileTierLevelIdx(0,0) ); 1247 } 1248 #endif 1243 1249 1244 1250 … … 1276 1282 WRITE_CODE( pcVPS->getProfileTierLevelIdx( i, j ), pcVPS->getProfileTierLevelIdxLen() ,"profile_tier_level_idx[ i ][ j ]" ); 1277 1283 } 1284 #if H_MV_HLS10_PTL_FIX 1285 if (pcVPS->getNecessaryLayerFlag( i, j ) && pcVPS->getVpsNumProfileTierLevelMinus1() == 0 ) 1286 { 1287 assert( pcVPS->getProfileTierLevelIdx( i , j ) == pcVPS->inferProfileTierLevelIdx( i, j ) ); 1288 } 1289 #endif 1290 1278 1291 } 1279 1292 #else
Note: See TracChangeset for help on using the changeset viewer.