From a77b6c470a9d312d4e88506e53b67ca6b7aecce9 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Thu, 8 Jun 2023 18:25:21 -0400 Subject: [PATCH] WebP: Add test image for vertical image filtering I opened smolkling.webp in Photoshop, added a layer mask with a vertical gradient, replaced the leftmost column with completely transparent pixels (because the leftmost column is vertically predicted with the horizontal filter too), and saved it as webp. That wasn't enough to get a horizontal filter for the ALPH chunk though, so I also ran cwebp \ -alpha_filter best \ smolkling.webp \ -o Tests/LibGfx/test-inputs/smolkling-vertical-alpha.webp That did the trick. --- .../test-inputs/smolkling-vertical-alpha.webp | Bin 0 -> 17418 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/LibGfx/test-inputs/smolkling-vertical-alpha.webp diff --git a/Tests/LibGfx/test-inputs/smolkling-vertical-alpha.webp b/Tests/LibGfx/test-inputs/smolkling-vertical-alpha.webp new file mode 100644 index 0000000000000000000000000000000000000000..72f1cf79e2077f9532fdfea745d389d2c8a4b1cb GIT binary patch literal 17418 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 NQJ#PJl@ZHS005_nCr