~ruther/guix-local

c68a9fa2ac1cac221852c175b059d254d796b96e — Maxim Cournoyer 5 months ago ecdb88f
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
4 files changed, 275 insertions(+), 275 deletions(-)

M gnu/packages/python-xyz.scm
M gnu/packages/qt.scm
M gnu/packages/tor-browsers.scm
M gnu/packages/video.scm
M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +1 -2
@@ 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

M gnu/packages/qt.scm => gnu/packages/qt.scm +1 -1
@@ 2117,7 2117,7 @@ Vulkan, OpenGL and other main graphic APIs.")
           vulkan-headers))
    (inputs
     (list alsa-lib
           ffmpeg
           ffmpeg-6
           glib
           libxkbcommon
           libxrandr

M gnu/packages/tor-browsers.scm => gnu/packages/tor-browsers.scm +1 -1
@@ 240,7 240,7 @@ Browser.")
           libxcomposite
           libxt
           libffi
           ffmpeg-7
           ffmpeg
           libvpx
           icu4c
           pixman

M gnu/packages/video.scm => gnu/packages/video.scm +272 -271
@@ 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


@@ 1982,270 1982,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"

                ;; 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"

                "--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"

                ;; 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"

                ;; 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 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"

                ;; 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"

                "--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)))))
  (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"

                  ;; 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"

                  "--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 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 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"

                  ;; 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"

                  ;; 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"

                  #$@(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