diff --git a/_service b/_service
index 2dfadc4..572128a 100644
--- a/_service
+++ b/_service
@@ -4,7 +4,7 @@
git
@PARENT_TAG@
release-([0-9\.]*)
- release-3.0.3
+ release-3.0.4
diff --git a/e29571.patch b/e29571.patch
new file mode 100644
index 0000000..b65d24c
--- /dev/null
+++ b/e29571.patch
@@ -0,0 +1,81 @@
+From e29571f9fc4a7bb37503a9c7ae4afd2352968b8f Mon Sep 17 00:00:00 2001
+From: sekrit-twc
+Date: Sat, 7 May 2022 07:47:53 -0700
+Subject: [PATCH] test: update ARM hashsums
+
+Fix #175
+---
+ test/colorspace/arm/colorspace_neon_test.cpp | 36 ++++++++++----------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/test/colorspace/arm/colorspace_neon_test.cpp b/test/colorspace/arm/colorspace_neon_test.cpp
+index 1b6e0bc9..54ad2c39 100644
+--- a/test/colorspace/arm/colorspace_neon_test.cpp
++++ b/test/colorspace/arm/colorspace_neon_test.cpp
+@@ -54,13 +54,13 @@ TEST(ColorspaceConversionNeonTest, test_matrix)
+
+ const char *expected_sha1[3] = {
+ #if defined(_M_ARM64) || defined(__aarch64__)
+- "7b2a05426e2ef61dc6adc16573fca46ea3480256",
+- "9c69bc8fa775a8e877e66e79812e9f4c39cec647",
+- "6010983126eb3f5ca2dd5c01f4753c0e9f36d0bb"
++ "749f74428406c019b1b727fa30352fcd1f0141ed",
++ "334cfa73375f8afef8423a163f3cff8f8a196762",
++ "aa3aab12d52e67b4d6765b4e8c03205a5375d8d9"
+ #else
+- "0495adab9c82d98e73841e229a9b2041838fc0f2",
+- "ece7edb1118d4b3063ad80f5d8febb6db7e9633a",
+- "73a9ee951c7bde9ae0ada9b90afd1f7ce8b604df"
++ "1d559e4b2812a5940839b064f5bd74bc4fe0a2f9",
++ "b32a33c4bbbf3901f89458f914e6d03cc81f2c1d",
++ "4aadd644fae30cfd2098bb8d2b9f98483c8821fd"
+ #endif
+ };
+ #if defined(_M_ARM64) || defined(__aarch64__)
+@@ -82,34 +82,34 @@ TEST(ColorspaceConversionNeonTest, test_transfer_lut)
+ {
+ #if defined(_M_ARM64) || defined(__aarch64__)
+ "23d012fcb280f601e2e3c349229d0108e3cd632a",
+- "21f5071b0a817c28295d51ead5137cabc6e0d5c4",
+- "158c4ff0c91c08f82e9fc35a500a1c8166f5ae6b"
++ "7ae186215d5fa45065f7aeac74ab2dc74b556696",
++ "bad84d4e0de8572c81df6d9f91fef05b1576f9e5"
+ #else
+ "52451877e62e9fc31eb10b1e37c5f95fdd8851db",
+- "3e2ff4f017c343edbe787692ce169123124337b1",
+- "f719a90e6a6c859bfcfc136f3296e65044495da0"
++ "06bc0aff436bbbf4ba633b2255dd096e628a129c",
++ "a20570af1c05291029ea7d6b4215c451f4a9187a"
+ #endif
+ },
+ {
+ "011ee645ad30bb6ad6d93d8980d89a3e3e073c19",
+- "d64814ca78cbf4e07606f92f1644f59762271ca5",
+- "f871247697737f9f8b6a59a58306e22cce472ea6"
++ "5ae0e075b3856d9f491954b477568b17daf7f147",
++ "84b20f8fa27c23a668540566b9df26c4b42c9afa"
+ },
+ {
+ #if defined(_M_ARM64) || defined(__aarch64__)
+ "8206be2ae5e8a0fc003daeec4178189eecf82a13",
+- "6bc5833cbd22f04c1965d230aad2ef8969da24b7",
+- "6538399afe0b9fd55a95608b25c8036e16d658b8"
++ "24843f17600dd7bf9870f5c778549bd96c333427",
++ "26a6b00801b41da17d849e02217bf69add6324a6"
+ #else
+ "905d4d54eeae6458e8e0975c9cea66b25edcc234",
+- "c2e7015447b40ebb2f4bfba48b7b091f964b22f1",
+- "d222f960fe874ac88608666c4af8de180d91868e"
++ "d380f54820f1e269ea54a1d552b0cb704f83dd7b",
++ "552579149674b5e37f0d443ad19a59593fdca057"
+ #endif
+ },
+ {
+ "16f2274ffac90927de0438114f0ea22e650981a0",
+- "2e01c95f89ea26b5a55bed895223381ac3f17e70",
+- "c61d9c5369a00af5bb40b70fbb21956c00a4a1e9"
++ "b1c8b15b6159ab43e7bfc4e715fe3b621628d26e",
++ "632ae07d6919533c87d2ed28560a60cf070498e2"
+ },
+ };
+ const double expected_tolinear_snr = 80.0;
diff --git a/zimg-3.0.3.obscpio b/zimg-3.0.3.obscpio
deleted file mode 100644
index e6cf76c..0000000
--- a/zimg-3.0.3.obscpio
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b375f776b0b404c307fc3ea962572236eb29c9642d271731ac855114df2c22c2
-size 6158349
diff --git a/zimg-3.0.4.obscpio b/zimg-3.0.4.obscpio
new file mode 100644
index 0000000..6ba04d0
--- /dev/null
+++ b/zimg-3.0.4.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4d65d5569d56e7c5cd94049e1c4cebd6b3186820026c9ee23ee44eb6be55d1b3
+size 6159373
diff --git a/zimg.changes b/zimg.changes
index bc15afa..b62e028 100644
--- a/zimg.changes
+++ b/zimg.changes
@@ -1,3 +1,13 @@
+-------------------------------------------------------------------
+Fri May 6 09:28:56 UTC 2022 - Ferdinand Thiessen
+
+- Update to 3.0.4
+ * colorspace: fix ARIB STD-B67 constant-luminance EOTF
+ * colorspace: filter negative values from sRGB-like transfer functions
+ * common: compilation fixes on esoteric architectures
+ * graph: fix active region with chroma subsampling
+- Added e29571.patch from upstream to fix arm unittests
+
-------------------------------------------------------------------
Wed Sep 22 17:19:43 UTC 2021 - Michael Gorse
diff --git a/zimg.obsinfo b/zimg.obsinfo
index cc8febd..7cb430f 100644
--- a/zimg.obsinfo
+++ b/zimg.obsinfo
@@ -1,5 +1,4 @@
name: zimg
-version: 3.0.3
-mtime: 1630862474
-commit: 1658ce429cf944e88868a88d8aef4683425d4e78
-
+version: 3.0.4
+mtime: 1647482635
+commit: dd4c4dff3ce6a2877bd6ba57c1be99759b9cb2da
diff --git a/zimg.spec b/zimg.spec
index cbe9ca4..4411b21 100644
--- a/zimg.spec
+++ b/zimg.spec
@@ -1,7 +1,7 @@
#
# spec file for package zimg
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define sover 2
Name: zimg
-Version: 3.0.3
+Version: 3.0.4
Release: 0
Summary: Scaling, colorspace conversion, and dithering library
License: WTFPL
@@ -27,6 +27,8 @@ URL: https://github.com/sekrit-twc/zimg
Source0: zimg-%{version}.tar.xz
Source99: baselibs.conf
Patch0: zimg-s390x-unit-tests.patch
+# PATCH-FIX-UPSTREAM e29571.patch -- Fix unittests on ARM
+Patch1: https://github.com/sekrit-twc/zimg/commit/e29571.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cmake
@@ -56,8 +58,7 @@ The libzimg-devel package contains libraries and header files for
developing applications that use libzimg%{sover}.
%prep
-%setup -q
-%patch0 -p1
+%autosetup -p1
%build
autoreconf -fiv