"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "srcs/reader/heifreaderimpl.cpp" between
heif-3.6.1.tar.gz and heif-3.6.2.tar.gz

About: HEIF (High Efficiency Image File Format) is a visual media container format for images and image sequences (MPEG-standard). This HEIF engine demonstrates its powerful features and capabilities (under Nokia HEIF license).

heifreaderimpl.cpp  (heif-3.6.1):heifreaderimpl.cpp  (heif-3.6.2)
/* This file is part of Nokia HEIF library /* This file is part of Nokia HEIF library
* *
* Copyright (c) 2015-2020 Nokia Corporation and/or its subsidiary(-ies). All ri ghts reserved. * Copyright (c) 2015-2021 Nokia Corporation and/or its subsidiary(-ies). All ri ghts reserved.
* *
* Contact: heif@nokia.com * Contact: heif@nokia.com
* *
* This software, including documentation, is protected by copyright controlled by Nokia Corporation and/ or its * This software, including documentation, is protected by copyright controlled by Nokia Corporation and/ or its
* subsidiaries. All rights are reserved. * subsidiaries. All rights are reserved.
* *
* Copying, including reproducing, storing, adapting or translating, any or all of this material requires the prior * Copying, including reproducing, storing, adapting or translating, any or all of this material requires the prior
* written consent of Nokia. * written consent of Nokia.
*/ */
skipping to change at line 1505 skipping to change at line 1505
itemFeatures.setFeature(ItemFeatureEnum::IsMPEG7Item); itemFeatures.setFeature(ItemFeatureEnum::IsMPEG7Item);
} }
} }
else if (type == "hvt1") else if (type == "hvt1")
{ {
itemFeatures.setFeature(ItemFeatureEnum::IsTileImageItem); itemFeatures.setFeature(ItemFeatureEnum::IsTileImageItem);
} }
} }
{ {
const auto iprp = metaBox.getItemPropertiesBox(); const auto& iprp = metaBox.getItemPropertiesBox();
const std::uint32_t rrefIndex = iprp.findPropertyIndex(ItemPrope rtiesBox::PropertyType::RREF, itemId); const std::uint32_t rrefIndex = iprp.findPropertyIndex(ItemPrope rtiesBox::PropertyType::RREF, itemId);
if (rrefIndex != 0u) if (rrefIndex != 0u)
{ {
auto rref = auto rref =
static_cast<const RequiredReferenceTypesProperty*>(iprp. getPropertyByIndex(rrefIndex - 1)); static_cast<const RequiredReferenceTypesProperty*>(iprp. getPropertyByIndex(rrefIndex - 1));
auto referenceTypes = rr ef->getReferenceTypes(); auto referenceTypes = rr ef->getReferenceTypes();
static const vector<FourCCInt> EXPECTED_REFERENCE_TYPES = {" auxl", "base", "thmb", static const vector<FourCCInt> EXPECTED_REFERENCE_TYPES = {" auxl", "base", "thmb",
" exbl", "tbas", "pred"}; " exbl", "tbas", "pred"};
for (const auto referenceType : referenceTypes) for (const auto referenceType : referenceTypes)
{ {
skipping to change at line 1584 skipping to change at line 1584
info.index = property.index; info.index = property.index;
info.type = itemPropertyTypeFromPropertyType(property.type) ; info.type = itemPropertyTypeFromPropertyType(property.type) ;
propertyTypeVector.push_back(info); propertyTypeVector.push_back(info);
} }
propertyMap.insert(std::make_pair(itemId, propertyTypeVector)); propertyMap.insert(std::make_pair(itemId, propertyTypeVector));
} }
// Collect entity group properties // Collect entity group properties
std::vector<uint32_t> groupIds; std::vector<uint32_t> groupIds;
const auto& entityToGroupBoxes = mMetaBox.getGroupsListBox().getEntityTo GroupsBoxes(); const auto& entityToGroupBoxes = mMetaBox.getGroupsListBox().getEntityTo GroupsBoxes();
groupIds.reserve(entityToGroupBoxes.size());
for (const EntityToGroupBox& box : entityToGroupBoxes) for (const EntityToGroupBox& box : entityToGroupBoxes)
{ {
groupIds.push_back(box.getGroupId()); groupIds.push_back(box.getGroupId());
} }
for (const auto groupId : groupIds) for (const auto groupId : groupIds)
{ {
const ItemPropertiesBox::PropertyInfos& propertyVector = iprp.getIte mProperties(groupId); const ItemPropertiesBox::PropertyInfos& propertyVector = iprp.getIte mProperties(groupId);
// The following loop copies item property information to interface. Data structures are essentially // The following loop copies item property information to interface. Data structures are essentially
// identical in ItemPropertiesBox and the reader API, but it is not desirable to expose ItemPropertiesBox in // identical in ItemPropertiesBox and the reader API, but it is not desirable to expose ItemPropertiesBox in
 End of changes. 3 change blocks. 
2 lines changed or deleted 4 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)