summaryrefslogtreecommitdiff
path: root/media-libs/libjxl/files/roundtripanimationpatches-ifdef-gif-9999.patch
blob: fce63e7e75f6471cd66254c83a5b6e99e7920839 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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