diff --git a/colorspace-fix-assertion-part2.patch b/colorspace-fix-assertion-part2.patch new file mode 100644 index 0000000..f0c1eda --- /dev/null +++ b/colorspace-fix-assertion-part2.patch @@ -0,0 +1,36 @@ +From bb17c9433bfdc78e296982aad32981bcb9d5514c Mon Sep 17 00:00:00 2001 +From: sekrit-twc +Date: Tue, 17 Mar 2020 10:40:15 -0700 +Subject: [PATCH] colorspace: fix assertions + +--- + src/zimg/colorspace/operation.cpp | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/zimg/colorspace/operation.cpp b/src/zimg/colorspace/operation.cpp +index 1218c7b..76f9d7a 100644 +--- a/src/zimg/colorspace/operation.cpp ++++ b/src/zimg/colorspace/operation.cpp +@@ -65,7 +65,8 @@ std::unique_ptr create_lms_to_ictcp_operation(const ColorspaceDefinit + std::unique_ptr create_gamma_to_linear_operation(const ColorspaceDefinition &in, const ColorspaceDefinition &out, const OperationParams ¶ms, CPUClass cpu) + { + zassert_d(in.primaries == out.primaries, "primaries mismatch"); +- zassert_d(in.matrix == MatrixCoefficients::RGB && out.matrix == MatrixCoefficients::RGB, "must be RGB"); ++ zassert_d((in.matrix == MatrixCoefficients::RGB || in.matrix == MatrixCoefficients::REC_2100_LMS) && ++ (out.matrix == MatrixCoefficients::RGB || out.matrix == MatrixCoefficients::REC_2100_LMS), "must be RGB or LMS"); + zassert_d(in.transfer != TransferCharacteristics::LINEAR && out.transfer == TransferCharacteristics::LINEAR, "wrong transfer characteristics"); + + if (in.transfer == TransferCharacteristics::ARIB_B67 && use_display_referred_b67(in.primaries, params)) +@@ -77,7 +78,8 @@ std::unique_ptr create_gamma_to_linear_operation(const ColorspaceDefi + std::unique_ptr create_linear_to_gamma_operation(const ColorspaceDefinition &in, const ColorspaceDefinition &out, const OperationParams ¶ms, CPUClass cpu) + { + zassert_d(in.primaries == out.primaries, "primaries mismatch"); +- zassert_d(in.matrix == MatrixCoefficients::RGB && out.matrix == MatrixCoefficients::RGB, "must be RGB"); ++ zassert_d((in.matrix == MatrixCoefficients::RGB || in.matrix == MatrixCoefficients::REC_2100_LMS) && ++ (out.matrix == MatrixCoefficients::RGB || out.matrix == MatrixCoefficients::REC_2100_LMS), "must be RGB or LMS"); + zassert_d(in.transfer == TransferCharacteristics::LINEAR && out.transfer != TransferCharacteristics::LINEAR, "wrong transfer characteristics"); + + if (out.transfer == TransferCharacteristics::ARIB_B67 && use_display_referred_b67(out.primaries, params)) +-- +2.25.1 + diff --git a/zimg.changes b/zimg.changes index be211c3..1dd59c5 100644 --- a/zimg.changes +++ b/zimg.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Mar 18 08:15:32 UTC 2020 - Martin Liška + +- Add colorspace-fix-assertion-part2.patch in order to address + gh#sekrit-twc/zimg#123. + ------------------------------------------------------------------- Tue Mar 17 07:58:45 UTC 2020 - Martin Liška diff --git a/zimg.spec b/zimg.spec index 939ee5a..38a274c 100644 --- a/zimg.spec +++ b/zimg.spec @@ -27,7 +27,8 @@ URL: https://github.com/sekrit-twc/zimg Source0: zimg-%{version}.tar.xz Source99: baselibs.conf Patch0: update-matrix3.cpp.patch -PAtch1: colorspace-fix-assertion.patch +Patch1: colorspace-fix-assertion.patch +Patch2: colorspace-fix-assertion-part2.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -59,6 +60,7 @@ developing applications that use libzimg%{sover}. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build autoreconf -fiv