Some 20+ years ago I was distrohopping a bit
because nearly every single distro was compiling mplayer just
slightly wrong. Then I just stopped worrying about distro
versions and embrace gcc ....
with whole set of deps being that long I think
having source copy and poke it from time to time is
reasonable?
I can't stop whole world from doing this style
of development, even if personally I dislike being in focal
point of breaking changes from all sides!
A hwaccel
listing from my system ffmpeg:
ffmpeg
-hide_banner -encoders | grep qsv
V.....
av1_qsv AV1 (Intel Quick Sync Video
acceleration) (codec av1)
V.....
h264_qsv H.264 / AVC / MPEG-4 AVC /
MPEG-4 part 10 (Intel Quick Sync Video acceleration)
(codec h264)
V.....
hevc_qsv HEVC (Intel Quick Sync Video
acceleration) (codec hevc)
V.....
mjpeg_qsv MJPEG (Intel Quick Sync Video
acceleration) (codec mjpeg)
V.....
mpeg2_qsv MPEG-2 video (Intel Quick Sync
Video acceleration) (codec mpeg2video)
V.....
vp9_qsv VP9 video (Intel Quick Sync
Video acceleration) (codec vp9)
ffmpeg
-hide_banner -encoders | grep amf
V....D
av1_amf AMD AMF AV1 encoder (codec av1)
V....D
h264_amf AMD AMF H.264 Encoder (codec
h264)
V....D
hevc_amf AMD AMF HEVC encoder (codec
hevc)
ffmpeg
-hide_banner -encoders | grep nvenc
V....D
av1_nvenc NVIDIA NVENC av1 encoder (codec
av1)
V....D
h264_nvenc NVIDIA NVENC H.264 encoder
(codec h264)
V....D
hevc_nvenc NVIDIA NVENC hevc encoder
(codec hevc)
And the
ffmpeg banner:
ffmpeg
version 7.0 Copyright (c) 2000-2024 the FFmpeg
developers
built
with gcc 13 (SUSE Linux)
configuration: --prefix=/usr --libdir=/usr/lib64
--shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg
--extra-cflags='-O2 -Wall -U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=3 -fstack-protector-strong
-funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -Werror=return-type
-flto=auto -ffat-lto-objects -g' --optflags='-O2
-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3
-fstack-protector-strong -funwind-tables
-fasynchronous-unwind-tables
-fstack-clash-protection -Werror=return-type
-flto=auto -ffat-lto-objects -g' --disable-htmlpages
--enable-pic --disable-stripping --enable-shared
--disable-static --enable-gpl --enable-version3
--enable-libsmbclient --disable-openssl
--enable-gnutls --enable-ladspa --enable-libshaderc
--enable-vulkan --enable-libplacebo --enable-libaom
--enable-libass --enable-libbluray --enable-libbs2b
--enable-libcdio --enable-libcodec2
--enable-libdav1d --enable-libdc1394 --enable-libdrm
--enable-libfontconfig --enable-libfreetype
--enable-libfribidi --enable-libgsm --enable-libjack
--enable-libjxl --enable-librist --enable-libmp3lame
--enable-libmysofa --enable-libopenjpeg
--enable-libopenmpt --enable-libopenh264-dlopen
--enable-libopus --enable-libpulse --enable-librav1e
--enable-librubberband --enable-libsvtav1
--enable-libsoxr --enable-libspeex --enable-libssh
--enable-libsrt --enable-libtheora
--enable-libtwolame --enable-libvidstab
--enable-libvmaf --enable-libvorbis --enable-libvpx
--enable-libwebp --enable-libxml2 --enable-libzimg
--enable-libzmq --enable-libzvbi --enable-lto
--enable-lv2 --enable-libvpl --enable-vaapi
--enable-vdpau --enable-version3
--enable-libfdk-aac-dlopen --enable-nonfree
--enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libvo-amrwbenc
--enable-libx264 --enable-libx265 --enable-libxvid