diff options
Diffstat (limited to 'media-libs/libjxl/files')
-rw-r--r-- | media-libs/libjxl/files/roundtripanimationpatches-ifdef-gif-9999.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/media-libs/libjxl/files/roundtripanimationpatches-ifdef-gif-9999.patch b/media-libs/libjxl/files/roundtripanimationpatches-ifdef-gif-9999.patch new file mode 100644 index 0000000..fce63e7 --- /dev/null +++ b/media-libs/libjxl/files/roundtripanimationpatches-ifdef-gif-9999.patch @@ -0,0 +1,81 @@ +From 027c7997af8a3735e4b4706328c19e6805bc62b9 Mon Sep 17 00:00:00 2001 +From: "Alex Xu (Hello71)" <alex_y_xu@yahoo.ca> +Date: Thu, 7 Oct 2021 14:07:35 -0400 +Subject: [PATCH] Run RoundtripAnimationPatches only if gif enabled + +--- + AUTHORS | 1 + + lib/jxl/jxl_test.cc | 42 +++++++++++++++++++++--------------------- + 2 files changed, 22 insertions(+), 21 deletions(-) + +diff --git a/AUTHORS b/AUTHORS +index 03f8b40..d4aaef7 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -28,3 +28,4 @@ Ziemowit Zabawa <ziemek.zabawa@outlook.com> + Andrius Lukas Narbutas <andrius4669@gmail.com> + Misaki Kasumi <misakikasumi@outlook.com> + Samuel Leong <wvvwvvvvwvvw@gmail.com> ++Alex Xu (Hello71) <alex_y_xu@yahoo.ca> +diff --git a/lib/jxl/jxl_test.cc b/lib/jxl/jxl_test.cc +index d411492..0cb0988 100644 +--- a/lib/jxl/jxl_test.cc ++++ b/lib/jxl/jxl_test.cc +@@ -1337,6 +1337,27 @@ TEST(JxlTest, RoundtripLosslessAnimation) { + 5e-4); + } + ++TEST(JxlTest, RoundtripAnimationPatches) { ++ ThreadPool* pool = nullptr; ++ const PaddedBytes orig = ReadTestData("jxl/animation_patches.gif"); ++ CodecInOut io; ++ ASSERT_TRUE(SetFromBytes(Span<const uint8_t>(orig), &io, pool)); ++ ASSERT_EQ(2u, io.frames.size()); ++ ++ CompressParams cparams; ++ cparams.patches = Override::kOn; ++ DecompressParams dparams; ++ CodecInOut io2; ++ // 40k with no patches, 27k with patch frames encoded multiple times. ++ EXPECT_LE(Roundtrip(&io, cparams, dparams, pool, &io2), 24000u); ++ ++ EXPECT_EQ(io2.frames.size(), io.frames.size()); ++ // >10 with broken patches ++ EXPECT_THAT(ButteraugliDistance(io, io2, cparams.ba_params, ++ /*distmap=*/nullptr, pool), ++ IsSlightlyBelow(1.5)); ++} ++ + #endif // JPEGXL_ENABLE_GIF + + #if JPEGXL_ENABLE_JPEG +@@ -1630,26 +1651,5 @@ TEST(JxlTest, RoundtripProgressive) { + IsSlightlyBelow(2.5f)); + } + +-TEST(JxlTest, RoundtripAnimationPatches) { +- ThreadPool* pool = nullptr; +- const PaddedBytes orig = ReadTestData("jxl/animation_patches.gif"); +- CodecInOut io; +- ASSERT_TRUE(SetFromBytes(Span<const uint8_t>(orig), &io, pool)); +- ASSERT_EQ(2u, io.frames.size()); +- +- CompressParams cparams; +- cparams.patches = Override::kOn; +- DecompressParams dparams; +- CodecInOut io2; +- // 40k with no patches, 27k with patch frames encoded multiple times. +- EXPECT_LE(Roundtrip(&io, cparams, dparams, pool, &io2), 24000u); +- +- EXPECT_EQ(io2.frames.size(), io.frames.size()); +- // >10 with broken patches +- EXPECT_THAT(ButteraugliDistance(io, io2, cparams.ba_params, +- /*distmap=*/nullptr, pool), +- IsSlightlyBelow(1.5)); +-} +- + } // namespace + } // namespace jxl +-- +2.33.0 + |