Accepting request 1221965 from graphics

OBS-URL: https://build.opensuse.org/request/show/1221965
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gegl?expand=0&rev=78
This commit is contained in:
Ana Guerrero 2024-11-07 15:23:59 +00:00 committed by Git OBS Bridge
commit 981860e2ae
6 changed files with 48 additions and 137 deletions

View File

@ -1,113 +0,0 @@
From 66de8124f496617eee8e6b5c68138a00343882db Mon Sep 17 00:00:00 2001
From: Joe Locash <@jlocash2>
Date: Sat, 4 May 2024 17:08:04 +0200
Subject: [PATCH] ff-load, ff-save: fix build with FFmpeg 7
Fixing issue #371
---
operations/external/ff-load.c | 8 ++++++++
operations/external/ff-save.c | 24 ++++++++++++++++++++++--
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/operations/external/ff-load.c b/operations/external/ff-load.c
index 6b96fdfdd..dc24a6d59 100644
--- a/operations/external/ff-load.c
+++ b/operations/external/ff-load.c
@@ -250,7 +250,11 @@ decode_audio (GeglOperation *operation,
while (samples_left)
{
int sample_count = samples_left;
+#if LIBAVCODEC_VERSION_MAJOR < 61
int channels = MIN(p->audio_stream->codecpar->channels, GEGL_MAX_AUDIO_CHANNELS);
+#else
+ int channels = MIN(p->audio_stream->codecpar->ch_layout.nb_channels, GEGL_MAX_AUDIO_CHANNELS);
+#endif
GeglAudioFragment *af = gegl_audio_fragment_new (o->audio_sample_rate, channels,
AV_CH_LAYOUT_STEREO, samples_left);
//);
@@ -553,7 +557,11 @@ prepare (GeglOperation *operation)
else
{
o->audio_sample_rate = p->audio_stream->codecpar->sample_rate;
+#if LIBAVCODEC_VERSION_MAJOR < 61
o->audio_channels = MIN(p->audio_stream->codecpar->channels, GEGL_MAX_AUDIO_CHANNELS);
+#else
+ o->audio_channels = MIN(p->audio_stream->codecpar->ch_layout.nb_channels, GEGL_MAX_AUDIO_CHANNELS);
+#endif
}
}
diff --git a/operations/external/ff-save.c b/operations/external/ff-save.c
index 9196b34aa..ffa5d8bee 100644
--- a/operations/external/ff-save.c
+++ b/operations/external/ff-save.c
@@ -315,8 +315,13 @@ add_audio_stream (GeglProperties *o, AVFormatContext * oc, int codec_id)
}
cp->sample_rate = o->audio_sample_rate;
+#if LIBAVCODEC_VERSION_MAJOR < 61
cp->channel_layout = AV_CH_LAYOUT_STEREO;
cp->channels = 2;
+#else
+ cp->ch_layout.u.mask = AV_CH_LAYOUT_STEREO;
+ cp->ch_layout.nb_channels = 2;
+#endif
return st;
}
@@ -392,8 +397,13 @@ static AVFrame *alloc_audio_frame(AVCodecContext *c, int nb_samples)
frame->format = c->sample_fmt;
+#if LIBAVCODEC_VERSION_MAJOR < 61
frame->channel_layout = c->channel_layout;
frame->channels = c->channels;
+#else
+ frame->ch_layout = c->ch_layout;
+ frame->ch_layout.nb_channels = c->ch_layout.nb_channels;
+#endif
frame->sample_rate = c->sample_rate;
frame->nb_samples = nb_samples;
@@ -423,8 +433,13 @@ static void encode_audio_fragments (Priv *p, AVFormatContext *oc, AVStream *st,
{
float left = 0, right = 0;
get_sample_data (p, i + p->audio_read_pos, &left, &right);
+#if LIBAVCODEC_VERSION_MAJOR < 61
((float*)frame->data[0])[c->channels*i+0] = left;
((float*)frame->data[0])[c->channels*i+1] = right;
+#else
+ ((float*)frame->data[0])[c->ch_layout.nb_channels*i+0] = left;
+ ((float*)frame->data[0])[c->ch_layout.nb_channels*i+1] = right;
+#endif
}
break;
case AV_SAMPLE_FMT_FLTP:
@@ -441,8 +456,13 @@ static void encode_audio_fragments (Priv *p, AVFormatContext *oc, AVStream *st,
{
float left = 0, right = 0;
get_sample_data (p, i + p->audio_read_pos, &left, &right);
+#if LIBAVCODEC_VERSION_MAJOR < 61
((int16_t*)frame->data[0])[c->channels*i+0] = left * (1<<15);
((int16_t*)frame->data[0])[c->channels*i+1] = right * (1<<15);
+#else
+ ((int16_t*)frame->data[0])[c->ch_layout.nb_channels*i+0] = left * (1<<15);
+ ((int16_t*)frame->data[0])[c->ch_layout.nb_channels*i+1] = right * (1<<15);
+#endif
}
break;
case AV_SAMPLE_FMT_S32:
@@ -450,8 +470,8 @@ static void encode_audio_fragments (Priv *p, AVFormatContext *oc, AVStream *st,
{
float left = 0, right = 0;
get_sample_data (p, i + p->audio_read_pos, &left, &right);
- ((int32_t*)frame->data[0])[c->channels*i+0] = left * (1<<31);
- ((int32_t*)frame->data[0])[c->channels*i+1] = right * (1<<31);
+ ((int32_t*)frame->data[0])[c->ch_layout.nb_channels*i+0] = left * (1<<31);
+ ((int32_t*)frame->data[0])[c->ch_layout.nb_channels*i+1] = right * (1<<31);
}
break;
case AV_SAMPLE_FMT_S32P:
--
GitLab

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:418c26d94be8805d7d98f6de0c6825ca26bd74fcacb6c188da47533d9ee28247
size 5805488

3
gegl-0.4.50.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6084969b06ee86ca71142133773f27e13f02e5a6a22c2cfce452ecaaddb790c1
size 5987700

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Wed Nov 6 22:42:54 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to version 0.4.50:
- Core:
- Better Gobject Introspection annotation coverage.
- Improved error handling for gegl chain processing.
- Added accessors for pad meta-data, to be able to show names and descriptions in UIs.
- GeglColor: more lax parameters for g_arapm_values_cmp
- Ops:
API: GEGL_OP_NAME needs to be uniqe .c filenames no longer
needs to be. First registered op with a given name now takes
precedence over later.
* exr-save: store 16bpc files as half, fixing gimp#10778
* ff-load, ff-save: fix build with FFmpeg 7
* dither: do processing in linear when all levels==2
* OpenCL: upgrade from 1.1 to 3.0, disable opencl caching
system - not crashing is more important than caching. And
fixes to the opencl operation of the following ops:
* alien-map
* color-to-alpha
* edge-sobel
* hue-chroma
* noise-reduction
* oilify
* snn-mean
- New Ops:
- styles: a UI for achieving many visual effects for use on
text and similar alpha defined shapes. bevel: simulate light
and shadow on an alpha defined shape. inner-glow: an inner
shadow glow effect
- New Ops in workshop:
- ctx-script: an experimental op for rendering ctx protocol
this might be a future basis for ctx-based vector layers.
- Build:
- Various meson cleanups.
- Updated vendored libraries
- ctx has been updated from upstream, perhaps most
significantly the protocol/drawing API has been fuzzed with
afl+
- drop upstreamed patches:
66de8124.patch
revertleap.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Sep 16 11:20:53 UTC 2024 - Stephan Hemeier <Sauerlandlinux@gmx.de> Mon Sep 16 11:20:53 UTC 2024 - Stephan Hemeier <Sauerlandlinux@gmx.de>

View File

@ -26,7 +26,7 @@
%bcond_with gegl_docs %bcond_with gegl_docs
Name: gegl Name: gegl
Version: 0.4.48 Version: 0.4.50
Release: 0 Release: 0
Summary: Generic Graphics Library Summary: Generic Graphics Library
License: GPL-3.0-or-later AND LGPL-3.0-or-later License: GPL-3.0-or-later AND LGPL-3.0-or-later
@ -35,9 +35,6 @@ URL: http://gegl.org/
Source0: https://download.gimp.org/pub/gegl/0.4/%{name}-%{version}.tar.xz Source0: https://download.gimp.org/pub/gegl/0.4/%{name}-%{version}.tar.xz
Source1: normalize-gir.pl Source1: normalize-gir.pl
Source99: baselibs.conf Source99: baselibs.conf
# PATCH-FIX-UPSTREAM
Patch0: https://gitlab.gnome.org/GNOME/gegl/-/commit/66de8124.patch
Patch1: revertleap.patch
BuildRequires: ImageMagick BuildRequires: ImageMagick
BuildRequires: asciidoc BuildRequires: asciidoc

View File

@ -1,17 +0,0 @@
diff -Naur gegl-0.4.48/operations/external/ff-save.c gegl-0.4.48n/operations/external/ff-save.c
--- gegl-0.4.48/operations/external/ff-save.c 2024-09-16 13:16:40.708415682 +0200
+++ gegl-0.4.48n/operations/external/ff-save.c 2024-09-16 13:16:16.068494024 +0200
@@ -470,8 +470,13 @@
{
float left = 0, right = 0;
get_sample_data (p, i + p->audio_read_pos, &left, &right);
+#if LIBAVCODEC_VERSION_MAJOR < 61
+ ((int32_t*)frame->data[0])[c->channels*i+0] = left * (1<<31);
+ ((int32_t*)frame->data[0])[c->channels*i+1] = right * (1<<31);
+#else
((int32_t*)frame->data[0])[c->ch_layout.nb_channels*i+0] = left * (1<<31);
((int32_t*)frame->data[0])[c->ch_layout.nb_channels*i+1] = right * (1<<31);
+#endif
}
break;
case AV_SAMPLE_FMT_S32P: