Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package spek for openSUSE:Factory checked in at 2025-10-16 17:38:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/spek (Old) and /work/SRC/openSUSE:Factory/.spek.new.18484 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spek" Thu Oct 16 17:38:46 2025 rev:7 rq:1311492 version:0.8.5 Changes: -------- --- /work/SRC/openSUSE:Factory/spek/spek.changes 2025-08-20 13:27:46.090542669 +0200 +++ /work/SRC/openSUSE:Factory/.spek.new.18484/spek.changes 2025-10-16 17:38:55.032835598 +0200 @@ -1,0 +2,7 @@ +Mon Oct 13 18:03:33 UTC 2025 - Martin Hauke <[email protected]> + +- Add patch: + * https://github.com/alexkay/spek/pull/338.patch + Fix compatibility with FFmpeg8 + +------------------------------------------------------------------- New: ---- 338.patch ----------(New B)---------- New:- Add patch: * https://github.com/alexkay/spek/pull/338.patch Fix compatibility with FFmpeg8 ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ spek.spec ++++++ --- /var/tmp/diff_new_pack.06i5lF/_old 2025-10-16 17:38:55.572858177 +0200 +++ /var/tmp/diff_new_pack.06i5lF/_new 2025-10-16 17:38:55.576858345 +0200 @@ -26,6 +26,7 @@ Source: https://github.com/alexkay/spek/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz # PATCH-FIX-UPSTREAM spek-autotools.patch -- based on PR 333 Patch0: spek-autotools.patch +Patch1: https://github.com/alexkay/spek/pull/338.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ ++++++ 338.patch ++++++ >From df8402575f1550d79c751051e9006fd3b7fa0fe0 Mon Sep 17 00:00:00 2001 From: Hannes Braun <[email protected]> Date: Thu, 9 Oct 2025 20:28:34 +0200 Subject: [PATCH] Fix compatibility with FFmpeg 8 --- src/spek-fft.cc | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/spek-fft.cc b/src/spek-fft.cc index 3105213f..00d4fa5c 100644 --- a/src/spek-fft.cc +++ b/src/spek-fft.cc @@ -2,7 +2,7 @@ #define __STDC_CONSTANT_MACROS extern "C" { -#include <libavcodec/avfft.h> +#include <libavutil/tx.h> } #include "spek-fft.h" @@ -16,7 +16,10 @@ class FFTPlanImpl : public FFTPlan void execute() override; private: - struct RDFTContext *cx; + struct AVTXContext *cx; + av_tx_fn tx; + float* tmp; + const int len; }; std::unique_ptr<FFTPlan> FFT::create(int nbits) @@ -24,27 +27,31 @@ std::unique_ptr<FFTPlan> FFT::create(int nbits) return std::unique_ptr<FFTPlan>(new FFTPlanImpl(nbits)); } -FFTPlanImpl::FFTPlanImpl(int nbits) : FFTPlan(nbits), cx(av_rdft_init(nbits, DFT_R2C)) +FFTPlanImpl::FFTPlanImpl(int nbits) : FFTPlan(nbits), len(1 << nbits) { + const float scale = 1.0; + av_tx_init(&this->cx, &this->tx, AV_TX_FLOAT_RDFT, 0, this->len, &scale, 0); + this->tmp = (float*) av_malloc((this->len + 2) * sizeof(float)); } FFTPlanImpl::~FFTPlanImpl() { - av_rdft_end(this->cx); + av_tx_uninit(&this->cx); + av_freep(&this->tmp); } void FFTPlanImpl::execute() { - av_rdft_calc(this->cx, this->get_input()); + this->tx(this->cx, this->tmp, this->get_input(), sizeof(AVComplexFloat)); // Calculate magnitudes. int n = this->get_input_size(); float n2 = n * n; - this->set_output(0, 10.0f * log10f(this->get_input(0) * this->get_input(0) / n2)); - this->set_output(n / 2, 10.0f * log10f(this->get_input(1) * this->get_input(1) / n2)); + this->set_output(0, 10.0f * log10f(this->tmp[0] * this->tmp[0] / n2)); for (int i = 1; i < n / 2; i++) { - float re = this->get_input(i * 2); - float im = this->get_input(i * 2 + 1); + float re = this->tmp[i * 2]; + float im = this->tmp[i * 2 + 1]; this->set_output(i, 10.0f * log10f((re * re + im * im) / n2)); } + this->set_output(n / 2, 10.0f * log10f(this->tmp[this->len] * this->tmp[this->len] / n2)); }
