From b742cb7cc76f1cca7be87425ee61044fee12cd1e Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Sun, 1 Nov 2020 11:50:48 +0800 Subject: [PATCH] Return unsupported when reading 16bit RLE compressed PSD files --- .../read/psd/argb16-raw-affinityphoto-1.8.5.png | Bin 0 -> 628 bytes .../read/psd/argb16-raw-affinityphoto-1.8.5.psd | Bin 0 -> 18188 bytes .../read/psd/rgb16-raw-affinityphoto-1.8.5.png | Bin 0 -> 534 bytes .../read/psd/rgb16-raw-affinityphoto-1.8.5.psd | Bin 0 -> 16396 bytes src/imageformats/psd.cpp | 4 ++++ 5 files changed, 4 insertions(+) create mode 100644 autotests/read/psd/argb16-raw-affinityphoto-1.8.5.png create mode 100644 autotests/read/psd/argb16-raw-affinityphoto-1.8.5.psd create mode 100644 autotests/read/psd/rgb16-raw-affinityphoto-1.8.5.png create mode 100644 autotests/read/psd/rgb16-raw-affinityphoto-1.8.5.psd diff --git a/autotests/read/psd/argb16-raw-affinityphoto-1.8.5.png b/autotests/read/psd/argb16-raw-affinityphoto-1.8.5.png new file mode 100644 index 0000000000000000000000000000000000000000..5b23d15b8820473e6193a0d57a3d3ac934eeb780 GIT binary patch literal 628 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 YU#O9Vww@&W0RR9107*qoM6N<$f(h~YW&i*H literal 0 HcmV?d00001 diff --git a/autotests/read/psd/rgb16-raw-affinityphoto-1.8.5.psd b/autotests/read/psd/rgb16-raw-affinityphoto-1.8.5.psd new file mode 100644 index 0000000000000000000000000000000000000000..4fe21598024652ab476be0b8211ce8e32eda71d1 GIT binary patch literal 16396 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 G!To