From e48877b7d0dfa6dd37c69fdf9f7363a2416c0ba9 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Mon, 29 Aug 2022 19:59:29 -0400 Subject: [PATCH 1/8] Disable bootstrap and rework chromaprint dependency --- ffmpeg.spec | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 79c3033..b2c898b 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -2,9 +2,7 @@ %bcond_with upstream_tarball %bcond_with all_codecs -# Break dependency cycles, e.g.: -# ffmpeg (libavcodec-free) → chromaprint → ffmpeg -# by disabling certain optional dependencies. +# Break dependency cycles by disabling certain optional dependencies. %bcond_with bootstrap # If you want to do a build with the upstream source tarball, then set the @@ -41,6 +39,19 @@ %bcond_without dc1394 %endif +# Break chromaprint dependency cycle: +# ffmpeg (libavcodec-free) → chromaprint → ffmpeg +%if %{with bootstrap} +%bcond_with chromaprint +%else +%bcond_without chromaprint +%endif + +%if 0%{?rhel} +# Disable dependencies not offered in RHEL +%bcond_with chromaprint +%endif + %if %{with all_codecs} %bcond_without rtmp %bcond_without x264 @@ -159,7 +170,7 @@ BuildRequires: pkgconfig(libbluray) BuildRequires: pkgconfig(libbs2b) BuildRequires: pkgconfig(libcdio) BuildRequires: pkgconfig(libcdio_paranoia) -%if %{without bootstrap} +%if %{with chromaprint} BuildRequires: pkgconfig(libchromaprint) %endif BuildRequires: pkgconfig(libdrm) @@ -561,10 +572,10 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --disable-openssl \ --enable-bzlib \ --enable-frei0r \ -%if %{with bootstrap} - --disable-chromaprint \ -%else +%if %{with chromaprint} --enable-chromaprint \ +%else + --disable-chromaprint \ %endif --enable-gcrypt \ --enable-gnutls \ From 6c78504a9466ae901738ae0e7ee0fe961f58f2d8 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 7 Sep 2022 10:31:41 +0100 Subject: [PATCH 2/8] Remove internal headers, they shouldn't be used outside of ffmpeg compile Readd description --- ffmpeg.spec | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index b2c898b..77e1192 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -316,11 +316,6 @@ machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. -This package contains also private headers for libavformat, libavcodec and -libavutil which are needed by libav-tools to build. No other package apart -from libav should depend on these private headers which are expected to -break compatibility without any notice. - %package -n libavcodec%{?pkg_suffix} Summary: FFmpeg codec library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -735,25 +730,6 @@ done %install %make_install V=1 -# Install private headers required by libav-tools -for f in libavformat/options_table.h \ - libavformat/os_support.h \ - libavformat/internal.h \ - libavcodec/options_table.h \ - libavutil/libm.h \ - libavutil/internal.h \ - libavutil/colorspace.h \ - libavutil/timer.h \ - libavutil/x86/emms.h \ - libavutil/aarch64/timer.h \ - libavutil/arm/timer.h \ - libavutil/bfin/timer.h \ - libavutil/ppc/timer.h \ - libavutil/x86/timer.h; do - install -m 0755 -d "%{buildroot}%{_includedir}/ffmpeg/private/$(dirname "${f}")" - cp -a ${f} "%{buildroot}%{_includedir}/ffmpeg/private/${f}" -done - # We will package is as %%doc in the devel package rm -rf %{buildroot}%{_datadir}/%{name}/examples @@ -779,7 +755,6 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %files -n %{pkg_name}-devel %doc MAINTAINERS doc/APIchanges doc/*.txt %doc _doc/examples -%{_includedir}/%{name}/private %files -n libavcodec%{?pkg_suffix} %license COPYING.GPLv2 LICENSE.md From af350001d84609242cf7aca0d309c4b15d9d62ed Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Wed, 12 Oct 2022 11:17:43 -0400 Subject: [PATCH 3/8] Refresh dlopen headers and patch for OpenH264 2.3.1 Backport patches to fix building with newer SDL2 versions --- ...-SDL-check-to-accept-all-2.x-version.patch | 35 +++++++++++++++++++ ...L2-version-check-for-pkg_config-fall.patch | 33 +++++++++++++++++ ffmpeg-dlopen-openh264.patch | 27 +++++++------- ffmpeg.spec | 12 +++++-- sources | 2 +- 5 files changed, 94 insertions(+), 15 deletions(-) create mode 100644 0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch create mode 100644 0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch diff --git a/0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch b/0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch new file mode 100644 index 0000000..7fc40c7 --- /dev/null +++ b/0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch @@ -0,0 +1,35 @@ +From 32f9a3e0c23c403cd6c6dc812939253227001f88 Mon Sep 17 00:00:00 2001 +From: Christopher Degawa +Date: Wed, 11 May 2022 15:11:04 -0500 +Subject: [PATCH 1/2] configure: extend SDL check to accept all 2.x versions + +sdl2 recently changed their versioning, moving the patch level to minor level +https://github.com/libsdl-org/SDL/commit/cd7c2f1de7d9e418bb554047d714dd7cacc020ff +and have said that they will instead ship sdl3.pc for 3.0.0 + +Fixes ticket 9768 + +Signed-off-by: Christopher Degawa +Signed-off-by: Gyan Doshi + +(cherry picked from commit e5163b1d34381a3319214a902ef1df923dd2eeba) +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 2369ea0240..e731a9d3ff 100755 +--- a/configure ++++ b/configure +@@ -6742,7 +6742,7 @@ fi + + if enabled sdl2; then + SDL2_CONFIG="${cross_prefix}sdl2-config" +- test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 2.1.0" SDL_events.h SDL_PollEvent ++ test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 3.0.0" SDL_events.h SDL_PollEvent + if disabled sdl2 && "${SDL2_CONFIG}" --version > /dev/null 2>&1; then + sdl2_cflags=$("${SDL2_CONFIG}" --cflags) + sdl2_extralibs=$("${SDL2_CONFIG}" --libs) +-- +2.36.1 + diff --git a/0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch b/0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch new file mode 100644 index 0000000..9712afc --- /dev/null +++ b/0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch @@ -0,0 +1,33 @@ +From fc7fb12f22180d03428310da7eca55403a123322 Mon Sep 17 00:00:00 2001 +From: dvhh +Date: Sat, 18 Jun 2022 01:46:12 +0900 +Subject: [PATCH 2/2] configure: fix SDL2 version check for pkg_config fallback + +pkg_config fallback for SDL2 use 2.1.0 as max (excluded) version +where the pkg_config specify 3.0.0 +Correcting fallback version to be in line with the pkg_config version + +Signed-off-by: dvhh +Signed-off-by: Marton Balint + +(cherry picked from commit c6fdbe26ef30fff817581e5ed6e078d96111248a) +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index e731a9d3ff..596be632c4 100755 +--- a/configure ++++ b/configure +@@ -6747,7 +6747,7 @@ if enabled sdl2; then + sdl2_cflags=$("${SDL2_CONFIG}" --cflags) + sdl2_extralibs=$("${SDL2_CONFIG}" --libs) + test_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x020001" $sdl2_cflags && +- test_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) < 0x020100" $sdl2_cflags && ++ test_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) < 0x030000" $sdl2_cflags && + check_func_headers SDL_events.h SDL_PollEvent $sdl2_extralibs $sdl2_cflags && + enable sdl2 + fi +-- +2.36.1 + diff --git a/ffmpeg-dlopen-openh264.patch b/ffmpeg-dlopen-openh264.patch index a62649e..5ee6bad 100644 --- a/ffmpeg-dlopen-openh264.patch +++ b/ffmpeg-dlopen-openh264.patch @@ -1,6 +1,6 @@ -From 081b35c5b598fef0a2e47753752f7607ff90a2d3 Mon Sep 17 00:00:00 2001 +From b8886826f44b4562aa2fbae3715ca6aa9e1b15e1 Mon Sep 17 00:00:00 2001 From: Neal Gompa -Date: Fri, 18 Feb 2022 08:12:54 -0500 +Date: Wed, 12 Oct 2022 10:26:35 -0400 Subject: [PATCH] avcodec/openh264: Add the ability to dlopen() OpenH264 We can't directly depend on OpenH264, but we can weakly link to it @@ -14,17 +14,17 @@ Signed-off-by: Neal Gompa --- configure | 3 + libavcodec/Makefile | 1 + - libavcodec/libopenh264.c | 15 +++- + libavcodec/libopenh264.c | 18 +++- libavcodec/libopenh264_dlopen.c | 147 ++++++++++++++++++++++++++++++++ libavcodec/libopenh264_dlopen.h | 58 +++++++++++++ libavcodec/libopenh264dec.c | 10 +++ libavcodec/libopenh264enc.c | 10 +++ - 7 files changed, 243 insertions(+), 1 deletion(-) + 7 files changed, 245 insertions(+), 2 deletions(-) create mode 100644 libavcodec/libopenh264_dlopen.c create mode 100644 libavcodec/libopenh264_dlopen.h diff --git a/configure b/configure -index 6b5ef6332e..f08e566e98 100755 +index 7a62f0c248..2369ea0240 100755 --- a/configure +++ b/configure @@ -250,6 +250,7 @@ External library support: @@ -43,7 +43,7 @@ index 6b5ef6332e..f08e566e98 100755 libopenjpeg libopenmpt libopenvino -@@ -6575,6 +6577,7 @@ enabled libopencv && { check_headers opencv2/core/core_c.h && +@@ -6582,6 +6584,7 @@ enabled libopencv && { check_headers opencv2/core/core_c.h && require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; } enabled libopenh264 && require_pkg_config libopenh264 openh264 wels/codec_api.h WelsGetCodecVersion @@ -64,7 +64,7 @@ index 3adf1536d8..9dc8389ce2 100644 OBJS-$(CONFIG_LIBOPENH264_ENCODER) += libopenh264enc.o libopenh264.o OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o diff --git a/libavcodec/libopenh264.c b/libavcodec/libopenh264.c -index 59c61a3a4c..9b7dfc59be 100644 +index 59c61a3a4c..14d83e27df 100644 --- a/libavcodec/libopenh264.c +++ b/libavcodec/libopenh264.c @@ -20,8 +20,13 @@ @@ -81,11 +81,14 @@ index 59c61a3a4c..9b7dfc59be 100644 #include "libavutil/log.h" -@@ -52,7 +57,15 @@ int ff_libopenh264_check_version(void *logctx) +@@ -51,8 +56,17 @@ int ff_libopenh264_check_version(void *logctx) + // Mingw GCC < 4.7 on x86_32 uses an incorrect/buggy ABI for the WelsGetCodecVersion // function (for functions returning larger structs), thus skip the check in those // configurations. - #if !defined(_WIN32) || !defined(__GNUC__) || !ARCH_X86_32 || AV_GCC_VERSION_AT_LEAST(4, 7) +-#if !defined(_WIN32) || !defined(__GNUC__) || !ARCH_X86_32 || AV_GCC_VERSION_AT_LEAST(4, 7) - OpenH264Version libver = WelsGetCodecVersion(); ++ // Also, for dlopened OpenH264, we should not do the version check. It's too punitive. ++#if !defined(_WIN32) || !defined(__GNUC__) || !ARCH_X86_32 || AV_GCC_VERSION_AT_LEAST(4, 7) || !defined(CONFIG_LIBOPENH264_DLOPEN) + OpenH264Version libver; + +#ifdef CONFIG_LIBOPENH264_DLOPEN @@ -100,7 +103,7 @@ index 59c61a3a4c..9b7dfc59be 100644 return AVERROR(EINVAL); diff --git a/libavcodec/libopenh264_dlopen.c b/libavcodec/libopenh264_dlopen.c new file mode 100644 -index 0000000000..b350679f18 +index 0000000000..49ea8ff44f --- /dev/null +++ b/libavcodec/libopenh264_dlopen.c @@ -0,0 +1,147 @@ @@ -225,7 +228,7 @@ index 0000000000..b350679f18 + return 0; + } + -+#define OPENH264_LIB "libopenh264.so.6" ++#define OPENH264_LIB "libopenh264.so.7" + libopenh264 = dlopen(OPENH264_LIB, RTLD_LAZY); + err = dlerror(); + if (err != NULL) { @@ -376,5 +379,5 @@ index 2001dc22b4..c8b1348df2 100644 return AVERROR_ENCODER_NOT_FOUND; -- -2.34.1 +2.36.1 diff --git a/ffmpeg.spec b/ffmpeg.spec index 77e1192..b51b57b 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -71,6 +71,7 @@ %if "%{__isa_bits}" == "64" %global lib64_suffix ()(64bit) %endif +%global openh264_soversion 7 %global av_codec_soversion 59 %global av_device_soversion 59 @@ -85,7 +86,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 5.0.1 -Release: 11%{?dist} +Release: 12%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPLv3+ URL: https://ffmpeg.org/ @@ -119,6 +120,9 @@ Patch5: ffmpeg-allow-fdk-aac-free.patch Patch6: ffmpeg-fix-gnutls-priority.patch # http://ffmpeg.org/pipermail/ffmpeg-devel/2022-February/293194.html Patch7: ffmpeg-openh264-averr-on-bad-version.patch +# Backport fixes to recognize sdl2 with new versioning scheme +Patch8: 0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch +Patch9: 0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch # Set up dlopen for openh264 Patch1001: ffmpeg-dlopen-openh264.patch @@ -323,7 +327,7 @@ Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} # We dlopen() openh264, so weak-depend on it... ## Note, we can do this because openh264 is provided in a default-enabled ## third party repository provided by Cisco. -Recommends: libopenh264.so.6%{?lib64_suffix} +Recommends: libopenh264.so.%{openh264_soversion}%{?lib64_suffix} %description -n libavcodec%{?pkg_suffix} The libavcodec library provides a generic encoding/decoding framework @@ -836,6 +840,10 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Wed Oct 12 2022 Neal Gompa - 5.0.1-12 +- Refresh dlopen headers and patch for OpenH264 2.3.1 +- Backport patches to fix building with newer SDL2 versions + * Thu Jun 09 2022 Neal Gompa - 5.0.1-11 - Ensure libavdevice-devel is pulled in with devel metapackage diff --git a/sources b/sources index bad80bb..9ecf186 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ SHA512 (ffmpeg-free-5.0.1.tar.xz) = 313277c2fb62829606c3434f03392351b7964734bef188f7838f754a383d8ad8b890ddd615aa7360ba2a72755fa54a6b967ff2f5a30da7a5490d31b562028e19 SHA512 (ffmpeg-5.0.1.tar.xz.asc) = 9c4bd404196c3a3808bae92873aefc77f8c26a9419cc6130a3f2359a75c8e83189d206e9aee8ff85c5a7fe4a98da24e11cf607ec351386c18979ec2d5ad3b3ad -SHA512 (ffmpeg-dlopen-headers.tar.xz) = b6f62a96e5b199bb52bf7c9c934c5d194a1486f350513dda68c47439d2653605400228a98e289d3bce8b8c0c2a5d95fde2813e238d2bd17d049887df4a7c947a +SHA512 (ffmpeg-dlopen-headers.tar.xz) = 97e6986fc2bb9dfa4516135a76b04d27ceb52ff96f0af21a6169919aeefefb4d2e2e24a771959689cdbec385f5d71614ba661223c67c0e94089a6dd823a30099 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165 From 354b83ba8a75a1c8caf47e02dd15f852b82b07ca Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Tue, 22 Nov 2022 08:56:37 -0500 Subject: [PATCH 4/8] Update to 5.0.2 --- ...-SDL-check-to-accept-all-2.x-version.patch | 35 ------------------- ffmpeg.spec | 8 +++-- sources | 4 +-- 3 files changed, 7 insertions(+), 40 deletions(-) delete mode 100644 0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch diff --git a/0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch b/0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch deleted file mode 100644 index 7fc40c7..0000000 --- a/0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 32f9a3e0c23c403cd6c6dc812939253227001f88 Mon Sep 17 00:00:00 2001 -From: Christopher Degawa -Date: Wed, 11 May 2022 15:11:04 -0500 -Subject: [PATCH 1/2] configure: extend SDL check to accept all 2.x versions - -sdl2 recently changed their versioning, moving the patch level to minor level -https://github.com/libsdl-org/SDL/commit/cd7c2f1de7d9e418bb554047d714dd7cacc020ff -and have said that they will instead ship sdl3.pc for 3.0.0 - -Fixes ticket 9768 - -Signed-off-by: Christopher Degawa -Signed-off-by: Gyan Doshi - -(cherry picked from commit e5163b1d34381a3319214a902ef1df923dd2eeba) ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index 2369ea0240..e731a9d3ff 100755 ---- a/configure -+++ b/configure -@@ -6742,7 +6742,7 @@ fi - - if enabled sdl2; then - SDL2_CONFIG="${cross_prefix}sdl2-config" -- test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 2.1.0" SDL_events.h SDL_PollEvent -+ test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 3.0.0" SDL_events.h SDL_PollEvent - if disabled sdl2 && "${SDL2_CONFIG}" --version > /dev/null 2>&1; then - sdl2_cflags=$("${SDL2_CONFIG}" --cflags) - sdl2_extralibs=$("${SDL2_CONFIG}" --libs) --- -2.36.1 - diff --git a/ffmpeg.spec b/ffmpeg.spec index b51b57b..9f0fbe3 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -85,8 +85,8 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} -Version: 5.0.1 -Release: 12%{?dist} +Version: 5.0.2 +Release: 1%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPLv3+ URL: https://ffmpeg.org/ @@ -121,7 +121,6 @@ Patch6: ffmpeg-fix-gnutls-priority.patch # http://ffmpeg.org/pipermail/ffmpeg-devel/2022-February/293194.html Patch7: ffmpeg-openh264-averr-on-bad-version.patch # Backport fixes to recognize sdl2 with new versioning scheme -Patch8: 0001-configure-extend-SDL-check-to-accept-all-2.x-version.patch Patch9: 0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch # Set up dlopen for openh264 @@ -840,6 +839,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Tue Nov 22 2022 Neal Gompa - 5.0.2-1 +- Update to 5.0.2 + * Wed Oct 12 2022 Neal Gompa - 5.0.1-12 - Refresh dlopen headers and patch for OpenH264 2.3.1 - Backport patches to fix building with newer SDL2 versions diff --git a/sources b/sources index 9ecf186..e8b3dfa 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (ffmpeg-free-5.0.1.tar.xz) = 313277c2fb62829606c3434f03392351b7964734bef188f7838f754a383d8ad8b890ddd615aa7360ba2a72755fa54a6b967ff2f5a30da7a5490d31b562028e19 -SHA512 (ffmpeg-5.0.1.tar.xz.asc) = 9c4bd404196c3a3808bae92873aefc77f8c26a9419cc6130a3f2359a75c8e83189d206e9aee8ff85c5a7fe4a98da24e11cf607ec351386c18979ec2d5ad3b3ad +SHA512 (ffmpeg-free-5.0.2.tar.xz) = ece3a28114c86129db6c6f00d8b59b321e7fb770fdf169796fb1c39c61f1a75bcdb3c2905cd32a36a2e8c5c9921e8133c9d10756413c58baa6a2444ba9b6183d +SHA512 (ffmpeg-5.0.2.tar.xz.asc) = 2cbe55fc15ff20a90b7b3beba22364e013338db53f68b9f228f3c773d955ed149221730ac403dc781c74bbb8c5909573bfd27377b96654496428f709fa79225c SHA512 (ffmpeg-dlopen-headers.tar.xz) = 97e6986fc2bb9dfa4516135a76b04d27ceb52ff96f0af21a6169919aeefefb4d2e2e24a771959689cdbec385f5d71614ba661223c67c0e94089a6dd823a30099 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165 From 90bff85ed7edbb6ba78429ed272998b81e06f275 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 15 Feb 2023 16:02:24 -0500 Subject: [PATCH 5/8] Drop unused opencv BuildRequires opencv has deliberately broken their C API as of 3.4 and completely removed it in 4.0, meaning there is no way to enable OpenCV in ffmpeg without completely rewriting the filter in C++. https://github.com/opencv/opencv/wiki/ChangeLog#version400 https://ffmpeg.org/pipermail/ffmpeg-devel/2018-March/226872.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=915544 --- ffmpeg.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 9f0fbe3..c4d4d02 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -196,7 +196,6 @@ BuildRequires: pkgconfig(netcdf) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(openal) BuildRequires: pkgconfig(OpenCL) -BuildRequires: pkgconfig(opencv4) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(rav1e) BuildRequires: pkgconfig(rubberband) From 882dab2b6abf45599a2ef75d80476231c8980ecb Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Wed, 15 Feb 2023 23:28:35 -0500 Subject: [PATCH 6/8] Enable support for the RIST protocol through librist --- ffmpeg.spec | 5 ++++- ffmpeg_free_sources | 1 + sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index c4d4d02..b58f5fb 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -86,7 +86,7 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} Version: 5.0.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPLv3+ URL: https://ffmpeg.org/ @@ -838,6 +838,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Thu Feb 16 2023 Neal Gompa - 5.0.2-2 +- Enable support for the RIST protocol through librist + * Tue Nov 22 2022 Neal Gompa - 5.0.2-1 - Update to 5.0.2 diff --git a/ffmpeg_free_sources b/ffmpeg_free_sources index ea0afcd..06db230 100644 --- a/ffmpeg_free_sources +++ b/ffmpeg_free_sources @@ -2237,6 +2237,7 @@ libavformat/latmenc.c libavformat/libavformat.v libavformat/libmodplug.c libavformat/libopenmpt.c +libavformat/librist.c libavformat/libsmbclient.c libavformat/libsrt.c libavformat/libssh.c diff --git a/sources b/sources index e8b3dfa..ff4ef9d 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (ffmpeg-free-5.0.2.tar.xz) = ece3a28114c86129db6c6f00d8b59b321e7fb770fdf169796fb1c39c61f1a75bcdb3c2905cd32a36a2e8c5c9921e8133c9d10756413c58baa6a2444ba9b6183d +SHA512 (ffmpeg-free-5.0.2.tar.xz) = fd207aaf450799d334b1b8fa293f257dc5286ebc10e822bd6559b66bdf197167182227b359bb18bcfb7a52b915bb8c4e67c341dcdfe43b9960503bade64e7bc6 SHA512 (ffmpeg-5.0.2.tar.xz.asc) = 2cbe55fc15ff20a90b7b3beba22364e013338db53f68b9f228f3c773d955ed149221730ac403dc781c74bbb8c5909573bfd27377b96654496428f709fa79225c SHA512 (ffmpeg-dlopen-headers.tar.xz) = 97e6986fc2bb9dfa4516135a76b04d27ceb52ff96f0af21a6169919aeefefb4d2e2e24a771959689cdbec385f5d71614ba661223c67c0e94089a6dd823a30099 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165 From 877408547b13c230eb4fe2b42517738ac0088064 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Wed, 15 Feb 2023 23:30:00 -0500 Subject: [PATCH 7/8] Actually enable librist support --- ffmpeg.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ffmpeg.spec b/ffmpeg.spec index b58f5fb..64574f0 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -182,6 +182,7 @@ BuildRequires: pkgconfig(libomxil-bellagio) BuildRequires: pkgconfig(libopenjp2) BuildRequires: pkgconfig(libopenmpt) BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(librist) BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(libssh) BuildRequires: pkgconfig(libv4l2) @@ -609,6 +610,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --enable-libopus \ --enable-libpulse \ --enable-librav1e \ + --enable-librist \ --enable-librsvg \ --enable-librubberband \ --enable-libsnappy \ From b3aa4371dd36ccb0fac5198b80fc402a5cb2509c Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Thu, 6 Apr 2023 15:16:38 -0400 Subject: [PATCH 8/8] Update to 5.0.3 --- ffmpeg.spec | 7 +++++-- sources | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ffmpeg.spec b/ffmpeg.spec index 64574f0..a65e245 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -85,8 +85,8 @@ Name: ffmpeg %global pkg_name %{name}%{?pkg_suffix} -Version: 5.0.2 -Release: 2%{?dist} +Version: 5.0.3 +Release: 1%{?dist} Summary: A complete solution to record, convert and stream audio and video License: GPLv3+ URL: https://ffmpeg.org/ @@ -840,6 +840,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %{_mandir}/man3/libswscale.3* %changelog +* Thu Apr 06 2023 Neal Gompa - 5.0.3-1 +- Update to 5.0.3 + * Thu Feb 16 2023 Neal Gompa - 5.0.2-2 - Enable support for the RIST protocol through librist diff --git a/sources b/sources index ff4ef9d..4c018f4 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (ffmpeg-free-5.0.2.tar.xz) = fd207aaf450799d334b1b8fa293f257dc5286ebc10e822bd6559b66bdf197167182227b359bb18bcfb7a52b915bb8c4e67c341dcdfe43b9960503bade64e7bc6 -SHA512 (ffmpeg-5.0.2.tar.xz.asc) = 2cbe55fc15ff20a90b7b3beba22364e013338db53f68b9f228f3c773d955ed149221730ac403dc781c74bbb8c5909573bfd27377b96654496428f709fa79225c +SHA512 (ffmpeg-free-5.0.3.tar.xz) = c62b6d7f0178a09c67fa88ac6f1f88f524d5e6c80b98f99f01a6b877ce99f7ef31f50ba847e4472196075885eb844ffde788c1eace1d044a9a171557dee4bb91 +SHA512 (ffmpeg-5.0.3.tar.xz.asc) = 7b0e5e4949fbea820b2069dc7cf68318217ed7782026bf06ecf72764e82330af8aceda2975c077503ccdadfab342296ad9e32227cc55c566b9517be3565e7d92 SHA512 (ffmpeg-dlopen-headers.tar.xz) = 97e6986fc2bb9dfa4516135a76b04d27ceb52ff96f0af21a6169919aeefefb4d2e2e24a771959689cdbec385f5d71614ba661223c67c0e94089a6dd823a30099 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165