SHA256
1
0
forked from pool/ffmpeg-6

Accepting request 1101501 from home:llyyr:branches:multimedia:libs

- Bump required libplacebo version to v6.292.0 or newer for TW
- Temporarily demote deprecation errors to deprecation warnings
  for vf_libplacebo
- Add upstream patches to fix build with libplacebo v6:
  * 0001-avfilter-vf_libplacebo-remove-deprecated-field.patch

Required changes to fix build with libplacebo v6 and for https://build.opensuse.org/request/show/1097449

OBS-URL: https://build.opensuse.org/request/show/1101501
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-6?expand=0&rev=8
This commit is contained in:
Jan Engelhardt 2023-07-31 11:26:36 +00:00 committed by Git OBS Bridge
parent 089994e8a0
commit 288ddb8e82
3 changed files with 80 additions and 2 deletions

View File

@ -0,0 +1,53 @@
diff --git a/doc/filters.texi b/doc/filters.texi
index 47e92b9269..129c7b6cbf 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -16242,9 +16242,6 @@ Disable linear light scaling.
@item disable_builtin
Disable built-in GPU sampling (forces LUT).
-@item force_icc_lut
-Force the use of a full ICC 3DLUT for gamut mapping.
-
@item disable_fbos
Forcibly disable FBOs, resulting in loss of almost all functionality, but
offering the maximum possible speed.
diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c
index 7cd495de26..3a40a528d8 100644
--- a/libavfilter/vf_libplacebo.c
+++ b/libavfilter/vf_libplacebo.c
@@ -97,7 +97,6 @@ typedef struct LibplaceboContext {
float polar_cutoff;
int disable_linear;
int disable_builtin;
- int force_icc_lut;
int force_dither;
int disable_fbos;
@@ -137,6 +136,7 @@ typedef struct LibplaceboContext {
float desat_exp;
int gamut_warning;
int gamut_clipping;
+ int force_icc_lut;
/* pl_dither_params */
int dithering;
@@ -458,7 +458,6 @@ static int process_frames(AVFilterContext *avctx, AVFrame *out, AVFrame *in)
.polar_cutoff = s->polar_cutoff,
.disable_linear_scaling = s->disable_linear,
.disable_builtin_scalers = s->disable_builtin,
- .force_icc_lut = s->force_icc_lut,
.force_dither = s->force_dither,
.disable_fbos = s->disable_fbos,
};
@@ -847,7 +846,9 @@ static const AVOption libplacebo_options[] = {
{ "polar_cutoff", "Polar LUT cutoff", OFFSET(polar_cutoff), AV_OPT_TYPE_FLOAT, {.dbl = 0}, 0.0, 1.0, DYNAMIC },
{ "disable_linear", "Disable linear scaling", OFFSET(disable_linear), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
{ "disable_builtin", "Disable built-in scalers", OFFSET(disable_builtin), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
- { "force_icc_lut", "Force the use of a full ICC 3DLUT for color mapping", OFFSET(force_icc_lut), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
+#if FF_API_LIBPLACEBO_OPTS
+ { "force_icc_lut", "Deprecated, does nothing", OFFSET(force_icc_lut), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC | AV_OPT_FLAG_DEPRECATED },
+#endif
{ "force_dither", "Force dithering", OFFSET(force_dither), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
{ "disable_fbos", "Force-disable FBOs", OFFSET(disable_fbos), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
{ NULL },

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Mon Jul 31 09:05:39 UTC 2023 - llyyr <llyyr.public@gmail.com>
- Bump required libplacebo version to v6.292.0 or newer for TW
- Temporarily demote deprecation errors to deprecation warnings
for vf_libplacebo
- Add upstream patches to fix build with libplacebo v6:
* 0001-avfilter-vf_libplacebo-remove-deprecated-field.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Apr 10 09:08:08 UTC 2023 - Jan Engelhardt <jengelh@inai.de> Mon Apr 10 09:08:08 UTC 2023 - Jan Engelhardt <jengelh@inai.de>

View File

@ -104,6 +104,7 @@ Patch2: ffmpeg-new-coder-errors.diff
Patch3: ffmpeg-codec-choice.diff Patch3: ffmpeg-codec-choice.diff
Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch
Patch5: work-around-abi-break.patch Patch5: work-around-abi-break.patch
Patch6: 0001-avfilter-vf_libplacebo-remove-deprecated-field.diff
Patch10: ffmpeg-chromium.patch Patch10: ffmpeg-chromium.patch
Patch91: ffmpeg-dlopen-openh264.patch Patch91: ffmpeg-dlopen-openh264.patch
@ -185,7 +186,11 @@ BuildRequires: pkgconfig(vdpau)
BuildRequires: pkgconfig(vidstab) >= 0.98 BuildRequires: pkgconfig(vidstab) >= 0.98
%endif %endif
%if %{with vulkan} %if %{with vulkan}
BuildRequires: pkgconfig(libplacebo) >= 4.192.0 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200
BuildRequires: pkgconfig(libplacebo) >= 6.292.0
%else
BuildRequires: (pkgconfig(libplacebo) >= 4.192.0 with pkgconfig (libplacebo) < 6.292.0)
%endif
BuildRequires: pkgconfig(shaderc) BuildRequires: pkgconfig(shaderc)
BuildRequires: pkgconfig(vulkan) >= 1.2.189 BuildRequires: pkgconfig(vulkan) >= 1.2.189
%endif %endif
@ -524,7 +529,18 @@ from libav should depend on these private headers which are expected to
break compatibility without any notice. break compatibility without any notice.
%prep %prep
%autosetup -a6 -p1 -n %_name-%version %setup -a6 -n %_name-%version
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch10 -p1
%patch91 -p1
# Remove when packaging ffmpeg 6.1
if pkg-config --atleast-version 6 libplacebo; then
%patch6 -p1
fi
%build %build
%ifarch %ix86 %arm %ifarch %ix86 %arm