Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ffmpeg-6 for openSUSE:Factory checked in at 2024-01-16 21:36:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ffmpeg-6 (Old) and /work/SRC/openSUSE:Factory/.ffmpeg-6.new.9992 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ffmpeg-6" Tue Jan 16 21:36:42 2024 rev:7 rq:1139043 version:6.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ffmpeg-6/ffmpeg-6.changes 2023-12-07 19:11:28.105611606 +0100 +++ /work/SRC/openSUSE:Factory/.ffmpeg-6.new.9992/ffmpeg-6.changes 2024-01-16 21:36:46.933843518 +0100 @@ -1,0 +2,43 @@ +Mon Jan 15 11:11:08 UTC 2024 - Enrico Belleri <[email protected]> + +- Update to version 6.1.1: + * libaribcaption decoder + * Playdate video decoder and demuxer + * Extend VAAPI support for libva-win32 on Windows + * afireqsrc audio source filter + * arls filter + * ffmpeg CLI new option: -readrate_initial_burst + * zoneplate video source filter + * command support in the setpts and asetpts filters + * Vulkan decode hwaccel, supporting H264, HEVC and AV1 + * color_vulkan filter + * bwdif_vulkan filter + * nlmeans_vulkan filter + * RivaTuner video decoder + * xfade_vulkan filter + * vMix video decoder + * Essential Video Coding parser, muxer and demuxer + * Essential Video Coding frame merge bsf + * bwdif_cuda filter + * Microsoft RLE video encoder + * Raw AC-4 muxer and demuxer + * Raw VVC bitstream parser, muxer and demuxer + * Bitstream filter for editing metadata in VVC streams + * Bitstream filter for converting VVC from MP4 to Annex B + * scale_vt filter for videotoolbox + * transpose_vt filter for videotoolbox + * support for the P_SKIP hinting to speed up libx264 encoding + * Support HEVC,VP9,AV1 codec in enhanced flv format + * apsnr and asisdr audio filters + * OSQ demuxer and decoder + * Support HEVC,VP9,AV1 codec fourcclist in enhanced rtmp protocol + * CRI USM demuxer + * ffmpeg CLI '-top' option deprecated in favor of the setfield filter + * VAAPI AV1 encoder + * ffprobe XML output schema changed to account for multiple variable-fields elements within the same parent element + * ffprobe -output_format option added as an alias of -of +- Remove patch6 0001-avfilter-vf_libplacebo-remove-deprecated-field.diff +- Prefer libvpl to libmfx: the latter is deprecated +- Delete ffmpeg-6-private-devel package as it is only needed to build libav-tools + +------------------------------------------------------------------- Old: ---- 0001-avfilter-vf_libplacebo-remove-deprecated-field.diff ffmpeg-6.0.1.tar.xz ffmpeg-6.0.1.tar.xz.asc New: ---- ffmpeg-6.1.1.tar.xz ffmpeg-6.1.1.tar.xz.asc BETA DEBUG BEGIN: Old: * ffprobe -output_format option added as an alias of -of - Remove patch6 0001-avfilter-vf_libplacebo-remove-deprecated-field.diff - Prefer libvpl to libmfx: the latter is deprecated BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ffmpeg-6.spec ++++++ --- /var/tmp/diff_new_pack.mxp30W/_old 2024-01-16 21:36:49.685943853 +0100 +++ /var/tmp/diff_new_pack.mxp30W/_new 2024-01-16 21:36:49.685943853 +0100 @@ -1,7 +1,7 @@ # # spec file for package ffmpeg-6 # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,11 +16,11 @@ # -%define flavor @BUILD_FLAVOR@%{nil} +%define flavor @BUILD_FLAVOR@%nil # # preamble is present twice, watch out # -%if "%{flavor}" != "ffmpeg-6-mini" +%if "%flavor" != "ffmpeg-6-mini" # Create proper conflicts to make sure we require all from one version # p: Conflict string, eg if you need them all for requires instead @@ -40,7 +40,6 @@ %preamble_string libpostproc-devel %comparator %conflicts_version \ %preamble_string libswresample-devel %comparator %conflicts_version \ %preamble_string libswscale-devel %comparator %conflicts_version \ -%preamble_string ffmpeg-private-devel %comparator %conflicts_version \ %nil %if 0%{?BUILD_ORIG} @@ -56,6 +55,7 @@ %bcond_with amf_sdk %bcond_with cuda_sdk %endif + %bcond_with amrwb %bcond_with fdk_aac_dlopen %bcond_with opencore @@ -86,7 +86,7 @@ %define _major_expected 7 Name: ffmpeg-6 -Version: 6.0.1 +Version: 6.1.1 Release: 0 Summary: Set of libraries for working with various multimedia formats License: GPL-3.0-or-later @@ -110,33 +110,18 @@ Patch3: ffmpeg-codec-choice.diff Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch Patch5: work-around-abi-break.patch -Patch6: 0001-avfilter-vf_libplacebo-remove-deprecated-field.diff Patch10: ffmpeg-chromium.patch Patch91: ffmpeg-dlopen-openh264.patch -%if %{with amf_sdk} -BuildRequires: AMF-devel -%endif BuildRequires: ladspa-devel BuildRequires: libgsm-devel -BuildRequires: libmp3lame-devel -%if %{with mysofa} -BuildRequires: libmysofa-devel -%endif +BuildRequires: libmp3lame-devel >= 3.98.3 BuildRequires: nasm -BuildRequires: pkg-config -%ifarch x86_64 %x86_64 -%if 0%{?suse_version} >= 1550 -BuildRequires: pkgconfig(SvtAv1Enc) >= 0.9.0 -%endif -%endif +BuildRequires: pkgconfig BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(aom) >= 1.0.0 -%if %{with codec2} -BuildRequires: pkgconfig(codec2) -%endif BuildRequires: pkgconfig(dav1d) >= 0.5.0 -BuildRequires: pkgconfig(ffnvcodec) >= 8.1.24.14 +BuildRequires: pkgconfig(ffnvcodec) >= 8.1.24.15 BuildRequires: pkgconfig(fontconfig) >= 2.4.2 BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(fribidi) >= 0.19.0 @@ -151,11 +136,11 @@ BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libgme) BuildRequires: pkgconfig(libopenjp2) >= 2.1.0 -BuildRequires: pkgconfig(libopenmpt) +BuildRequires: pkgconfig(libopenmpt) >= 0.2.6557 BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libraw1394) -BuildRequires: pkgconfig(libssh) +BuildRequires: pkgconfig(libssh) >= 0.6.0 BuildRequires: pkgconfig(libva) >= 0.35.0 BuildRequires: pkgconfig(libva-drm) BuildRequires: pkgconfig(libva-x11) @@ -167,39 +152,13 @@ BuildRequires: pkgconfig(lilv-0) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(opus) -%if 0%{?suse_version} >= 1550 -BuildRequires: pkgconfig(libjxl) >= 0.7.0 -BuildRequires: pkgconfig(libjxl_threads) >= 0.7.0 -BuildRequires: pkgconfig(librist) -%endif -%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400 -BuildRequires: pkgconfig(rav1e) >= 0.5.0 -%endif -%if %{with rubberband} -BuildRequires: pkgconfig(rubberband) >= 1.8.1 -%endif -BuildRequires: pkgconfig(sdl2) -%if %{with smbclient} -BuildRequires: pkgconfig(smbclient) -%endif +BuildRequires: pkgconfig(sdl2) >= 2.0.1 BuildRequires: pkgconfig(soxr) BuildRequires: pkgconfig(speex) BuildRequires: pkgconfig(srt) >= 1.3.0 BuildRequires: pkgconfig(theora) >= 1.1 BuildRequires: pkgconfig(twolame) >= 0.3.10 BuildRequires: pkgconfig(vdpau) -%if %{with vidstab} -BuildRequires: pkgconfig(vidstab) >= 0.98 -%endif -%if %{with vulkan} -%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(vulkan) >= 1.2.189 -%endif BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(vpx) >= 1.4.0 BuildRequires: pkgconfig(x11) @@ -208,14 +167,36 @@ BuildRequires: pkgconfig(xcb-shm) BuildRequires: pkgconfig(xcb-xfixes) BuildRequires: pkgconfig(xext) -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 -%ifarch x86_64 %x86_64 -BuildRequires: pkgconfig(libmfx) -%endif -%endif -BuildRequires: pkgconfig(zimg) +BuildRequires: pkgconfig(zimg) >= 2.7.0 BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28 + +%if %{with amf_sdk} +BuildRequires: AMF-devel +%endif +%if %{with mysofa} +BuildRequires: libmysofa-devel +%endif +%if %{with codec2} +BuildRequires: pkgconfig(codec2) +%endif +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 +BuildRequires: pkgconfig(libjxl) >= 0.7.0 +BuildRequires: pkgconfig(libjxl_threads) >= 0.7.0 +BuildRequires: pkgconfig(librist) >= 0.2.7 +%endif +%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400 +BuildRequires: pkgconfig(rav1e) >= 0.5.0 +%endif +%if %{with rubberband} +BuildRequires: pkgconfig(rubberband) >= 1.8.1 +%endif +%if %{with smbclient} +BuildRequires: pkgconfig(smbclient) +%endif +%if %{with vidstab} +BuildRequires: pkgconfig(vidstab) >= 0.98 +%endif %if %{with fdk_aac_dlopen} BuildRequires: pkgconfig(fdk-aac) %endif @@ -234,6 +215,33 @@ %if %{with x265} BuildRequires: pkgconfig(x265) %endif + +%ifarch x86_64 %x86_64 aarch64 +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500 +BuildRequires: pkgconfig(SvtAv1Enc) >= 0.9.0 +%endif +%endif + +%if %{with vulkan} +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 +BuildRequires: pkgconfig(libplacebo) >= 6.292.0 +%else +BuildRequires: (pkgconfig(libplacebo) >= 4.192.0 with pkgconfig (libplacebo) < 6.292.0) +%endif +BuildRequires: pkgconfig(shaderc) >= 2019.1 +BuildRequires: pkgconfig(vulkan) >= 1.3.255 +%endif + +%if 0%{?suse_version} < 1550 && 0%{?sle_version} >= 150200 && 0%{?sle_version} < 150600 +%ifarch x86_64 %x86_64 +BuildRequires: pkgconfig(libmfx) +%endif +%else +%ifarch x86_64 %x86_64 +BuildRequires: pkgconfig(vpl) >= 2.6 +%endif +%endif + Provides: ffmpeg-tools = %version Conflicts: ffmpeg-tools Provides: ffmpeg = %version @@ -500,8 +508,8 @@ %package libswscale-devel Summary: Development files for FFmpeg's image scaling and colorspace library Group: Development/Libraries/C and C++ -Provides: libswscale-devel = %version-%release Conflicts: libswscale-devel +Provides: libswscale-devel = %version-%release Requires: %name-libavutil-devel = %version-%release Requires: libswscale7 = %version-%release %devel_conflicts -c < -v %_major_version @@ -513,40 +521,8 @@ This subpackage contains the headers for FFmpeg libswscale. -%package private-devel -Summary: Some FFmpeg private headers -Group: Development/Libraries/C and C++ -Requires: %name-libavcodec-devel = %version-%release -Requires: %name-libavformat-devel = %version-%release -Requires: %name-libavutil-devel = %version-%release -Provides: ffmpeg-private-devel = %version -Obsoletes: ffmpeg-private-devel < %version -%devel_conflicts -c < -v %_major_version -%devel_conflicts -c >= -v %_major_expected - -%description private-devel -FFmpeg is a multimedia framework, able to decode, encode, -transcode, mux, demux, stream, filter and play several formats -that humans and machines have created. - -This package contains some 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. - %prep -%setup -a6 -n %_name-%version -q -%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 +%autosetup -p1 -a6 -n %_name-%version %build %ifarch %ix86 %arm @@ -556,7 +532,7 @@ %global _lto_cflags %_lto_cflags -ffat-lto-objects %endif CFLAGS="%optflags" \ -%if %suse_version > 1500 +%if 0%{?suse_version} > 1500 %ifarch %ix86 %else LDFLAGS="%_lto_cflags" \ @@ -609,7 +585,7 @@ --enable-libfribidi \ --enable-libgsm \ --enable-libjack \ -%if 0%{?suse_version} >= 1550 +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 --enable-libjxl \ --enable-librist \ %endif @@ -628,8 +604,8 @@ %if %{with rubberband} --enable-librubberband \ %endif -%ifarch x86_64 %x86_64 -%if 0%{?suse_version} >= 1550 +%ifarch x86_64 %x86_64 aarch64 +%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500 --enable-libsvtav1 \ %endif %endif @@ -657,10 +633,14 @@ %endif %endif --enable-lv2 \ -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 +%if 0%{?suse_version} < 1550 && 0%{?sle_version} >= 150200 && 0%{?sle_version} < 150600 %ifarch x86_64 %x86_64 --enable-libmfx \ %endif +%else +%ifarch x86_64 %x86_64 + --enable-libvpl \ +%endif %endif --enable-vaapi \ --enable-vdpau \ @@ -716,16 +696,6 @@ cp -a "tools/$i" "$b/%_bindir/" done -# Install private headers required by libav-tools -for i 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 - mkdir -p "$b/%_includedir/ffmpeg/private/"`dirname $i` - cp -a $i "$b/%_includedir/ffmpeg/private/$i" -done - %post -n libavcodec60 -p /sbin/ldconfig %postun -n libavcodec60 -p /sbin/ldconfig %post -n libavdevice60 -p /sbin/ldconfig @@ -836,15 +806,10 @@ %_libdir/pkgconfig/libswscale.pc %_mandir/man3/libswscale.3* -%files private-devel -%_includedir/ffmpeg/private/ - -%else # "flavor" == "ffmpeg-6-mini" - +%else %define _name ffmpeg - Name: ffmpeg-6-mini -Version: 6.0.1 +Version: 6.1.1 Release: 0 Summary: Set of libraries for working with various multimedia formats License: GPL-3.0-or-later @@ -855,7 +820,6 @@ Source3: ffmpeg-6-rpmlintrc Source98: http://ffmpeg.org/ffmpeg-devel.asc#/ffmpeg-6.keyring Patch1: ffmpeg-arm6l.diff -Patch2: ffmpeg-new-coder-errors.diff Patch3: ffmpeg-codec-choice.diff Patch4: ffmpeg-4.2-dlopen-fdk_aac.patch Patch5: work-around-abi-break.patch @@ -960,5 +924,5 @@ %_libdir/pkgconfig/*.pc %_includedir/ffmpeg/ -%endif # "flavor" == "ffmpeg-6-mini" +%endif ++++++ ffmpeg-4.2-dlopen-fdk_aac.patch ++++++ --- /var/tmp/diff_new_pack.mxp30W/_old 2024-01-16 21:36:49.765946769 +0100 +++ /var/tmp/diff_new_pack.mxp30W/_new 2024-01-16 21:36:49.769946916 +0100 @@ -12,11 +12,11 @@ libavcodec/libfdk-aacenc.c | 47 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 115 insertions(+) -Index: ffmpeg-5.1/configure +Index: ffmpeg-6.1.1/configure =================================================================== ---- ffmpeg-5.1.orig/configure -+++ ffmpeg-5.1/configure -@@ -231,6 +231,7 @@ External library support: +--- ffmpeg-6.1.1.orig/configure ++++ ffmpeg-6.1.1/configure +@@ -228,6 +228,7 @@ External library support: --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 and libraw1394 [no] --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no] @@ -24,7 +24,7 @@ --enable-libflite enable flite (voice synthesis) support via libflite [no] --enable-libfontconfig enable libfontconfig, useful for drawtext filter [no] --enable-libfreetype enable libfreetype, needed for drawtext filter [no] -@@ -1787,6 +1788,7 @@ EXTERNAL_LIBRARY_GPL_LIST=" +@@ -1812,6 +1813,7 @@ EXTERNAL_LIBRARY_GPL_LIST=" EXTERNAL_LIBRARY_NONFREE_LIST=" decklink libfdk_aac @@ -32,7 +32,7 @@ libtls " -@@ -6544,6 +6546,7 @@ enabled libdrm && require_pkg +@@ -6697,6 +6699,7 @@ enabled libdrm && require_pkg enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac && warn "using libfdk without pkg-config"; } } @@ -40,10 +40,10 @@ flite_extralibs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite" enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs enabled fontconfig && enable libfontconfig -Index: ffmpeg-5.1/libavcodec/dlopen.h +Index: ffmpeg-6.1.1/libavcodec/dlopen.h =================================================================== --- /dev/null -+++ ffmpeg-5.1/libavcodec/dlopen.h ++++ ffmpeg-6.1.1/libavcodec/dlopen.h @@ -0,0 +1,12 @@ +#ifndef LOCALINC_DLOPEN_H +#define LOCALINC_DLOPEN_H @@ -57,10 +57,10 @@ + goto error; + +#endif -Index: ffmpeg-5.1/libavcodec/libfdk-aacdec.c +Index: ffmpeg-6.1.1/libavcodec/libfdk-aacdec.c =================================================================== ---- ffmpeg-5.1.orig/libavcodec/libfdk-aacdec.c -+++ ffmpeg-5.1/libavcodec/libfdk-aacdec.c +--- ffmpeg-6.1.1.orig/libavcodec/libfdk-aacdec.c ++++ ffmpeg-6.1.1/libavcodec/libfdk-aacdec.c @@ -38,6 +38,54 @@ #define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS #endif @@ -128,11 +128,11 @@ s->handle = aacDecoder_Open(avctx->extradata_size ? TT_MP4_RAW : TT_MP4_ADTS, 1); if (!s->handle) { av_log(avctx, AV_LOG_ERROR, "Error opening decoder\n"); -Index: ffmpeg-5.1/libavcodec/libfdk-aacenc.c +Index: ffmpeg-6.1.1/libavcodec/libfdk-aacenc.c =================================================================== ---- ffmpeg-5.1.orig/libavcodec/libfdk-aacenc.c -+++ ffmpeg-5.1/libavcodec/libfdk-aacenc.c -@@ -36,6 +36,48 @@ +--- ffmpeg-6.1.1.orig/libavcodec/libfdk-aacenc.c ++++ ffmpeg-6.1.1/libavcodec/libfdk-aacenc.c +@@ -37,6 +37,48 @@ #define FDKENC_VER_AT_LEAST(vl0, vl1) 0 #endif @@ -181,8 +181,8 @@ typedef struct AACContext { const AVClass *class; HANDLE_AACENCODER handle; -@@ -128,6 +170,11 @@ static av_cold int aac_encode_init(AVCod - int aot = FF_PROFILE_AAC_LOW + 1; +@@ -182,6 +224,11 @@ static av_cold int aac_encode_init(AVCod + int aot = AV_PROFILE_AAC_LOW + 1; int sce = 0, cpe = 0; +#ifdef CONFIG_LIBFDK_AAC_DLOPEN ++++++ ffmpeg-6.0.1.tar.xz -> ffmpeg-6.1.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/ffmpeg-6/ffmpeg-6.0.1.tar.xz /work/SRC/openSUSE:Factory/.ffmpeg-6.new.9992/ffmpeg-6.1.1.tar.xz differ: char 26, line 1 ++++++ ffmpeg-chromium.patch ++++++ --- /var/tmp/diff_new_pack.mxp30W/_old 2024-01-16 21:36:49.829949103 +0100 +++ /var/tmp/diff_new_pack.mxp30W/_new 2024-01-16 21:36:49.829949103 +0100 @@ -11,11 +11,11 @@ libavformat/utils.c | 7 +++++++ 2 files changed, 11 insertions(+) -Index: ffmpeg-6.0/libavformat/avformat.h +Index: ffmpeg-6.1.1/libavformat/avformat.h =================================================================== ---- ffmpeg-6.0.orig/libavformat/avformat.h -+++ ffmpeg-6.0/libavformat/avformat.h -@@ -1019,6 +1019,10 @@ attribute_deprecated +--- ffmpeg-6.1.1.orig/libavformat/avformat.h ++++ ffmpeg-6.1.1/libavformat/avformat.h +@@ -1030,6 +1030,10 @@ attribute_deprecated int64_t av_stream_get_end_pts(const AVStream *st); #endif @@ -26,11 +26,11 @@ #define AV_PROGRAM_RUNNING 1 /** -Index: ffmpeg-6.0/libavformat/utils.c +Index: ffmpeg-6.1.1/libavformat/utils.c =================================================================== ---- ffmpeg-6.0.orig/libavformat/utils.c -+++ ffmpeg-6.0/libavformat/utils.c -@@ -55,6 +55,13 @@ int ff_unlock_avformat(void) +--- ffmpeg-6.1.1.orig/libavformat/utils.c ++++ ffmpeg-6.1.1/libavformat/utils.c +@@ -56,6 +56,13 @@ int ff_unlock_avformat(void) return ff_mutex_unlock(&avformat_mutex) ? -1 : 0; } ++++++ ffmpeg-codec-choice.diff ++++++ --- /var/tmp/diff_new_pack.mxp30W/_old 2024-01-16 21:36:49.849949832 +0100 +++ /var/tmp/diff_new_pack.mxp30W/_new 2024-01-16 21:36:49.849949832 +0100 @@ -11,11 +11,11 @@ libavformat/matroskaenc.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) -Index: ffmpeg-6.0/libavformat/matroskaenc.c +Index: ffmpeg-6.1.1/libavformat/matroskaenc.c =================================================================== ---- ffmpeg-6.0.orig/libavformat/matroskaenc.c -+++ ffmpeg-6.0/libavformat/matroskaenc.c -@@ -3321,16 +3321,25 @@ static int mkv_query_codec(enum AVCodecI +--- ffmpeg-6.1.1.orig/libavformat/matroskaenc.c ++++ ffmpeg-6.1.1/libavformat/matroskaenc.c +@@ -3538,16 +3538,25 @@ static int mkv_query_codec(enum AVCodecI return 0; } @@ -45,7 +45,7 @@ .init = mkv_init, .deinit = mkv_deinit, .write_header = mkv_write_header, -@@ -3388,8 +3397,7 @@ const FFOutputFormat ff_matroska_audio_m +@@ -3615,8 +3624,7 @@ const FFOutputFormat ff_matroska_audio_m .p.mime_type = "audio/x-matroska", .p.extensions = "mka", .priv_data_size = sizeof(MatroskaMuxContext), ++++++ ffmpeg-dlopen-openh264.patch ++++++ --- /var/tmp/diff_new_pack.mxp30W/_old 2024-01-16 21:36:49.869950562 +0100 +++ /var/tmp/diff_new_pack.mxp30W/_new 2024-01-16 21:36:49.873950707 +0100 @@ -23,11 +23,11 @@ create mode 100644 libavcodec/libopenh264_dlopen.c create mode 100644 libavcodec/libopenh264_dlopen.h -diff --git a/configure b/configure -index ba5793b2ff..8855c1a908 100755 ---- a/configure -+++ b/configure -@@ -251,6 +251,7 @@ External library support: +Index: ffmpeg-6.1.1/configure +=================================================================== +--- ffmpeg-6.1.1.orig/configure ++++ ffmpeg-6.1.1/configure +@@ -250,6 +250,7 @@ External library support: --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no] --enable-libopencv enable video filtering via libopencv [no] --enable-libopenh264 enable H.264 encoding via OpenH264 [no] @@ -35,7 +35,7 @@ --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no] --enable-libopenmpt enable decoding tracked files via libopenmpt [no] --enable-libopenvino enable OpenVINO as a DNN module backend -@@ -1844,6 +1845,7 @@ EXTERNAL_LIBRARY_LIST=" +@@ -1873,6 +1874,7 @@ EXTERNAL_LIBRARY_LIST=" libmysofa libopencv libopenh264 @@ -43,7 +43,7 @@ libopenjpeg libopenmpt libopenvino -@@ -6596,6 +6598,7 @@ enabled libopencv && { check_headers opencv2/core/core_c.h && +@@ -6770,6 +6772,7 @@ enabled libopencv && { check_hea 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 @@ -51,22 +51,22 @@ enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version || { require_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } } enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++" -diff --git a/libavcodec/Makefile b/libavcodec/Makefile -index 457ec58377..08a26fba5f 100644 ---- a/libavcodec/Makefile -+++ b/libavcodec/Makefile -@@ -1075,6 +1075,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o +Index: ffmpeg-6.1.1/libavcodec/Makefile +=================================================================== +--- ffmpeg-6.1.1.orig/libavcodec/Makefile ++++ ffmpeg-6.1.1/libavcodec/Makefile +@@ -1115,6 +1115,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o +OBJS-$(CONFIG_LIBOPENH264_DLOPEN) += libopenh264_dlopen.o OBJS-$(CONFIG_LIBOPENH264_DECODER) += libopenh264dec.o libopenh264.o 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 0f6d28ed88..a124c3fa1e 100644 ---- a/libavcodec/libopenh264.c -+++ b/libavcodec/libopenh264.c + OBJS-$(CONFIG_LIBOPENJPEG_ENCODER) += libopenjpegenc.o +Index: ffmpeg-6.1.1/libavcodec/libopenh264.c +=================================================================== +--- ffmpeg-6.1.1.orig/libavcodec/libopenh264.c ++++ ffmpeg-6.1.1/libavcodec/libopenh264.c @@ -20,8 +20,13 @@ */ @@ -81,7 +81,7 @@ #include "libavutil/error.h" #include "libavutil/log.h" -@@ -52,8 +57,17 @@ int ff_libopenh264_check_version(void *logctx) +@@ -52,8 +57,17 @@ int ff_libopenh264_check_version(void *l // 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. @@ -101,11 +101,10 @@ if (memcmp(&libver, &g_stCodecVersion, sizeof(libver))) { av_log(logctx, AV_LOG_ERROR, "Incorrect library version loaded\n"); return AVERROR(EINVAL); -diff --git a/libavcodec/libopenh264_dlopen.c b/libavcodec/libopenh264_dlopen.c -new file mode 100644 -index 0000000000..49ea8ff44f +Index: ffmpeg-6.1.1/libavcodec/libopenh264_dlopen.c +=================================================================== --- /dev/null -+++ b/libavcodec/libopenh264_dlopen.c ++++ ffmpeg-6.1.1/libavcodec/libopenh264_dlopen.c @@ -0,0 +1,147 @@ +/* + * OpenH264 dlopen code @@ -254,11 +253,10 @@ + + return 0; +} -diff --git a/libavcodec/libopenh264_dlopen.h b/libavcodec/libopenh264_dlopen.h -new file mode 100644 -index 0000000000..d7d8bb7cad +Index: ffmpeg-6.1.1/libavcodec/libopenh264_dlopen.h +=================================================================== --- /dev/null -+++ b/libavcodec/libopenh264_dlopen.h ++++ ffmpeg-6.1.1/libavcodec/libopenh264_dlopen.h @@ -0,0 +1,58 @@ +/* + * OpenH264 dlopen code @@ -318,10 +316,10 @@ +#endif /* CONFIG_LIBOPENH264_DLOPEN */ + +#endif /* HAVE_LIBOPENH264_DLOPEN_H */ -diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c -index 007f86b619..57aa3bc1d1 100644 ---- a/libavcodec/libopenh264dec.c -+++ b/libavcodec/libopenh264dec.c +Index: ffmpeg-6.1.1/libavcodec/libopenh264dec.c +=================================================================== +--- ffmpeg-6.1.1.orig/libavcodec/libopenh264dec.c ++++ ffmpeg-6.1.1/libavcodec/libopenh264dec.c @@ -19,8 +19,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -335,7 +333,7 @@ #include "libavutil/common.h" #include "libavutil/fifo.h" -@@ -56,6 +60,12 @@ static av_cold int svc_decode_init(AVCodecContext *avctx) +@@ -56,6 +60,12 @@ static av_cold int svc_decode_init(AVCod int log_level; WelsTraceCallback callback_function; @@ -348,10 +346,10 @@ if ((err = ff_libopenh264_check_version(avctx)) < 0) return AVERROR_DECODER_NOT_FOUND; -diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c -index db252aace1..75289678da 100644 ---- a/libavcodec/libopenh264enc.c -+++ b/libavcodec/libopenh264enc.c +Index: ffmpeg-6.1.1/libavcodec/libopenh264enc.c +=================================================================== +--- ffmpeg-6.1.1.orig/libavcodec/libopenh264enc.c ++++ ffmpeg-6.1.1/libavcodec/libopenh264enc.c @@ -19,8 +19,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ @@ -365,7 +363,7 @@ #include "libavutil/attributes.h" #include "libavutil/common.h" -@@ -137,6 +141,12 @@ static av_cold int svc_encode_init(AVCodecContext *avctx) +@@ -115,6 +119,12 @@ static av_cold int svc_encode_init(AVCod WelsTraceCallback callback_function; AVCPBProperties *props; @@ -378,7 +376,4 @@ if ((err = ff_libopenh264_check_version(avctx)) < 0) return AVERROR_ENCODER_NOT_FOUND; --- -2.36.1 - ++++++ ffmpeg-new-coder-errors.diff ++++++ --- /var/tmp/diff_new_pack.mxp30W/_old 2024-01-16 21:36:49.889951290 +0100 +++ /var/tmp/diff_new_pack.mxp30W/_new 2024-01-16 21:36:49.889951290 +0100 @@ -5,34 +5,20 @@ (in light of openSUSE's reduced build). --- - fftools/ffmpeg.c | 2 +- - fftools/ffmpeg_filter.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) + fftools/ffmpeg_dec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -Index: ffmpeg-6.0/fftools/ffmpeg.c +Index: ffmpeg-6.1.1/fftools/ffmpeg_dec.c =================================================================== ---- ffmpeg-6.0.orig/fftools/ffmpeg.c -+++ ffmpeg-6.0/fftools/ffmpeg.c -@@ -2797,7 +2797,7 @@ static int init_input_stream(InputStream - if (ist->decoding_needed) { - const AVCodec *codec = ist->dec; - if (!codec) { -- snprintf(error, error_len, "Decoder (codec %s) not found for input stream #%d:%d", -+ snprintf(error, error_len, "This build of ffmpeg does not include a \"%s\" decoder needed for input stream #%d:%d.", - avcodec_get_name(ist->dec_ctx->codec_id), ist->file_index, ist->st->index); - return AVERROR(EINVAL); - } -Index: ffmpeg-6.0/fftools/ffmpeg_filter.c -=================================================================== ---- ffmpeg-6.0.orig/fftools/ffmpeg_filter.c -+++ ffmpeg-6.0/fftools/ffmpeg_filter.c -@@ -1064,7 +1064,7 @@ static int configure_input_filter(Filter - { - if (!ifilter->ist->dec) { - av_log(NULL, AV_LOG_ERROR, -- "No decoder for stream #%d:%d, filtering impossible\n", -+ "This build of ffmpeg does not have a suitable decoder for stream #%d:%d enabled, filtering impossible\n", - ifilter->ist->file_index, ifilter->ist->st->index); - return AVERROR_DECODER_NOT_FOUND; +--- ffmpeg-6.1.1.orig/fftools/ffmpeg_dec.c ++++ ffmpeg-6.1.1/fftools/ffmpeg_dec.c +@@ -1075,7 +1075,7 @@ int dec_open(InputStream *ist) + + if (!codec) { + av_log(ist, AV_LOG_ERROR, +- "Decoding requested, but no decoder found for: %s\n", ++ "Decoding was requested, but this build of ffmpeg does not include a \"%s\" decoder\n", + avcodec_get_name(ist->dec_ctx->codec_id)); + return AVERROR(EINVAL); }
