diff --git a/libwebp.spec b/libwebp.spec index 28b5f6e1e77af356bcd86844ae7ac57acbf1fe58..469354be43fd50f49f0bbfae8e3defb0cc36aa72 100644 --- a/libwebp.spec +++ b/libwebp.spec @@ -3,7 +3,7 @@ Name: libwebp Version: 1.2.0 -Release: 3%{anolis_release}%{?dist} +Release: 5%{anolis_release}%{?dist} URL: http://webmproject.org/ Summary: Library and tools for the WebP graphics format # Additional IPR is licensed as well. See PATENTS file for details @@ -11,6 +11,8 @@ License: BSD Source0: http://downloads.webmproject.org/releases/webp/%{name}-%{version}.tar.gz Source1: libwebp_jni_example.java Patch0: libwebp-freeglut.patch +Patch1: mozilla-1819244.patch + Obsoletes: libwebp7 <= 1.0.3 BuildRequires: libjpeg-devel @@ -34,6 +36,7 @@ images more efficiently. %package tools Summary: The WebP command line tools +Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: libwebp7-tools <= 1.0.3 %description tools @@ -147,9 +150,15 @@ cp swig/*.jar swig/*.so %{buildroot}/%{_libdir}/%{name}-java/ %changelog -* Thu Mar 23 2023 Weitao Zhou - 1.2.0-3.0.1 +* Thu May 04 2023 Weitao Zhou - 1.2.0-5.0.1 - Obsoletes libwebp7 from remi repo for better compatibility +* Wed Apr 26 2023 Martin Stransky - 1.2.0-5 +- Fix tools subpackage dependency + +* Wed Apr 26 2023 Martin Stransky - 1.2.0-4 +- Added fix for mzbz#1819244 + * Mon Aug 09 2021 Mohan Boddu - 1.2.0-3 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688 diff --git a/mozilla-1819244.patch b/mozilla-1819244.patch new file mode 100644 index 0000000000000000000000000000000000000000..05fa0f875f279decbdbd49383f4353836bb8012c --- /dev/null +++ b/mozilla-1819244.patch @@ -0,0 +1,68 @@ + +# HG changeset patch +# User Timothy Nikkel +# Date 1678835815 0 +# Node ID 53b805c752ff23080e100eda2b3b4280d4370b2e +# Parent 8fcdaf8d685d5903b127e041feb1716637b6008f +Bug 1819244. Cherry pic webp commit fix. r=aosmond, a=dsmith + +https://github.com/webmproject/libwebp/commit/a486d800b60d0af4cc0836bf7ed8f21e12974129 + +Differential Revision: https://phabricator.services.mozilla.com/D171814 + +diff --git a/media/libwebp/src/enc/alpha_enc.c b/media/libwebp/src/enc/alpha_enc.c +--- a/src/enc/alpha_enc.c ++++ b/src/enc/alpha_enc.c +@@ -8,16 +8,17 @@ + // ----------------------------------------------------------------------------- + // + // Alpha-plane compression. + // + // Author: Skal (pascal.massimino@gmail.com) + + #include + #include ++#include + + #include "src/enc/vp8i_enc.h" + #include "src/dsp/dsp.h" + #include "src/utils/filters_utils.h" + #include "src/utils/quant_levels_utils.h" + #include "src/utils/utils.h" + #include "src/webp/format_constants.h" + +@@ -143,31 +144,32 @@ static int EncodeAlphaInternal(const uin + output_size = VP8LBitWriterNumBytes(&tmp_bw); + if (output_size > data_size) { + // compressed size is larger than source! Revert to uncompressed mode. + method = ALPHA_NO_COMPRESSION; + VP8LBitWriterWipeOut(&tmp_bw); + } + } else { + VP8LBitWriterWipeOut(&tmp_bw); ++ memset(&result->bw, 0, sizeof(result->bw)); + return 0; + } + } + + if (method == ALPHA_NO_COMPRESSION) { + output = alpha_src; + output_size = data_size; + ok = 1; + } + + // Emit final result. + header = method | (filter << 2); + if (reduce_levels) header |= ALPHA_PREPROCESSED_LEVELS << 4; + +- VP8BitWriterInit(&result->bw, ALPHA_HEADER_LEN + output_size); ++ if (!VP8BitWriterInit(&result->bw, ALPHA_HEADER_LEN + output_size)) ok = 0; + ok = ok && VP8BitWriterAppend(&result->bw, &header, ALPHA_HEADER_LEN); + ok = ok && VP8BitWriterAppend(&result->bw, output, output_size); + + if (method != ALPHA_NO_COMPRESSION) { + VP8LBitWriterWipeOut(&tmp_bw); + } + ok = ok && !result->bw.error_; + result->score = VP8BitWriterSize(&result->bw); +