File ffmpeg-6.spec of Package ffmpeg-6

#
# spec file for package ffmpeg-6
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#

%define BUILD_ORIG 1

%define vers 6.1.2
%define flavor %nil
%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
#      Default value Conflicts:
# c:   copmare string ie "<" or ">=", must be defined
# v:   version string ie. "< 42.3.4" or ">= 15.0.2.1", must be defined
%define devel_conflicts(p:c:v:) \
%define preamble_string %{-p:%{-p*}}%{!-p:Conflicts:} \
%define comparator %{-c:%{-c*}}%{!-c:%{error:Comparator not defined}} \
%define conflicts_version %{-v:%{-v*}}%{!-v:%{error:Version not defined}} \
\
%preamble_string libavcodec-devel %comparator %conflicts_version \
%preamble_string libavdevice-devel %comparator %conflicts_version \
%preamble_string libavfilter-devel %comparator %conflicts_version \
%preamble_string libavformat-devel %comparator %conflicts_version \
%preamble_string libavutil-devel %comparator %conflicts_version \
%preamble_string libpostproc-devel %comparator %conflicts_version \
%preamble_string libswresample-devel %comparator %conflicts_version \
%preamble_string libswscale-devel %comparator %conflicts_version \
%nil

%if 0%{?BUILD_ORIG}
%bcond_without amf_sdk
%bcond_without cuda_sdk
%else
# If software H264 is disabled, the hw driver must be as well:
# HW drivers can fail to initialize, namely when the hardware is absent.
# Browsers choose video formats on sites like youtube based on `ffmpeg
# -codecs` rather than the success/failure status of libav* initialization.
# This becomes a problem when a format only has a HW driver;
# the browser thinks it can do H264 but never succeeds.
%bcond_with    amf_sdk
%bcond_with    cuda_sdk
%endif

%bcond_with    amrwb
%bcond_with    fdk_aac_dlopen
%bcond_with    opencore
%bcond_with    smbclient
%bcond_with    x264
%bcond_with    x265

# openSUSE legal reviewers are concerned xvid patents and should not be used in commercial context.
%if !0%{?is_opensuse}
%bcond_with    xvid
%else
%bcond_without xvid
%endif

%if 0%{?suse_version} > 1500
%bcond_without mysofa
%bcond_without vidstab
%bcond_without codec2
%bcond_without rubberband
%bcond_without vulkan
%bcond_without amrwb
%bcond_without opencore
%else
%bcond_with mysofa
%bcond_with vidstab
%bcond_with codec2
%bcond_with rubberband
%bcond_with vulkan
%endif

%define _name ffmpeg
%define _major_version 6
%define _major_expected 7

Name:           ffmpeg-6
Version:        6.1.2
Release:        lp156.10.3
Summary:        Set of libraries for working with various multimedia formats
License:        GPL-3.0-or-later
Group:          Productivity/Multimedia/Video/Editors and Convertors
URL:            https://ffmpeg.org/

#Freshcode-URL: http://freshcode.club/projects/ffmpeg
#Git-Clone:     git://source.ffmpeg.org/ffmpeg
Source:         https://www.ffmpeg.org/releases/%_name-%version.tar.xz
Source2:        https://www.ffmpeg.org/releases/%_name-%version.tar.xz.asc
Source3:        ffmpeg-6-rpmlintrc
Source4:        enable_decoders
Source5:        enable_encoders
Source6:        ffmpeg-dlopen-headers.tar.xz
Source92:       ffmpeg_get_dlopen_headers.sh
Source98:       http://ffmpeg.org/ffmpeg-devel.asc#/ffmpeg-6.keyring
Source99:       baselibs.conf

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
Patch7:         0001-avfilter-asrc_afirsrc-fix-by-one-smaller-allocation-.patch
Patch8:         0001-avfilter-bwdif-account-for-chroma-sub-sampling-in-mi.patch
Patch9:         0001-avfilter-af_dialoguenhance-fix-overreads.patch
Patch10:        0001-avfilter-af_dialoguenhance-simplify-channels-copy.patch
Patch11:        0001-avfilter-af_dialoguenhance-do-output-scaling-once.patch
Patch12:        0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch
Patch13:        0001-avfilter-vf_codecview-fix-heap-buffer-overflow.patch
Patch14:        0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch
Patch15:        11013-avcodec-decode-clean-up-if-get_hw_frames_parameters-.patch
Patch16:        0001-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch
Patch90:        ffmpeg-chromium.patch
Patch91:        ffmpeg-dlopen-openh264.patch
Patch92:        ffmpeg-CVE-2023-50007.patch
Patch93:        ffmpeg-CVE-2023-50008.patch
Patch94:        ffmpeg-6-CVE-2024-32228-shim-1535d338.patch
Patch95:        ffmpeg-6-CVE-2024-32228-shim-f50382cb.patch
Patch97:        ffmpeg-c99.patch
Patch98:        ffmpeg-6-CVE-2024-35368.patch
Patch99:        ffmpeg-6-CVE-2024-35365.patch
Patch100:       ffmpeg-6-CVE-2024-12361.patch
Patch101:       ffmpeg-6-CVE-2025-22919.patch
Patch102:       ffmpeg-6-CVE-2025-0518.patch
Patch103:       ffmpeg-6-CVE-2025-25473.patch
Patch104:       ffmpeg-6-CVE-2025-22921.patch
Patch105:       7a089ed.patch

BuildRequires:  pkgconfig(x264)
BuildRequires:  pkgconfig(x265)
BuildRequires:  AMF-devel
BuildRequires:  pkgconfig(fdk-aac)
BuildRequires:  pkgconfig(vpl) >= 2.6
BuildRequires:  pkgconfig(shaderc) >= 2019.1
BuildRequires:  pkgconfig(vulkan) >= 1.3.255

#
# preamble is present twice, watch out
#
BuildRequires:  ladspa-devel
BuildRequires:  libgsm-devel
BuildRequires:  libmp3lame-devel >= 3.98.3
BuildRequires:  nasm
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(aom) >= 1.0.0
BuildRequires:  pkgconfig(dav1d) >= 0.5.0
BuildRequires:  pkgconfig(ffnvcodec) >= 8.1.24.15
BuildRequires:  pkgconfig(fontconfig) >= 2.4.2
BuildRequires:  pkgconfig(freetype2)
BuildRequires:  pkgconfig(fribidi) >= 0.19.0
BuildRequires:  pkgconfig(gnutls)
BuildRequires:  pkgconfig(jack)
BuildRequires:  pkgconfig(libass) >= 0.11.0
BuildRequires:  pkgconfig(libbluray)
BuildRequires:  pkgconfig(libbs2b)
BuildRequires:  pkgconfig(libcdio)
BuildRequires:  pkgconfig(libcdio_paranoia)
BuildRequires:  pkgconfig(libdc1394-2)
BuildRequires:  pkgconfig(libdrm)
BuildRequires:  pkgconfig(libgme)
BuildRequires:  pkgconfig(libopenjp2) >= 2.1.0
BuildRequires:  pkgconfig(libopenmpt) >= 0.2.6557
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(libraw1394)
BuildRequires:  pkgconfig(libssh) >= 0.6.0
BuildRequires:  pkgconfig(libva) >= 0.35.0
BuildRequires:  pkgconfig(libva-drm)
BuildRequires:  pkgconfig(libva-x11)
BuildRequires:  pkgconfig(libvmaf) >= 2.0.0
BuildRequires:  pkgconfig(libwebp) >= 0.4
BuildRequires:  pkgconfig(libwebpmux) >= 0.4.0
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(libzmq) >= 4.2.1
BuildRequires:  pkgconfig(lilv-0)
BuildRequires:  pkgconfig(ogg)
BuildRequires:  pkgconfig(opus)
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)
BuildRequires:  pkgconfig(vorbis)
BuildRequires:  pkgconfig(vpx) >= 1.4.0
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(xcb-shape)
BuildRequires:  pkgconfig(xcb-shm)
BuildRequires:  pkgconfig(xcb-xfixes)
BuildRequires:  pkgconfig(xext)
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
%if %{with xvid}
BuildRequires:  libxvidcore-devel
%endif
%if %{with opencore}
BuildRequires:  pkgconfig(opencore-amrnb)
%endif
%if %{with amrwb}
BuildRequires:  pkgconfig(vo-amrwbenc)
%endif
%if %{with x264}
BuildRequires:  pkgconfig(x264)
%endif
%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} >= 150500
%ifarch x86_64 %x86_64
BuildRequires:  pkgconfig(vpl) >= 2.6
%endif
%endif

Provides:       ffmpeg-tools = %version
Conflicts:      ffmpeg-tools
Provides:       ffmpeg = %version
Obsoletes:      ffmpeg < %version
Requires:       (libavcodec60 = %version-%release or ffmpeg-6-mini-libs = %version-%release)
Requires:       (libavdevice60 = %version-%release or ffmpeg-6-mini-libs = %version-%release)
Requires:       (libavfilter9 = %version-%release or ffmpeg-6-mini-libs = %version-%release)
Requires:       (libavformat60 = %version-%release or ffmpeg-6-mini-libs = %version-%release)
Requires:       (libavutil58 = %version-%release or ffmpeg-6-mini-libs = %version-%release)
Requires:       (libpostproc57 = %version-%release or ffmpeg-6-mini-libs = %version-%release)
Requires:       (libswresample4 = %version-%release or ffmpeg-6-mini-libs = %version-%release)
Requires:       (libswscale7 = %version-%release or ffmpeg-6-mini-libs = %version-%release)

%description
FFmpeg is a multimedia framework, able to decode, encode,
transcode, mux, demux, stream, filter and play several formats
that humans and machines have created.
%if !0%{?BUILD_ORIG}

This build of ffmpeg is limited in the number of codecs supported.
%endif

%package -n libavcodec60
Summary:        FFmpeg codec library
Group:          System/Libraries
Requires:       libavutil58 = %version-%release
Requires:       libswresample4 = %version-%release
%if 0%{?BUILD_ORIG}
Provides:       libavcodec-full = %version-%release
# This can be (and is) required by packages like vlc-codecs -
# do follow the shlib name to not get random lib providers
Provides:       libavcodec60(unrestricted)
%endif
# For mozillas
Provides:       libavcodec = %version-%release

%description -n libavcodec60
The libavcodec library provides a generic encoding/decoding framework
and contains multiple decoders and encoders for audio, video and
subtitle streams, and several bitstream filters.
%if !0%{?BUILD_ORIG}

This build of ffmpeg is limited in the number of codecs supported.
%endif

%package libavcodec-devel
Summary:        Development files for FFmpeg's codec library
Group:          Development/Libraries/C and C++
Provides:       libavcodec-devel = %version-%release
Obsoletes:      libavcodec-devel < %version-%release
Requires:       %name-libavutil-devel = %version-%release
Requires:       libavcodec60 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected

%description libavcodec-devel
The libavcodec library provides a generic encoding/decoding framework
and contains multiple decoders and encoders for audio, video and
subtitle streams, and several bitstream filters.

This subpackage contains the headers for FFmpeg libavcodec.

%package -n libavdevice60
Summary:        FFmpeg device library
Group:          System/Libraries
Requires:       libavcodec60 = %version-%release
Requires:       libavfilter9 = %version-%release
Requires:       libavformat60 = %version-%release
Requires:       libavutil58 = %version-%release

%description -n libavdevice60
The libavdevice library provides a generic framework for grabbing from
and rendering to many common multimedia input/output devices, and
supports several input and output devices, including Video4Linux2, VfW,
DShow, and ALSA.

%package libavdevice-devel
Summary:        Development files for FFmpeg's device library
Group:          Development/Libraries/C and C++
Provides:       ffmpeg-devel = %version-%release
Conflicts:      ffmpeg-devel
Provides:       libavdevice-devel = %version-%release
Obsoletes:      libavdevice-devel < %version-%release
Requires:       %name-libavcodec-devel = %version-%release
Requires:       %name-libavfilter-devel = %version-%release
Requires:       %name-libavformat-devel = %version-%release
Requires:       %name-libavutil-devel = %version-%release
Requires:       %name-libpostproc-devel = %version-%release
Requires:       %name-libswresample-devel = %version-%release
Requires:       %name-libswscale-devel = %version-%release
Requires:       libavdevice60 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected

%description libavdevice-devel
The libavdevice library provides a generic framework for grabbing from
and rendering to many common multimedia input/output devices, and
supports several input and output devices, including Video4Linux2, VfW,
DShow, and ALSA.

This subpackage contains the headers for FFmpeg libavcodec.

%package -n libavfilter9
Summary:        FFmpeg audio and video filtering library
Group:          System/Libraries
Requires:       libavcodec60 = %version-%release
Requires:       libavformat60 = %version-%release
Requires:       libavutil58 = %version-%release
Requires:       libpostproc57 = %version-%release
Requires:       libswresample4 = %version-%release
Requires:       libswscale7 = %version-%release

%description -n libavfilter9
The libavfilter library provides a generic audio/video filtering
framework containing several filters, sources and sinks.

%package libavfilter-devel
Summary:        Development files for FFmpeg's audio/video filter library
Group:          Development/Libraries/C and C++
Provides:       libavfilter-devel = %version-%release
Obsoletes:      libavfilter-devel < %version-%release
Requires:       %name-libavcodec-devel = %version-%release
Requires:       %name-libavformat-devel = %version-%release
Requires:       %name-libavutil-devel = %version-%release
Requires:       %name-libpostproc-devel = %version-%release
Requires:       %name-libswresample-devel = %version-%release
Requires:       %name-libswscale-devel = %version-%release
Requires:       libavfilter9 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected

%description libavfilter-devel
The libavfilter library provides a generic audio/video filtering
framework containing several filters, sources and sinks.

This subpackage contains the headers for FFmpeg libavfilter.

%package -n libavformat60
Summary:        FFmpeg's stream format library
Group:          System/Libraries
Requires:       libavcodec60 = %version-%release
Requires:       libavutil58 = %version-%release

%description -n libavformat60
The libavformat library provides a generic framework for multiplexing
and demultiplexing (muxing and demuxing) audio, video and subtitle
streams. It encompasses multiple muxers and demuxers for multimedia
container formats.
%if !0%{?BUILD_ORIG}

This build of ffmpeg is limited in the number of codecs supported.
%endif

%package libavformat-devel
Summary:        Development files for FFmpeg's stream format library
Group:          Development/Libraries/C and C++
Provides:       libavformat-devel = %version-%release
Obsoletes:      libavformat-devel < %version-%release
Requires:       %name-libavcodec-devel = %version-%release
Requires:       %name-libavutil-devel = %version-%release
Requires:       %name-libswresample-devel = %version-%release
Requires:       libavformat60 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected

%description libavformat-devel
The libavformat library provides a generic framework for multiplexing
and demultiplexing (muxing and demuxing) audio, video and subtitle
streams. It encompasses multiple muxers and demuxers for multimedia
container formats.

This subpackage contains the headers for FFmpeg libavformat.

%package -n libavutil58
Summary:        FFmpeg's utility library
Group:          System/Libraries

%description -n libavutil58
The libavutil library is a utility library to aid portable multimedia
programming. It contains safe portable string functions, random
number generators, data structures, additional mathematics functions,
cryptography and multimedia related functionality (like enumerations
for pixel and sample formats).

%package libavutil-devel
Summary:        Development files for FFmpeg's utility library
Group:          Development/Libraries/C and C++
Provides:       libavutil-devel = %version-%release
Obsoletes:      libavutil-devel < %version-%release
Requires:       libavutil58 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected

%description libavutil-devel
The libavutil library is a utility library to aid portable multimedia
programming. It contains safe portable string functions, random
number generators, data structures, additional mathematics functions,
cryptography and multimedia related functionality (like enumerations
for pixel and sample formats).

This subpackage contains the headers for FFmpeg libavutil.

%package -n libpostproc57
Summary:        FFmpeg post-processing library
Group:          System/Libraries
Requires:       libavutil58 = %version-%release

%description -n libpostproc57
A library with video postprocessing filters, such as deblocking and
deringing filters, noise reduction, automatic contrast and brightness
correction, linear/cubic interpolating deinterlacing.

%package libpostproc-devel
Summary:        Development files for the FFmpeg post-processing library
Group:          Development/Libraries/C and C++
Provides:       libpostproc-devel = %version-%release
Obsoletes:      libpostproc-devel < %version-%release
Requires:       %name-libavutil-devel = %version-%release
Requires:       libpostproc57 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected

%description libpostproc-devel
A library with video postprocessing filters, such as deblocking and
deringing filters, noise reduction, automatic contrast and brightness
correction, linear/cubic interpolating deinterlacing.

This subpackage contains the headers for FFmpeg libpostproc.

%package -n libswresample4
Summary:        FFmpeg software resampling library
Group:          System/Libraries
Requires:       libavutil58 = %version-%release

%description -n libswresample4
The libswresample library performs audio conversion between different
sample rates, channel layout and channel formats.

%package libswresample-devel
Summary:        Development files for the FFmpeg software resampling library
Group:          Development/Libraries/C and C++
Provides:       libswresample-devel = %version-%release
Obsoletes:      libswresample-devel < %version-%release
Requires:       %name-libavutil-devel = %version-%release
Requires:       libswresample4 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected

%description libswresample-devel
The libswresample library performs audio conversion between different
sample rates, channel layout and channel formats.

This subpackage contains the headers for FFmpeg libswresample.

%package -n libswscale7
Summary:        FFmpeg image scaling and colorspace/pixel conversion library
Group:          System/Libraries
Requires:       libavutil58 = %version-%release

%description -n libswscale7
The libswscale library performs image scaling and colorspace and
pixel format conversion operations.

%package libswscale-devel
Summary:        Development files for FFmpeg's image scaling and colorspace library
Group:          Development/Libraries/C and C++
Conflicts:      libswscale-devel
Provides:       libswscale-devel = %version-%release
Requires:       %name-libavutil-devel = %version-%release
Requires:       libswscale7 = %version-%release
%devel_conflicts -c < -v %_major_version
%devel_conflicts -c >= -v %_major_expected

%description libswscale-devel
The libswscale library performs image scaling and colorspace and
pixel format conversion operations.

This subpackage contains the headers for FFmpeg libswscale.

%prep
%autosetup -p1 -a6 -n %_name-%version

%build
%ifarch %ix86 %arm
%define _lto_cflags %nil
%endif
%if "%_lto_cflags" != ""
%global _lto_cflags %_lto_cflags -ffat-lto-objects
%endif
CFLAGS="%optflags" \
%if 0%{?suse_version} > 1500
%ifarch %ix86
%else
LDFLAGS="%_lto_cflags" \
%endif
%endif
./configure \
	--prefix="%_prefix" \
	--libdir="%_libdir" \
	--shlibdir="%_libdir" \
	--incdir="%_includedir/ffmpeg" \
	--extra-cflags="%optflags" \
	--optflags="%optflags" \
	--disable-htmlpages \
	--enable-pic \
	--disable-stripping \
	--enable-shared \
	--disable-static \
	--enable-gpl \
	--enable-version3 \
    --enable-amf \
    --enable-libx264 \
    --enable-libx265 \
    --enable-nvdec \
    --enable-nvenc \
    --enable-vulkan \
    --enable-ffnvcodec \
    --enable-nonfree \
    --enable-vaapi \
    --enable-vdpau \
    --enable-libfdk-aac \
    --enable-cuda \
    --enable-cuvid \
%if %{with smbclient}
	--enable-libsmbclient \
%endif
	--disable-openssl \
	--enable-gnutls \
	--enable-ladspa \
%if %{with vulkan}
	--enable-libshaderc \
	--enable-vulkan \
	--enable-libplacebo \
%endif
%if %{with amf}
        --enable-amf \
%endif
%if !%{with cuda_sdk}
	--disable-cuda-sdk \
%endif
	--enable-libaom \
	--enable-libass \
	--enable-libbluray \
	--enable-libbs2b \
	--enable-libcdio \
%if %{with codec2}
	--enable-libcodec2 \
%endif
	--enable-libdav1d \
	--enable-libdc1394 \
	--enable-libdrm \
	--enable-libfontconfig \
	--enable-libfreetype \
	--enable-libfribidi \
	--enable-libgsm \
	--enable-libjack \
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700
	--enable-libjxl \
	--enable-librist \
%endif
	--enable-libmp3lame \
%if %{with mysofa}
	--enable-libmysofa \
%endif
	--enable-libopenjpeg \
	--enable-libopenmpt \
	--enable-libopenh264-dlopen \
	--enable-libopus \
	--enable-libpulse \
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400
	--enable-librav1e \
%endif
%if %{with rubberband}
	--enable-librubberband \
%endif
%ifarch x86_64 %x86_64 aarch64
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500
	--enable-libsvtav1 \
%endif
%endif
	--enable-libsoxr \
	--enable-libspeex \
	--enable-libssh \
	--enable-libsrt \
	--enable-libtheora \
	--enable-libtwolame \
%if %{with vidstab}
	--enable-libvidstab \
%endif
	--enable-libvmaf \
	--enable-libvorbis \
	--enable-libvpx \
	--enable-libwebp \
	--enable-libxml2 \
	--enable-libzimg \
	--enable-libzmq \
	--enable-libzvbi \
%if 0%{?suse_version} > 1500
%ifarch %ix86
%else
	--enable-lto \
%endif
%endif
	--enable-lv2 \
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500
%ifarch x86_64 %x86_64
	--enable-libvpl \
%endif
%endif
	--enable-vaapi \
	--enable-vdpau \
	--enable-version3 \
%if %{with fdk_aac_dlopen}
	--enable-libfdk-aac-dlopen \
	--enable-nonfree \
%endif
%if %{with opencore}
	--enable-libopencore-amrnb \
	--enable-libopencore-amrwb \
%endif
%if %{with amrwb}
	--enable-libvo-amrwbenc \
%endif
%if %{with x264}
	--enable-libx264 \
%endif
%if %{with x265}
	--enable-libx265 \
%endif
%if %{with xvid}
	--enable-libxvid \
%else
	--disable-libxvid \
%endif

cat config.h
%make_build

%global extratools aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper probetest qt-faststart seek_print sidxindex trasher

for i in %extratools; do
	%make_build "tools/$i"
done

%install
b="%buildroot"
%make_install install-man
rm -Rf "$b/%_datadir/ffmpeg/examples"
for i in %extratools; do
	cp -a "tools/$i" "$b/%_bindir/"
done

%post   -n libavcodec60 -p /sbin/ldconfig
%postun -n libavcodec60 -p /sbin/ldconfig
%post   -n libavdevice60 -p /sbin/ldconfig
%postun -n libavdevice60 -p /sbin/ldconfig
%post   -n libavfilter9 -p /sbin/ldconfig
%postun -n libavfilter9 -p /sbin/ldconfig
%post   -n libavformat60 -p /sbin/ldconfig
%postun -n libavformat60 -p /sbin/ldconfig
%post   -n libavutil58 -p /sbin/ldconfig
%postun -n libavutil58 -p /sbin/ldconfig
%post   -n libpostproc57 -p /sbin/ldconfig
%postun -n libpostproc57 -p /sbin/ldconfig
%post   -n libswresample4 -p /sbin/ldconfig
%postun -n libswresample4 -p /sbin/ldconfig
%post   -n libswscale7 -p /sbin/ldconfig
%postun -n libswscale7 -p /sbin/ldconfig

%files
%doc Changelog CREDITS README.md
%_bindir/*
%_mandir/man1/ff*.1*
%_datadir/ffmpeg/

%files -n libavcodec60
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavcodec.so.*

%files -n libavdevice60
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavdevice.so.*

%files -n libavfilter9
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavfilter.so.*

%files -n libavformat60
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavformat.so.*

%files -n libavutil58
%license COPYING.GPLv2 LICENSE.md
%_libdir/libavutil.so.*

%files -n libpostproc57
%license COPYING.GPLv2 LICENSE.md
%_libdir/libpostproc.so.*

%files -n libswresample4
%license COPYING.GPLv2 LICENSE.md
%_libdir/libswresample.so.*

%files -n libswscale7
%license COPYING.GPLv2 LICENSE.md
%_libdir/libswscale.so.*

%files libavcodec-devel
%dir %_includedir/ffmpeg/
%_includedir/ffmpeg/libavcodec/
%_libdir/libavcodec.so
%_libdir/pkgconfig/libavcodec.pc
%_mandir/man3/libavcodec.3*

%files libavdevice-devel
%dir %_includedir/ffmpeg/
%_includedir/ffmpeg/libavdevice/
%_libdir/libavdevice.so
%_libdir/pkgconfig/libavdevice.pc
%_mandir/man3/libavdevice.3*

%files libavfilter-devel
%dir %_includedir/ffmpeg/
%_includedir/ffmpeg/libavfilter/
%_libdir/libavfilter.so
%_libdir/pkgconfig/libavfilter.pc
%_mandir/man3/libavfilter.3*

%files libavformat-devel
%dir %_includedir/ffmpeg/
%_includedir/ffmpeg/libavformat/
%_libdir/libavformat.so
%_libdir/pkgconfig/libavformat.pc
%_mandir/man3/libavformat.3*

%files libavutil-devel
%dir %_includedir/ffmpeg/
%_includedir/ffmpeg/libavutil/
%_libdir/libavutil.so
%_libdir/pkgconfig/libavutil.pc
%_mandir/man3/libavutil.3*

%files libpostproc-devel
%dir %_includedir/ffmpeg/
%_includedir/ffmpeg/libpostproc/
%_libdir/libpostproc.so
%_libdir/pkgconfig/libpostproc.pc

%files libswresample-devel
%dir %_includedir/ffmpeg/
%_includedir/ffmpeg/libswresample/
%_libdir/libswresample.so
%_libdir/pkgconfig/libswresample.pc
%_mandir/man3/libswresample.3*

%files libswscale-devel
%dir %_includedir/ffmpeg/
%_includedir/ffmpeg/libswscale/
%_libdir/libswscale.so
%_libdir/pkgconfig/libswscale.pc
%_mandir/man3/libswscale.3*

%else
%define _name ffmpeg
Name:           ffmpeg-6-mini
Version:        %{vers}
Release:        lp156.10.3
Summary:        Set of libraries for working with various multimedia formats
License:        GPL-3.0-or-later
URL:            https://ffmpeg.org/
#Git-Clone:     git://source.ffmpeg.org/ffmpeg
Source:         https://www.ffmpeg.org/releases/%_name-%version.tar.xz
Source2:        https://www.ffmpeg.org/releases/%_name-%version.tar.xz.asc
Source3:        ffmpeg-6-rpmlintrc
Source98:       http://ffmpeg.org/ffmpeg-devel.asc#/ffmpeg-6.keyring

Patch1:         ffmpeg-arm6l.diff
Patch3:         ffmpeg-codec-choice.diff
Patch4:         ffmpeg-4.2-dlopen-fdk_aac.patch
Patch5:         work-around-abi-break.patch
Patch7:         0001-avfilter-asrc_afirsrc-fix-by-one-smaller-allocation-.patch
Patch8:         0001-avfilter-bwdif-account-for-chroma-sub-sampling-in-mi.patch
Patch9:         0001-avfilter-af_dialoguenhance-fix-overreads.patch
Patch10:        0001-avfilter-af_dialoguenhance-simplify-channels-copy.patch
Patch11:        0001-avfilter-af_dialoguenhance-do-output-scaling-once.patch
Patch12:        0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch
Patch13:        0001-avfilter-vf_codecview-fix-heap-buffer-overflow.patch
Patch14:        0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch
Patch15:        11013-avcodec-decode-clean-up-if-get_hw_frames_parameters-.patch
Patch16:        0001-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch
Patch90:        ffmpeg-chromium.patch
Patch91:        ffmpeg-dlopen-openh264.patch
Patch92:        ffmpeg-CVE-2023-50007.patch
Patch93:        ffmpeg-CVE-2023-50008.patch
Patch94:        ffmpeg-6-CVE-2024-32228-shim-1535d338.patch
Patch95:        ffmpeg-6-CVE-2024-32228-shim-f50382cb.patch
Patch97:        ffmpeg-c99.patch
Patch99:        ffmpeg-6-CVE-2024-35368.patch
Patch100:       ffmpeg-6-CVE-2024-35365.patch
Patch101:       ffmpeg-6-CVE-2024-12361.patch
Patch102:       ffmpeg-6-CVE-2025-22919.patch
Patch103:       ffmpeg-6-CVE-2025-0518.patch
Patch104:       ffmpeg-6-CVE-2025-25473.patch
Patch105:       ffmpeg-6-CVE-2025-22921.patch

BuildRequires:  c_compiler
Requires:       this-is-only-for-build-envs

%description
FFmpeg is a multimedia framework.
This package merely builds the API for the sake of other packages.

%package libs
# Even with mini, we want ff5 libs to be coinstallable to ff4-devel(!),
# hence mini-libs and mini-devel are still separated.
Summary:        Feature-reduced build of FFmpeg, a multimedia framework
Conflicts:      libavcodec60
Conflicts:      libavdevice60
Conflicts:      libavfilter9
Conflicts:      libavformat60
Conflicts:      libavutil58
Conflicts:      libpostproc57
Conflicts:      libswresample4
Conflicts:      libswscale7
Requires:       this-is-only-for-build-envs

%description libs
FFmpeg is a multimedia framework.
This package contains a cut-down version for building other packages.

%package devel
Summary:        Header files for feature-reduced FFmpeg build
Provides:       libavcodec-devel = %version-%release
Conflicts:      libavcodec-devel
Provides:       libavdevice-devel = %version-%release
Conflicts:      libavdevice-devel
Provides:       libavfilter-devel = %version-%release
Conflicts:      libavfilter-devel
Provides:       libavformat-devel = %version-%release
Conflicts:      libavformat-devel
Provides:       libavutil-devel = %version-%release
Conflicts:      libavutil-devel
Provides:       libpostproc-devel = %version-%release
Conflicts:      libpostproc-devel
Provides:       libswresample-devel = %version-%release
Conflicts:      libswresample-devel
Provides:       libswscale-devel = %version-%release
Conflicts:      libswscale-devel
Requires:       %name-libs = %version-%release
Requires:       this-is-only-for-build-envs

%description devel
FFmpeg is a multimedia framework.
This package contains the headers accompanying %name.

%prep
%autosetup -p1 -n %_name-%version

%build
%define _lto_cflags %nil
CFLAGS="%optflags" \
./configure \
	--prefix="%_prefix" \
	--libdir="%_libdir" \
	--shlibdir="%_libdir" \
	--incdir="%_includedir/ffmpeg" \
	--extra-cflags="%optflags" \
	--optflags="%optflags" \
	--disable-htmlpages --disable-stripping --disable-x86asm \
	--disable-static --enable-shared --enable-pic \
	--enable-gpl --enable-version3 \
	--disable-muxers --disable-demuxers \
	--disable-encoders --disable-decoders \
	--disable-programs --disable-doc
for i in H264 HEVC VC1; do
	grep -q "#define CONFIG_${i}_DECODER 0" config_components.h
done
cat config.h
%make_build

%install
b="%buildroot"
%make_install
rm -Rf "$b/%_datadir/ffmpeg/examples"

%post   libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig

%files libs
%_libdir/libavcodec.so.*
%_libdir/libavdevice.so.*
%_libdir/libavfilter.so.*
%_libdir/libavformat.so.*
%_libdir/libavutil.so.*
%_libdir/libpostproc.so.*
%_libdir/libswresample.so.*
%_libdir/libswscale.so.*

%files devel
%license COPYING.GPLv2 LICENSE.md
%_libdir/*.so
%_libdir/pkgconfig/*.pc
%_includedir/ffmpeg/

%endif

%changelog
* Wed Apr 16 2025 Cliff Zhao <qzhao@suse.com>
- Add 7a089ed.patch:
  Backport 7a089ed8 from upstream, avformat/avidec: Fix integer
  overflow iff ULONG_MAX < INT64_MAX.
  https://github.com/ffmpeg/ffmpeg/commit/7a089ed.patch
  (CVE-2024-36618, bsc#1234020)
* Fri Mar 21 2025 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2025-22921.patch:
  Backport 7f9c7f98 from upstream, clear array length when
  freeing it.
  (CVE-2025-22921, bsc#1237382)
* Fri Mar 21 2025 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2025-25473.patch:
  Backport c08d3004 from upstream, clear FFFormatContext packet.
  When packet_buffer is used in mux.c, and if a muxing process fails
  at a point where packets remained in said queue.
  (CVE-2025-25473, bsc#1237351)
* Fri Mar 21 2025 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2025-0518.patch:
  Backport b5b6391d from upstream, fixes memory data leak when
  use sscanf().
  (CVE-2025-0518, bsc#1236007)
* Fri Mar 21 2025 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2025-22919.patch:
  Backport 1446e37d from upstream, check for valid sample rate
  As the sample rate <= 0 is invalid.
  (CVE-2025-22919, bsc#1237371)
* Fri Mar 21 2025 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-12361.patch:
  Backport 4065ff69 from upstream, add check for av_packet_new_side_data()
  to avoid null pointer dereference if allocation fails.
  (CVE-2024-12361, bsc#1237358)
* Fri Mar 21 2025 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-35365.patch:
  Backport ced5c5fdb from upstream, Fix double-free on error.
  (CVE-2024-35365, bsc#1235091)
* Fri Mar 21 2025 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-35368.patch:
  Backport 45133009 from upstream, After having created the
  AVBuffer that is put into frame->buf[0], ownership of several
  objects Fix double-free on the AVFrame is unreferenced.
  (CVE-2024-35368, bsc#1234028)
* Wed Mar  5 2025 Jan Engelhardt <jengelh@inai.de>
- Add 0001-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch
  to build with SVT-AV1 3.0.0.
* Wed Jan  1 2025 Dave Plater <davejplater@gmail.com>
- Update to version 6.1.2 and fix Factory build.
  avcodec/pnmdec: Use 64bit for input size check (CVE-2024-7055, bsc#1229026)
  avcodec/mpegvideo_enc: Fix 1 line and one column images (CVE-2024-32230, bsc#1227296)
  avcodec/tests: rename the bundled Mesa AV1 vulkan video headers.
  avformat/dxa: Adjust order of operations around block align (CVE-2024-36613, bsc#1235092)
  avformat/cafdec: dont seek beyond 64bit (CVE-2024-36617, bsc#1234019)
  avformat/westwood_vqa: Fix 2g packets (CVE-2024-36616, bsc#1234018)
  avcodec/wavarc: fix signed integer overflow in block type 6/19 (CVE-2024-36619, bsc#1234023)
  etc
- Remove patches already merged to upstream:
  0001-avcodec-tests-rename-the-bundled-Mesa-AV1-vulkan-vid.patch
  ffmpeg-6-CVE-2024-7055.patch
  ffmpeg-6-CVE-2024-32230.patch
* Mon Sep 30 2024 olaf@aepfle.de
- Fix assertion due to missing priv_data cleanup on failed VAAPI
  acceleration with 11013-avcodec-decode-clean-up-if-get_hw_frames_parameters-.patch
  (ffmpeg#11013, vlc#28811)
* Sun Sep 29 2024 Cliff Zhao <qzhao@suse.com>
- Update ffmpeg-6.spec:
  Disable xvid plugin build and dependence, since legal reviewers
  are concerned xvid patents have not expired in Brazil, which should
  not be used in a commercial context.
  https://en.wikipedia.org/wiki/Xvid
* Thu Sep 26 2024 Stefan Dirsch <sndirsch@suse.com>
- no longer build against libmfx; build also 15.5 against libvpl
  (boo#1230983, boo#1219494)
- dropping support for libmfx below covers:
  * libmfx: improper input validation (CVE-2023-48368, bsc#1226897)
  * libmfx: improper buffer restrictions (CVE-2023-45221, bsc#1226898)
  * libmfx: out-of-bounds read (CVE-2023-22656, bsc#1226899)
  * libmfx: out-of-bounds write (CVE-2023-47282, bsc#1226900)
  * libmfx: improper buffer restrictions (CVE-2023-47169, bsc#1226901)
  * Multiple vulnerabilities in the Intel Media SDK (libmfx1) (bsc#1226892)
  * Drop libmfx dependency from our product (jira #PED-10024)
* Fri Sep  6 2024 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-7055.patch:
  Backport 3faadbe2 from upstream, Use 64bit for input size check,
  Fixes: out of array read, Fixes: poc3.
  (CVE-2024-7055, bsc#1229026)
* Sun Sep  1 2024 Jan Engelhardt <jengelh@inai.de>
- Add 0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch
  [boo#1229338]
* Wed Aug 14 2024 Manfred Hollstein <manfred.h@gmx.net>
- Remove ffmpeg-6-CVE-2024-32228-shim-5d7f234e.patch and
  ffmpeg-6-CVE-2024-32228.patch to make the bot happy.
- Renumber patches.
* Tue Aug 13 2024 Manfred Hollstein <manfred.h@gmx.net>
- Disable ffmpeg-6-CVE-2024-32228-shim-5d7f234e.patch and
  ffmpeg-6-CVE-2024-32228.patch as they brake compilation with
  BUILD_ORIG enabled, i.e. Packman.
* Fri Jul 26 2024 Filip Kastl <filip.kastl@suse.com>
- Add ffmpeg-c99.patch so that the package conforms to the C99
  standard and builds on i586 with GCC 14.
* Tue Jul  2 2024 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-32230.patch:
  Backport 96449cfe from upstream, Fix 1 line and one column images.
  (CVE-2024-32230, bsc#1227296)
* Tue Jul  2 2024 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-32228.patch:
  Backport 45964876 from upstream, Fix segfault on invalid film
  grain metadata.
  (CVE-2024-32228, bsc#1227277)
* Tue Jul  2 2024 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-32228-shim-5d7f234e.patch:
  Backport 5d7f234e from upstream, document that there can be multiple
  complex filtergraphs to prepare dependence code for CVE-2024-32228.
  (CVE-2024-32228, bsc#1227277)
* Tue Jul  2 2024 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-32228-shim-f50382cb.patch:
  Backport f50382cb from upstream, implement AFGS1 parsing.
  to prepare dependence code for CVE-2024-32228.
  (CVE-2024-32228, bsc#1227277)
* Tue Jul  2 2024 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-6-CVE-2024-32228-shim-1535d338.patch:
  Backport 1535d338 from upstream, add AOM film grain synthesis,
  to prepare dependence code for CVE-2024-32228.
  (CVE-2024-32228, bsc#1227277)
* Tue Apr 23 2024 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-CVE-2023-50008.patch:
  Backport 5f87a68c from upstream, Fix memory leaks.
  (CVE-2023-50008, bsc#1223254)
* Tue Apr 23 2024 Cliff Zhao <qzhao@suse.com>
- Add ffmpeg-CVE-2023-50007.patch:
  Backport b1942734 from upstream, Fix crash with EOF handling.
  (CVE-2023-50007, bsc#1223253)
* Mon Apr 22 2024 Jan Engelhardt <jengelh@inai.de>
- Address boo#1223215/CVE-2023-49501: add patch
  0001-avfilter-asrc_afirsrc-fix-by-one-smaller-allocation-.patch
- Address boo#1223235/CVE-2023-49502: add patch
  0001-avfilter-bwdif-account-for-chroma-sub-sampling-in-mi.patch
- Address boo#1222730/CVE-2023-49528: add patches
  0001-avfilter-af_dialoguenhance-fix-overreads.patch,
  0001-avfilter-af_dialoguenhance-simplify-channels-copy.patch,
  0001-avfilter-af_dialoguenhance-do-output-scaling-once.patch
- Address boo#1223070/CVE-2024-31578: add patch
  0001-avutil-hwcontext-Don-t-assume-frames_uninit-is-reent.patch
- Address boo#1223085/CVE-2024-31582: add patch
  0001-avfilter-vf_codecview-fix-heap-buffer-overflow.patch
* Fri Mar 22 2024 Jan Engelhardt <jengelh@inai.de>
- Add 0001-avcodec-tests-rename-the-bundled-Mesa-AV1-vulkan-vid.patch
* Thu Mar 14 2024 Jan Engelhardt <jengelh@inai.de>
- Let the ffmpeg-6 main program be combinable with ffmpeg-6-mini-libs
* Mon Jan 15 2024 Enrico Belleri <kilgore.trout@idesmi.eu>
- 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
  * avfilter/vf_minterpolate: Check pts before division (CVE-2023-51798, bsc#1223304)
  * avfilter/vf_weave: Fix odd height handling (CVE-2023-51793, bsc#1223272)
  * avfilter/vf_gradfun: Do not overread last line (CVE-2023-50010, bsc#1223256)
- 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
* Wed Nov 22 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Enable more decoders and encoders explicitly:
  * amrwb via bcond_without for TW only (and in
    enable_decoder/encoder)
  * opencore via bcond_without for TW only (and in
    enable_decoder/encoder)
  * xvid via bcond_without for TW only (and in
    enable_decoder/encoder)
  * h.263 via enable_decoder/encoder and no longer explicitly
    disabling in call to configure
  * MPEG4 Visual via enable_decoder/encoder and no longer
    explicitly disabling in call to configure
  * MPEG2 Hardware decoders via enable_decoder/encoder
  * And many many more via enable_decoder/encoder.
* Fri Nov 10 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 6.0.1:
  * Updates and bugfixes to avcodecs, avformat and avfilters
    mainly.
- Drop patch fixed upstream:
  * 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch
* Wed Oct  4 2023 Manfred Hollstein <manfred.h@gmx.net>
- Add 0001-avcodec-x86-mathops-clip-constants-used-with-shift-i.patch
  to resolve a build failure on 15.4/15.5.
* Mon Jul 31 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.diff
* Mon Apr 10 2023 Jan Engelhardt <jengelh@inai.de>
- Reset fixed leftover value for BUILD_ORIG
* Thu Mar 16 2023 Jan Engelhardt <jengelh@inai.de>
- Conflict with otherproviders(ffmpeg-tools).
* Thu Mar  9 2023 Enrico Belleri <idesmi@protonmail.com>
- enable libplacebo filter
- clean old BuildRequires conditions
- add libjxl to enable_encoders
* Tue Feb 28 2023 Jan Engelhardt <jengelh@inai.de>
- Branch from ffmpeg-5.spec
- Remove ffmpeg-4.4-CVE-2020-22046.patch (inapplicable),
  no-vk-video-decoding.patch (obsolete),
  ffmpeg-CVE-2022-3964.patch (appears merged)
- Update to release 6.0
  * FFmpeg now runs every muxer in a separate thread and requires
    threading to be enabled for compilation
  * VA-API encoding and decoding support for 10/12-bit 422,
    10/12-bit 444 VP9 support
  * RISC-V optimizations
openSUSE Build Service is sponsored by