Accepting request 786109 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/786109
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/zimg?expand=0&rev=35
This commit is contained in:
Dominique Leuenberger 2020-03-19 18:47:52 +00:00 committed by Git OBS Bridge
commit decfb6e8fd
4 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,36 @@
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 &params, 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 &params, 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

View File

@ -0,0 +1,34 @@
From fbd1ecebde3e336ad4f205381867adddfd4f754b Mon Sep 17 00:00:00 2001
From: sekrit-twc <noreply@example.com>
Date: Sat, 8 Feb 2020 12:46:02 -0800
Subject: [PATCH] colorspace: fix assertion
---
src/zimg/colorspace/operation_impl.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/zimg/colorspace/operation_impl.cpp b/src/zimg/colorspace/operation_impl.cpp
index f8bad30..ccd16b1 100644
--- a/src/zimg/colorspace/operation_impl.cpp
+++ b/src/zimg/colorspace/operation_impl.cpp
@@ -343,7 +343,7 @@ std::unique_ptr<Operation> create_inverse_arib_b67_operation(const Matrix3x3 &m,
std::unique_ptr<Operation> create_cl_yuv_to_rgb_operation(const ColorspaceDefinition &in, const ColorspaceDefinition &out, const OperationParams &params, CPUClass cpu)
{
zassert_d(in.primaries == out.primaries, "primaries mismatch");
- zassert_d(in.matrix == MatrixCoefficients::REC_2020_CL && in.transfer == TransferCharacteristics::REC_709, "must be 2020 CL");
+ zassert_d((in.matrix == MatrixCoefficients::REC_2020_CL || in.matrix == MatrixCoefficients::CHROMATICITY_DERIVED_CL) && in.transfer == TransferCharacteristics::REC_709, "must be 2020 CL");
zassert_d(out.matrix == MatrixCoefficients::RGB && out.transfer == TransferCharacteristics::LINEAR, "must be linear RGB");
// CL is always scene-referred.
@@ -356,7 +356,7 @@ std::unique_ptr<Operation> create_cl_rgb_to_yuv_operation(const ColorspaceDefini
{
zassert_d(in.primaries == out.primaries, "primaries mismatch");
zassert_d(in.matrix == MatrixCoefficients::RGB && in.transfer == TransferCharacteristics::LINEAR, "must be linear RGB");
- zassert_d(out.matrix == MatrixCoefficients::REC_2020_CL && out.transfer == TransferCharacteristics::REC_709, "must be 2020 CL");
+ zassert_d((out.matrix == MatrixCoefficients::REC_2020_CL || out.matrix == MatrixCoefficients::CHROMATICITY_DERIVED_CL) && out.transfer == TransferCharacteristics::REC_709, "must be 2020 CL");
// CL is always scene-referred.
TransferFunction func = select_transfer_function(out.transfer, params.peak_luminance, true);
--
2.25.1

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Wed Mar 18 08:15:32 UTC 2020 - Martin Liška <mliska@suse.cz>
- 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 <mliska@suse.cz>
- Add colorspace-fix-assertion.patch in order to fix
build with GCC10. See gh#sekrit-twc/zimg#122.
-------------------------------------------------------------------
Mon Mar 2 12:32:52 UTC 2020 - Martin Herkt <9+suse@cirno.systems>

View File

@ -27,6 +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
Patch2: colorspace-fix-assertion-part2.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
@ -57,6 +59,8 @@ developing applications that use libzimg%{sover}.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
autoreconf -fiv