gnu: ffmpeg: Update to 8.0.

* gnu/packages/video.scm (ffmpeg-7): Replace with...
(ffmpeg): ... this updated version.
(ffmpeg): Adjust to use ffmpeg.
(ffmpeg-jami): Stay on ffmpeg-6.
* gnu/packages/tor-browsers.scm (make-torbrowser): Likewise.
* gnu/packages/python-xyz.scm (python-av): Likewise.
* gnu/packages/qt.scm (qtmultimedia): Likewise.

Change-Id: I2d7b1861a647f583da93fe230fd0734742671d4d
This commit is contained in:
Maxim Cournoyer 2025-09-04 11:46:56 +09:00 committed by Andreas Enge
parent bb95f1aa12
commit ad6a02739b
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3
4 changed files with 261 additions and 261 deletions

View file

@ -13102,8 +13102,7 @@ experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
python-pytest
python-setuptools
python-wheel))
(inputs
(list ffmpeg-7))
(inputs (list ffmpeg))
(home-page "https://github.com/PyAV-Org/PyAV")
(synopsis "Pythonic bindings for FFmpeg's libraries")
(description

View file

@ -2117,7 +2117,7 @@ Vulkan, OpenGL and other main graphic APIs.")
vulkan-headers))
(inputs
(list alsa-lib
ffmpeg
ffmpeg-6
glib
libxkbcommon
libxrandr

View file

@ -240,7 +240,7 @@ Browser.")
libxcomposite
libxt
libffi
ffmpeg-7
ffmpeg
libvpx
icu4c
pixman

View file

@ -1645,17 +1645,17 @@ These tools require a supported graphics chip, driver, and VA-API back end to
operate properly.")
(license license:expat)))
(define-public ffmpeg-7
(define-public ffmpeg
(package
(name "ffmpeg")
(version "7.1.1")
(version "8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"1c837agaw8ljhjx6ndp2w7hffi2mkb22vnmb8v0fbfqdbqwq8fbk"))))
"13kvs9rh5mp21gx64hdj0jlnz6q5c6spik8kh5q7fk6cnv61yxdj"))))
(outputs '("out" "debug"))
(build-system gnu-build-system)
(inputs
@ -1871,9 +1871,9 @@ convert and stream audio and video. It includes the libavcodec
audio/video codec library.")
(license license:gpl2+)))
(define-public ffmpeg
(define-public ffmpeg-6
(package
(inherit ffmpeg-7)
(inherit ffmpeg)
(version "6.1.2")
(source (origin
(method url-fetch)
@ -1887,7 +1887,7 @@ audio/video codec library.")
"ffmpeg-add-av_stream_get_first_dts-for-chromium.patch"))))
(arguments
(if (target-x86-32?)
(substitute-keyword-arguments (package-arguments ffmpeg-7)
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:phases phases)
#~(modify-phases #$phases
(add-before 'configure 'relax-gcc-14-strictness
@ -1897,7 +1897,7 @@ audio/video codec library.")
(string-append "-g -O2"
" -Wno-error=incompatible-pointer-types"
" -Wno-error=int-conversion")))))))
(package-arguments ffmpeg-7)))))
(package-arguments ffmpeg)))))
(define-public ffmpeg-5
(package
@ -1984,270 +1984,271 @@ audio/video codec library.")
;;; Custom ffmpeg package used by Jami, which incorporates custom patches.
(define-public ffmpeg-jami
(package
(inherit ffmpeg)
(name "ffmpeg-jami")
(source (let ((ffmpeg-origin (package-source ffmpeg)))
(origin
(inherit ffmpeg-origin)
;; These patches originate come from
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
;; Make sure to keep them update and/or register any new ones
;; here.
(patches
(append
(origin-patches ffmpeg-origin)
(search-patches
"ffmpeg-jami-remove-mjpeg-log.patch"
"ffmpeg-jami-change-RTCP-ratio.patch"
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
"ffmpeg-jami-libopusdec-enable-FEC.patch"
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
"ffmpeg-jami-screen-sharing-x11-fix.patch"
"ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags _ '())
;; The base configure flags preserved from ffmpeg appear first.
#~(list "--disable-static"
"--enable-shared"
"--disable-stripping"
(let ((ffmpeg ffmpeg-6))
(package
(inherit ffmpeg)
(name "ffmpeg-jami")
(source (let ((ffmpeg-origin (package-source ffmpeg)))
(origin
(inherit ffmpeg-origin)
;; These patches originate come from
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
;; Make sure to keep them update and/or register any new ones
;; here.
(patches
(append
(origin-patches ffmpeg-origin)
(search-patches
"ffmpeg-jami-remove-mjpeg-log.patch"
"ffmpeg-jami-change-RTCP-ratio.patch"
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
"ffmpeg-jami-libopusdec-enable-FEC.patch"
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
"ffmpeg-jami-screen-sharing-x11-fix.patch"
"ffmpeg-jami-pipewiregrab-source-filter.patch"))))))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags _ '())
;; The base configure flags preserved from ffmpeg appear first.
#~(list "--disable-static"
"--enable-shared"
"--disable-stripping"
;; Extra Guix-added flags that make sense for this custom
;; package; these could be contributed upstream.
"--disable-doc"
;; Extra Guix-added flags that make sense for this custom
;; package; these could be contributed upstream.
"--disable-doc"
;; The following flags are those specified by Jami.
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
;; file. We try to keep it as close to the official Jami
;; package as possible, to provide all the codecs and extra
;; features that are expected (see:
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
"--disable-everything"
"--enable-zlib"
"--enable-gpl"
"--enable-swscale"
"--enable-bsfs"
"--disable-filters"
"--disable-programs"
"--disable-postproc"
;; The following flags are those specified by Jami.
;; They're from the jami/daemon/contrib/src/ffmpeg/rules.mak
;; file. We try to keep it as close to the official Jami
;; package as possible, to provide all the codecs and extra
;; features that are expected (see:
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
"--disable-everything"
"--enable-zlib"
"--enable-gpl"
"--enable-swscale"
"--enable-bsfs"
"--disable-filters"
"--disable-programs"
"--disable-postproc"
"--enable-libpipewire"
"--enable-filter=pipewiregrab"
"--enable-indev=lavfi"
"--enable-decoder=wrapped_avframe"
"--enable-libpipewire"
"--enable-filter=pipewiregrab"
"--enable-indev=lavfi"
"--enable-decoder=wrapped_avframe"
"--disable-protocols"
"--enable-protocol=crypto"
"--enable-protocol=file"
"--enable-protocol=rtp"
"--enable-protocol=srtp"
"--enable-protocol=tcp"
"--enable-protocol=udp"
"--enable-protocol=unix"
"--enable-protocol=pipe"
"--disable-protocols"
"--enable-protocol=crypto"
"--enable-protocol=file"
"--enable-protocol=rtp"
"--enable-protocol=srtp"
"--enable-protocol=tcp"
"--enable-protocol=udp"
"--enable-protocol=unix"
"--enable-protocol=pipe"
;; Enable muxers/demuxers.
"--disable-demuxers"
"--disable-muxers"
"--enable-muxer=rtp"
"--enable-muxer=g722"
"--enable-muxer=g723_1"
"--enable-muxer=g726"
"--enable-muxer=g726le"
"--enable-muxer=h263"
"--enable-muxer=h264"
"--enable-muxer=hevc"
"--enable-muxer=matroska"
"--enable-muxer=webm"
"--enable-muxer=ogg"
"--enable-muxer=pcm_s16be"
"--enable-muxer=pcm_s16le"
"--enable-muxer=wav"
"--enable-demuxer=rtp"
"--enable-demuxer=mjpeg"
"--enable-demuxer=mjpeg_2000"
"--enable-demuxer=mpegvideo"
"--enable-demuxer=gif"
"--enable-demuxer=image_jpeg_pipe"
"--enable-demuxer=image_png_pipe"
"--enable-demuxer=image_webp_pipe"
"--enable-demuxer=matroska"
"--enable-demuxer=m4v"
"--enable-demuxer=mp3"
"--enable-demuxer=ogg"
"--enable-demuxer=flac"
"--enable-demuxer=wav"
"--enable-demuxer=ac3"
"--enable-demuxer=g722"
"--enable-demuxer=g723_1"
"--enable-demuxer=g726"
"--enable-demuxer=g726le"
"--enable-demuxer=pcm_mulaw"
"--enable-demuxer=pcm_alaw"
"--enable-demuxer=pcm_s16be"
"--enable-demuxer=pcm_s16le"
"--enable-demuxer=h263"
"--enable-demuxer=h264"
"--enable-demuxer=hevc"
;; Enable muxers/demuxers.
"--disable-demuxers"
"--disable-muxers"
"--enable-muxer=rtp"
"--enable-muxer=g722"
"--enable-muxer=g723_1"
"--enable-muxer=g726"
"--enable-muxer=g726le"
"--enable-muxer=h263"
"--enable-muxer=h264"
"--enable-muxer=hevc"
"--enable-muxer=matroska"
"--enable-muxer=webm"
"--enable-muxer=ogg"
"--enable-muxer=pcm_s16be"
"--enable-muxer=pcm_s16le"
"--enable-muxer=wav"
"--enable-demuxer=rtp"
"--enable-demuxer=mjpeg"
"--enable-demuxer=mjpeg_2000"
"--enable-demuxer=mpegvideo"
"--enable-demuxer=gif"
"--enable-demuxer=image_jpeg_pipe"
"--enable-demuxer=image_png_pipe"
"--enable-demuxer=image_webp_pipe"
"--enable-demuxer=matroska"
"--enable-demuxer=m4v"
"--enable-demuxer=mp3"
"--enable-demuxer=ogg"
"--enable-demuxer=flac"
"--enable-demuxer=wav"
"--enable-demuxer=ac3"
"--enable-demuxer=g722"
"--enable-demuxer=g723_1"
"--enable-demuxer=g726"
"--enable-demuxer=g726le"
"--enable-demuxer=pcm_mulaw"
"--enable-demuxer=pcm_alaw"
"--enable-demuxer=pcm_s16be"
"--enable-demuxer=pcm_s16le"
"--enable-demuxer=h263"
"--enable-demuxer=h264"
"--enable-demuxer=hevc"
;; Enable parsers.
"--enable-parser=h263"
"--enable-parser=h264"
"--enable-parser=hevc"
"--enable-parser=mpeg4video"
"--enable-parser=vp8"
"--enable-parser=vp9"
"--enable-parser=opus"
;; Enable parsers.
"--enable-parser=h263"
"--enable-parser=h264"
"--enable-parser=hevc"
"--enable-parser=mpeg4video"
"--enable-parser=vp8"
"--enable-parser=vp9"
"--enable-parser=opus"
;; Encoders/decoders.
"--enable-encoder=adpcm_g722"
"--enable-decoder=adpcm_g722"
"--enable-encoder=adpcm_g726"
"--enable-decoder=adpcm_g726"
"--enable-encoder=adpcm_g726le"
"--enable-decoder=adpcm_g726le"
"--enable-decoder=g729"
"--enable-encoder=g723_1"
"--enable-decoder=g723_1"
"--enable-encoder=rawvideo"
"--enable-decoder=rawvideo"
"--enable-encoder=libx264"
"--enable-decoder=h264"
"--enable-encoder=pcm_alaw"
"--enable-decoder=pcm_alaw"
"--enable-encoder=pcm_mulaw"
"--enable-decoder=pcm_mulaw"
"--enable-encoder=mpeg4"
"--enable-decoder=mpeg4"
"--enable-encoder=libvpx_vp8"
"--enable-decoder=vp8"
"--enable-decoder=vp9"
"--enable-encoder=h263"
"--enable-encoder=h263p"
"--enable-decoder=h263"
"--enable-encoder=mjpeg"
"--enable-decoder=mjpeg"
"--enable-decoder=mjpegb"
"--enable-libspeex"
"--enable-libopus"
"--enable-libvpx"
"--enable-libx264"
"--enable-encoder=libspeex"
"--enable-decoder=libspeex"
"--enable-encoder=libopus"
"--enable-decoder=libopus"
;; Encoders/decoders.
"--enable-encoder=adpcm_g722"
"--enable-decoder=adpcm_g722"
"--enable-encoder=adpcm_g726"
"--enable-decoder=adpcm_g726"
"--enable-encoder=adpcm_g726le"
"--enable-decoder=adpcm_g726le"
"--enable-decoder=g729"
"--enable-encoder=g723_1"
"--enable-decoder=g723_1"
"--enable-encoder=rawvideo"
"--enable-decoder=rawvideo"
"--enable-encoder=libx264"
"--enable-decoder=h264"
"--enable-encoder=pcm_alaw"
"--enable-decoder=pcm_alaw"
"--enable-encoder=pcm_mulaw"
"--enable-decoder=pcm_mulaw"
"--enable-encoder=mpeg4"
"--enable-decoder=mpeg4"
"--enable-encoder=libvpx_vp8"
"--enable-decoder=vp8"
"--enable-decoder=vp9"
"--enable-encoder=h263"
"--enable-encoder=h263p"
"--enable-decoder=h263"
"--enable-encoder=mjpeg"
"--enable-decoder=mjpeg"
"--enable-decoder=mjpegb"
"--enable-libspeex"
"--enable-libopus"
"--enable-libvpx"
"--enable-libx264"
"--enable-encoder=libspeex"
"--enable-decoder=libspeex"
"--enable-encoder=libopus"
"--enable-decoder=libopus"
;; Encoders/decoders for ringtones and audio streaming.
"--enable-decoder=flac"
"--enable-decoder=vorbis"
"--enable-decoder=aac"
"--enable-decoder=ac3"
"--enable-decoder=eac3"
"--enable-decoder=mp3"
"--enable-decoder=pcm_u24le"
"--enable-decoder=pcm_u32le"
"--enable-decoder=pcm_u8"
"--enable-decoder=pcm_f16le"
"--enable-decoder=pcm_f32le"
"--enable-decoder=pcm_f64le"
"--enable-decoder=pcm_s16le"
"--enable-decoder=pcm_s24le"
"--enable-decoder=pcm_s32le"
"--enable-decoder=pcm_s64le"
"--enable-decoder=pcm_u16le"
"--enable-encoder=pcm_u8"
"--enable-encoder=pcm_f32le"
"--enable-encoder=pcm_f64le"
"--enable-encoder=pcm_s16le"
"--enable-encoder=pcm_s32le"
"--enable-encoder=pcm_s64le"
;; Encoders/decoders for ringtones and audio streaming.
"--enable-decoder=flac"
"--enable-decoder=vorbis"
"--enable-decoder=aac"
"--enable-decoder=ac3"
"--enable-decoder=eac3"
"--enable-decoder=mp3"
"--enable-decoder=pcm_u24le"
"--enable-decoder=pcm_u32le"
"--enable-decoder=pcm_u8"
"--enable-decoder=pcm_f16le"
"--enable-decoder=pcm_f32le"
"--enable-decoder=pcm_f64le"
"--enable-decoder=pcm_s16le"
"--enable-decoder=pcm_s24le"
"--enable-decoder=pcm_s32le"
"--enable-decoder=pcm_s64le"
"--enable-decoder=pcm_u16le"
"--enable-encoder=pcm_u8"
"--enable-encoder=pcm_f32le"
"--enable-encoder=pcm_f64le"
"--enable-encoder=pcm_s16le"
"--enable-encoder=pcm_s32le"
"--enable-encoder=pcm_s64le"
;; Encoders/decoders for images.
"--enable-encoder=gif"
"--enable-decoder=gif"
"--enable-encoder=jpegls"
"--enable-decoder=jpegls"
"--enable-encoder=ljpeg"
"--enable-decoder=jpeg2000"
"--enable-encoder=png"
"--enable-decoder=png"
"--enable-encoder=bmp"
"--enable-decoder=bmp"
"--enable-encoder=tiff"
"--enable-decoder=tiff"
;; Encoders/decoders for images.
"--enable-encoder=gif"
"--enable-decoder=gif"
"--enable-encoder=jpegls"
"--enable-decoder=jpegls"
"--enable-encoder=ljpeg"
"--enable-decoder=jpeg2000"
"--enable-encoder=png"
"--enable-decoder=png"
"--enable-encoder=bmp"
"--enable-decoder=bmp"
"--enable-encoder=tiff"
"--enable-decoder=tiff"
;; Filters.
"--enable-filter=scale"
"--enable-filter=overlay"
"--enable-filter=amix"
"--enable-filter=amerge"
"--enable-filter=aresample"
"--enable-filter=format"
"--enable-filter=aformat"
"--enable-filter=fps"
"--enable-filter=transpose"
"--enable-filter=pad"
;; Filters.
"--enable-filter=scale"
"--enable-filter=overlay"
"--enable-filter=amix"
"--enable-filter=amerge"
"--enable-filter=aresample"
"--enable-filter=format"
"--enable-filter=aformat"
"--enable-filter=fps"
"--enable-filter=transpose"
"--enable-filter=pad"
;; Decoders for ringtones and audio streaming.
"--enable-decoder=pcm_s16be"
"--enable-decoder=pcm_s16be_planar"
"--enable-decoder=pcm_s16le_planar"
"--enable-decoder=pcm_s24be"
"--enable-decoder=pcm_s24le_planar"
"--enable-decoder=pcm_s32be"
"--enable-decoder=pcm_s32le_planar"
"--enable-decoder=pcm_s64be"
"--enable-decoder=pcm_s8"
"--enable-decoder=pcm_s8_planar"
"--enable-decoder=pcm_u16be"
;; Decoders for ringtones and audio streaming.
"--enable-decoder=pcm_s16be"
"--enable-decoder=pcm_s16be_planar"
"--enable-decoder=pcm_s16le_planar"
"--enable-decoder=pcm_s24be"
"--enable-decoder=pcm_s24le_planar"
"--enable-decoder=pcm_s32be"
"--enable-decoder=pcm_s32le_planar"
"--enable-decoder=pcm_s64be"
"--enable-decoder=pcm_s8"
"--enable-decoder=pcm_s8_planar"
"--enable-decoder=pcm_u16be"
;; More filters.
"--enable-filter=afir"
"--enable-filter=split"
"--enable-filter=drawbox"
"--enable-filter=drawtext"
"--enable-filter=rotate"
"--enable-filter=loop"
"--enable-filter=setpts"
"--enable-filter=movie"
"--enable-filter=alphamerge"
"--enable-filter=boxblur"
"--enable-filter=lut"
"--enable-filter=negate"
"--enable-filter=colorkey"
"--enable-filter=transpose"
;; More filters.
"--enable-filter=afir"
"--enable-filter=split"
"--enable-filter=drawbox"
"--enable-filter=drawtext"
"--enable-filter=rotate"
"--enable-filter=loop"
"--enable-filter=setpts"
"--enable-filter=movie"
"--enable-filter=alphamerge"
"--enable-filter=boxblur"
"--enable-filter=lut"
"--enable-filter=negate"
"--enable-filter=colorkey"
"--enable-filter=transpose"
"--enable-libfreetype"
"--enable-libfreetype"
#$@(if (string-contains (%current-system) "linux")
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
;; flags, as there's no support for ffnvcodec in Guix;
;; it would not work with Mesa anyway.
'("--enable-pic"
"--extra-cxxflags=-fPIC"
"--extra-cflags=-fPIC"
"--target-os=linux"
"--enable-indev=v4l2"
"--enable-indev=xcbgrab"
"--enable-vdpau"
"--enable-hwaccel=h264_vdpau"
"--enable-hwaccel=mpeg4_vdpau"
"--enable-vaapi"
"--enable-hwaccel=h264_vaapi"
"--enable-hwaccel=mpeg4_vaapi"
"--enable-hwaccel=h263_vaapi"
"--enable-hwaccel=vp8_vaapi"
"--enable-hwaccel=mjpeg_vaapi"
"--enable-hwaccel=hevc_vaapi"
"--enable-encoder=h264_vaapi"
"--enable-encoder=vp8_vaapi"
"--enable-encoder=mjpeg_vaapi"
"--enable-encoder=hevc_vaapi")
'())))))
(inputs (modify-inputs (package-inputs ffmpeg)
(append pipewire)))))
#$@(if (string-contains (%current-system) "linux")
;; Leave out the '--enable-cuvid' ... '--enable-encoder=hevc_nvenc'
;; flags, as there's no support for ffnvcodec in Guix;
;; it would not work with Mesa anyway.
'("--enable-pic"
"--extra-cxxflags=-fPIC"
"--extra-cflags=-fPIC"
"--target-os=linux"
"--enable-indev=v4l2"
"--enable-indev=xcbgrab"
"--enable-vdpau"
"--enable-hwaccel=h264_vdpau"
"--enable-hwaccel=mpeg4_vdpau"
"--enable-vaapi"
"--enable-hwaccel=h264_vaapi"
"--enable-hwaccel=mpeg4_vaapi"
"--enable-hwaccel=h263_vaapi"
"--enable-hwaccel=vp8_vaapi"
"--enable-hwaccel=mjpeg_vaapi"
"--enable-hwaccel=hevc_vaapi"
"--enable-encoder=h264_vaapi"
"--enable-encoder=vp8_vaapi"
"--enable-encoder=mjpeg_vaapi"
"--enable-encoder=hevc_vaapi")
'())))))
(inputs (modify-inputs (package-inputs ffmpeg)
(append pipewire))))))
(define-public ffmpegthumbnailer
(package