diff options
Diffstat (limited to 'media-libs/libjxl/files/libjxl-0.8.2-backport-pr2617.patch')
-rw-r--r-- | media-libs/libjxl/files/libjxl-0.8.2-backport-pr2617.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/media-libs/libjxl/files/libjxl-0.8.2-backport-pr2617.patch b/media-libs/libjxl/files/libjxl-0.8.2-backport-pr2617.patch new file mode 100644 index 000000000000..af9345867473 --- /dev/null +++ b/media-libs/libjxl/files/libjxl-0.8.2-backport-pr2617.patch @@ -0,0 +1,60 @@ +https://bugs.gentoo.org/908939 +https://github.com/libjxl/libjxl/issues/2433 +https://github.com/libjxl/libjxl/pull/2617 + +From d9637bd803bf9fadc00aa01cea7becfff1e00e1f Mon Sep 17 00:00:00 2001 +From: Sami Boukortt <sboukortt@google.com> +Date: Mon, 26 Jun 2023 15:06:17 +0200 +Subject: [PATCH] Fix decode_test with lcms2 + +Co-authored-by: Zoltan Szabadka <szabadka@google.com> +Co-authored-by: Luca Versari <veluca@google.com> +--- + lib/jxl/decode_test.cc | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/lib/jxl/decode_test.cc b/lib/jxl/decode_test.cc +index 44ead99ec6..bbb7bda39c 100644 +--- a/lib/jxl/decode_test.cc ++++ b/lib/jxl/decode_test.cc +@@ -3734,13 +3734,18 @@ void AnalyzeCodestream(const jxl::PaddedBytes& data, + jxl::Span<const uint8_t>(codestream.data(), codestream.size())); + ASSERT_EQ(br.ReadFixedBits<16>(), 0x0AFF); + jxl::CodecMetadata metadata; +- EXPECT_TRUE(ReadSizeHeader(&br, &metadata.size)); +- EXPECT_TRUE(ReadImageMetadata(&br, &metadata.m)); ++ ASSERT_TRUE(ReadSizeHeader(&br, &metadata.size)); ++ ASSERT_TRUE(ReadImageMetadata(&br, &metadata.m)); + streampos->basic_info = + add_offset(br.TotalBitsConsumed() / jxl::kBitsPerByte); + metadata.transform_data.nonserialized_xyb_encoded = metadata.m.xyb_encoded; +- EXPECT_TRUE(jxl::Bundle::Read(&br, &metadata.transform_data)); +- EXPECT_TRUE(br.JumpToByteBoundary()); ++ ASSERT_TRUE(jxl::Bundle::Read(&br, &metadata.transform_data)); ++ if (metadata.m.color_encoding.WantICC()) { ++ jxl::PaddedBytes icc; ++ ASSERT_TRUE(jxl::ReadICC(&br, &icc)); ++ ASSERT_TRUE(metadata.m.color_encoding.SetICCRaw(std::move(icc))); ++ } ++ ASSERT_TRUE(br.JumpToByteBoundary()); + bool has_preview = metadata.m.have_preview; + while (br.TotalBitsConsumed() < br.TotalBytes() * jxl::kBitsPerByte) { + FramePositions p; +@@ -3750,7 +3755,7 @@ void AnalyzeCodestream(const jxl::PaddedBytes& data, + frame_header.nonserialized_is_preview = true; + has_preview = false; + } +- EXPECT_TRUE(ReadFrameHeader(&br, &frame_header)); ++ ASSERT_TRUE(ReadFrameHeader(&br, &frame_header)); + p.header_end = + add_offset(jxl::DivCeil(br.TotalBitsConsumed(), jxl::kBitsPerByte)); + jxl::FrameDimensions frame_dim = frame_header.ToFrameDimensions(); +@@ -3760,7 +3765,7 @@ void AnalyzeCodestream(const jxl::PaddedBytes& data, + frame_header.passes.num_passes, /*has_ac_global=*/true); + std::vector<uint64_t> section_offsets; + std::vector<uint32_t> section_sizes; +- EXPECT_TRUE(ReadGroupOffsets(toc_entries, &br, §ion_offsets, ++ ASSERT_TRUE(ReadGroupOffsets(toc_entries, &br, §ion_offsets, + §ion_sizes, &groups_total_size)); + EXPECT_EQ(br.TotalBitsConsumed() % jxl::kBitsPerByte, 0); + size_t sections_start = br.TotalBitsConsumed() / jxl::kBitsPerByte; |