Skip to content

Commit

Permalink
rename variable / don't use c++ ranges yet
Browse files Browse the repository at this point in the history
  • Loading branch information
farindk committed Oct 6, 2024
1 parent edd0078 commit 3068e2d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
4 changes: 2 additions & 2 deletions libheif/api/libheif/heif.h
Original file line number Diff line number Diff line change
Expand Up @@ -1196,8 +1196,8 @@ struct heif_image_tiling

// Position of the top left tile.
// Usually, this is (0;0), but if a tiled image is rotated or cropped, it may be that the top left tile should be placed at a negative position.
int32_t top_left_x_position;
int32_t top_left_y_position;
uint32_t top_offset;
uint32_t left_offset;

uint8_t number_of_extra_dimensions; // 0 for normal images, 1 for volumetric (3D), ...
uint32_t extra_dimension_size[8]; // size of extra dimensions (first 8 dimensions)
Expand Down
17 changes: 9 additions & 8 deletions libheif/image-items/image_item.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
#include <limits>
#include <cassert>
#include <cstring>
#include <ranges>
//#include <ranges>

#if WITH_UNCOMPRESSED_CODEC
#include "image-items/unc_image.h"
Expand Down Expand Up @@ -706,8 +706,9 @@ Result<std::shared_ptr<HeifPixelImage>> ImageItem::decode_image(const struct hei

heif_image_tiling tiling = get_heif_image_tiling();

for (auto& prop : std::ranges::reverse_view(propertiesResult.value)) {
if (auto irot = std::dynamic_pointer_cast<Box_irot>(prop)) {
//for (auto& prop : std::ranges::reverse_view(propertiesResult.value)) {
for (auto propIter = propertiesResult.value.rbegin(); propIter != propertiesResult.value.rend(); propIter++) {
if (auto irot = std::dynamic_pointer_cast<Box_irot>(*propIter)) {
switch (irot->get_rotation_ccw()) {
case 90: {
uint32_t tx0 = tiling.num_columns - 1 - tile_y0;
Expand All @@ -734,7 +735,7 @@ Result<std::shared_ptr<HeifPixelImage>> ImageItem::decode_image(const struct hei
}
}

if (auto imir = std::dynamic_pointer_cast<Box_imir>(prop)) {
if (auto imir = std::dynamic_pointer_cast<Box_imir>(*propIter)) {
switch (imir->get_mirror_direction()) {
case heif_transform_mirror_direction_horizontal:
tile_x0 = tiling.num_columns - 1 - tile_x0;
Expand Down Expand Up @@ -1002,8 +1003,8 @@ heif_image_tiling ImageItem::get_heif_image_tiling() const
tiling.image_width = m_width;
tiling.image_height = m_height;

tiling.top_left_x_position = 0;
tiling.top_left_y_position = 0;
tiling.top_offset = 0;
tiling.left_offset = 0;
tiling.number_of_extra_dimensions = 0;

for (uint32_t& s : tiling.extra_dimension_size) {
Expand Down Expand Up @@ -1121,8 +1122,8 @@ Error ImageItem::process_image_transformations_on_tiling(heif_image_tiling& tili
}
}

tiling.top_left_x_position = -left_excess;
tiling.top_left_y_position = -top_excess;
tiling.left_offset = left_excess;
tiling.top_offset = top_excess;

return Error::Ok;
}

0 comments on commit 3068e2d

Please sign in to comment.