File colorspace-fix-assertion-part2.patch of Package zimg
From bb17c9433bfdc78e296982aad32981bcb9d5514c Mon Sep 17 00:00:00 2001
From: sekrit-twc <noreply@example.com>
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<Operation> create_lms_to_ictcp_operation(const ColorspaceDefinit
std::unique_ptr<Operation> 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<Operation> create_gamma_to_linear_operation(const ColorspaceDefi
std::unique_ptr<Operation> 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