Changeset 530 in SHVCSoftware for branches/SHM-4.1-dev/source/Lib/TLibDecoder
- Timestamp:
- 28 Dec 2013, 02:37:15 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r529 r530 1479 1479 UInt i,j; 1480 1480 UInt uiCode; 1481 #if O0223_PICTURE_TYPES_ALIGN_FLAG 1482 READ_FLAG(uiCode, "cross_layer_pic_type_aligned_flag" ); 1483 vps->setCrossLayerPictureTypeAlignFlag(uiCode); 1484 if (!uiCode) 1485 { 1486 #endif 1481 1487 #if IRAP_ALIGN_FLAG_IN_VPS_VUI 1482 READ_FLAG(uiCode, "cross_layer_irap_aligned_flag" ); 1483 vps->setCrossLayerIrapAlignFlag(uiCode); 1488 READ_FLAG(uiCode, "cross_layer_irap_aligned_flag" ); 1489 vps->setCrossLayerIrapAlignFlag(uiCode); 1490 #endif 1491 #if O0223_PICTURE_TYPES_ALIGN_FLAG 1492 } 1493 else 1494 { 1495 vps->setCrossLayerIrapAlignFlag(true); 1496 } 1484 1497 #endif 1485 1498 #if VPS_VUI_BITRATE_PICRATE … … 1533 1546 } 1534 1547 #endif 1548 #if VPS_VUI_TILES_NOT_IN_USE__FLAG 1549 UInt layerIdx; 1550 READ_FLAG( uiCode, "tiles_not_in_use_flag" ); vps->setTilesNotInUseFlag(uiCode == 1); 1551 if (!uiCode) 1552 { 1553 for(i = 0; i < vps->getMaxLayers(); i++) 1554 { 1555 READ_FLAG( uiCode, "tiles_in_use_flag[ i ]" ); vps->setTilesInUseFlag(i, (uiCode == 1)); 1556 if (uiCode) 1557 { 1558 READ_FLAG( uiCode, "loop_filter_not_across_tiles_flag[ i ]" ); vps->setLoopFilterNotAcrossTilesFlag(i, (uiCode == 1)); 1559 } 1560 else 1561 { 1562 vps->setLoopFilterNotAcrossTilesFlag(i, false); 1563 } 1564 } 1565 #endif 1535 1566 #if TILE_BOUNDARY_ALIGNED_FLAG 1536 for(i = 1; i < vps->getMaxLayers(); i++) 1537 { 1538 for(j = 0; j < vps->getNumDirectRefLayers(vps->getLayerIdInNuh(i)); j++) 1539 { 1540 READ_FLAG( uiCode, "tile_boundaries_aligned_flag[i][j]" ); vps->setTileBoundariesAlignedFlag(i,j,(uiCode == 1)); 1567 for(i = 1; i < vps->getMaxLayers(); i++) 1568 { 1569 for(j = 0; j < vps->getNumDirectRefLayers(vps->getLayerIdInNuh(i)); j++) 1570 { 1571 #if VPS_VUI_TILES_NOT_IN_USE__FLAG 1572 layerIdx = vps->getLayerIdInVps(vps->getRefLayerId(vps->getLayerIdInNuh(i), j)); 1573 if (vps->getTilesInUseFlag(i) && vps->getTilesInUseFlag(layerIdx)) { 1574 READ_FLAG( uiCode, "tile_boundaries_aligned_flag[i][j]" ); vps->setTileBoundariesAlignedFlag(i,j,(uiCode == 1)); 1575 } 1576 #else 1577 READ_FLAG( uiCode, "tile_boundaries_aligned_flag[i][j]" ); vps->setTileBoundariesAlignedFlag(i,j,(uiCode == 1)); 1578 #endif 1579 } 1580 } 1581 #endif 1582 #if VPS_VUI_TILES_NOT_IN_USE__FLAG 1583 } 1584 #endif 1585 #if VPS_VUI_WPP_NOT_IN_USE__FLAG 1586 READ_FLAG( uiCode, "wpp_not_in_use_flag" ); vps->setWppNotInUseFlag(uiCode == 1); 1587 if (!uiCode) 1588 { 1589 for(i = 0; i < vps->getMaxLayers(); i++) 1590 { 1591 READ_FLAG( uiCode, "wpp_in_use_flag[ i ]" ); vps->setWppInUseFlag(i, (uiCode == 1)); 1541 1592 } 1542 1593 }
Note: See TracChangeset for help on using the changeset viewer.