diff options
Diffstat (limited to 'media-video/ffmpeg')
8 files changed, 0 insertions, 830 deletions
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest index c2054eb5009c..43c6764a4783 100644 --- a/media-video/ffmpeg/Manifest +++ b/media-video/ffmpeg/Manifest @@ -9,5 +9,3 @@ DIST ffmpeg-6.0.tar.xz 10234012 BLAKE2B c70884911f3a3e40fe87473f241a2a56b303f5ab DIST ffmpeg-6.0.tar.xz.asc 520 BLAKE2B be294d375108b57bca3c687620ce2517c54c99012d82dc7aa1a83d5fe6d5453bd3c8620fdfb743df780cf588983a06a66a458c4e3e454dbe535cbba9da30c48c SHA512 a64cd0f8578fcea4537f5a38634c930d66c8ba4abd3e8e9dcffaeb95c3ad2e754d7bc4fbb5272409d4d32abf8180ef83f7204c6a570b52a37e635efd96cb94ed DIST ffmpeg-6.1.1.tar.xz 10458600 BLAKE2B 77827ff92b47c773ed82e7b7793dbb135c370fe23501169cb1eab08ff5ede77cfd5b397e8fb1d38756812cc82277898fd5c74b7d8495842556570c0c5570daeb SHA512 fca3f8635f29182e3ae0fe843a8a53614e4b47e22c11508df3ff7cdbafbb4b5ee0d82d9b3332871f7c1032033b1cad2f67557d7c5f7f7d85e2adadca122965d5 DIST ffmpeg-6.1.1.tar.xz.asc 520 BLAKE2B 801cd976d10363d1f9fc302351b330cb57e609a266407627ef378172f28974f4a18435b8a77b9cc7a8ff7b75701185211739f685629bbda961c3588c15af1221 SHA512 0e10c1f560bab0812d759d286656593dea5940f02bb52d88d9ba7f10b12b9cc3d7aa2a41c5f7a45b319069e04dce22dc1286b3c1ba685b35cd6d04cd81c5a0f5 -DIST ffmpeg-6.1.tar.xz 10455956 BLAKE2B 5eaee0e0f72139e3b018e6ee26a102c7d6881ec8e7a70b21c51e4a515a37396ae12f19185112bb3f8b3401b85e68c08435146a83470e07ffb571d3d9bca89289 SHA512 72f47924806b9b128672bd268aa2c8fc2c9b8491899a772b6f82421daa2b67de45a4bdd71f6071825814e599a73adb1e42682e202a12fc055e9a224c7d5baa4a -DIST ffmpeg-6.1.tar.xz.asc 520 BLAKE2B 774ba20a8ad3d786368c7e6928ee0976cd943756f24e3f076dc0cc92fc0069637f0a9a92e3c5238c74148330385d040118d3c5f9af6b267d572283b8de83b286 SHA512 e4885270869cc6a1681bc3f76f344f77c4858c490a517e45a758d15214ce67c3c2113a1caa8ca65eb6447b68d822fa1dd730081345bcc0928faaf82bb76037ba diff --git a/media-video/ffmpeg/ffmpeg-6.1-r4.ebuild b/media-video/ffmpeg/ffmpeg-6.1-r4.ebuild deleted file mode 100644 index d462f165ce84..000000000000 --- a/media-video/ffmpeg/ffmpeg-6.1-r4.ebuild +++ /dev/null @@ -1,589 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Subslot: libavutil major.libavcodec major.libavformat major -# Since FFmpeg ships several libraries, subslot is kind of limited here. -# Most consumers will use those three libraries, if a "less used" library -# changes its soname, consumers will have to be rebuilt the old way -# (preserve-libs). -# If, for example, a package does not link to libavformat and only libavformat -# changes its ABI then this package will be rebuilt needlessly. Hence, such a -# package is free _not_ to := depend on FFmpeg but I would strongly encourage -# doing so since such a case is unlikely. -FFMPEG_SUBSLOT=58.60.60 - -SCM="" -if [ "${PV#9999}" != "${PV}" ] ; then - SCM="git-r3" - EGIT_MIN_CLONE_TYPE="single" - EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git" -fi - -inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM} - -DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec" -HOMEPAGE="https://ffmpeg.org/" -if [ "${PV#9999}" != "${PV}" ] ; then - SRC_URI="" -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot - SRC_URI="mirror://gentoo/${P}.tar.xz" -else # Release - VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ffmpeg.asc - inherit verify-sig - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz" - SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )" - - BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )" -fi -FFMPEG_REVISION="${PV#*_p}" - -SLOT="0/${FFMPEG_SUBSLOT}" -LICENSE=" - !gpl? ( LGPL-2.1 ) - gpl? ( GPL-2 ) - amr? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - gmp? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - libaribb24? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - encode? ( - amrenc? ( - gpl? ( GPL-3 ) - !gpl? ( LGPL-3 ) - ) - ) - samba? ( GPL-3 ) -" -if [ "${PV#9999}" = "${PV}" ] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" -fi - -# Options to use as use_enable in the foo[:bar] form. -# This will feed configure with $(use_enable foo bar) -# or $(use_enable foo foo) if no :bar is set. -# foo is added to IUSE. -FFMPEG_FLAG_MAP=( - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp - +gpl hardcoded-tables +iconv libxml2 lzma +network opencl - openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan - X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib - # libavdevice options - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal - opengl - # indevs - libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack - # decoders - amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac - jpeg2k:libopenjpeg jpegxl:libjxl bluray:libbluray gme:libgme gsm:libgsm - libaribb24 mmal modplug:libmodplug opus:libopus qsv:libvpl libilbc librtmp ssh:libssh - speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec - vorbis:libvorbis vpx:libvpx zvbi:libzvbi - # libavfilter options - appkit - bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite fontconfig frei0r - fribidi:libfribidi glslang:libglslang ladspa lcms:lcms2 libass libplacebo - libtesseract lv2 rubberband:librubberband shaderc:libshaderc truetype:libfreetype - truetype:libharfbuzz vidstab:libvidstab vmaf:libvmaf zeromq:libzmq zimg:libzimg - # libswresample options - libsoxr - # Threads; we only support pthread for now but ffmpeg supports more - +threads:pthreads -) - -# Same as above but for encoders, i.e. they do something only with USE=encode. -FFMPEG_ENCODER_FLAG_MAP=( - amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame - openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1 - theora:libtheora twolame:libtwolame webp:libwebp x264:libx264 - x265:libx265 xvid:libxvid -) - -IUSE=" - alsa chromium doc +encode oss +pic sndio static-libs test v4l - ${FFMPEG_FLAG_MAP[@]%:*} - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*} -" - -# Strings for CPU features in the useflag[:configure_option] form -# if :configure_option isn't set, it will use 'useflag' as configure option -ARM_CPU_FEATURES=( - cpu_flags_arm_thumb:armv5te - cpu_flags_arm_v6:armv6 - cpu_flags_arm_thumb2:armv6t2 - cpu_flags_arm_neon:neon - cpu_flags_arm_vfp:vfp - cpu_flags_arm_vfpv3:vfpv3 - cpu_flags_arm_v8:armv8 -) -ARM_CPU_REQUIRED_USE=" - arm64? ( cpu_flags_arm_v8 ) - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon ) - cpu_flags_arm_neon? ( - cpu_flags_arm_vfp - arm? ( cpu_flags_arm_thumb2 ) - ) - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp ) - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 ) - cpu_flags_arm_v6? ( - arm? ( cpu_flags_arm_thumb ) - ) -" -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu ) -PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 ) -PPC_CPU_REQUIRED_USE=" - cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec ) - cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx ) -" -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx - mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop ) -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} ) -X86_CPU_REQUIRED_USE=" - cpu_flags_x86_avx2? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma4? ( cpu_flags_x86_avx ) - cpu_flags_x86_fma3? ( cpu_flags_x86_avx ) - cpu_flags_x86_xop? ( cpu_flags_x86_avx ) - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 ) - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 ) - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 ) - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 ) - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 ) - cpu_flags_x86_sse2? ( cpu_flags_x86_sse ) - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext ) - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx ) - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow ) - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx ) -" - -CPU_FEATURES_MAP=( - ${ARM_CPU_FEATURES[@]} - ${MIPS_CPU_FEATURES[@]} - ${PPC_CPU_FEATURES[@]} - ${X86_CPU_FEATURES[@]} -) -IUSE="${IUSE} - ${CPU_FEATURES_MAP[@]%:*}" - -CPU_REQUIRED_USE=" - ${ARM_CPU_REQUIRED_USE} - ${PPC_CPU_REQUIRED_USE} - ${X86_CPU_REQUIRED_USE} -" - -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt - graph2dot ismindex pktdumper qt-faststart sidxindex trasher ) -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}" - -RDEPEND=" - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) - amf? ( media-video/amdgpu-pro-amf:= ) - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] ) - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] ) - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) - codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] ) - dav1d? ( >=media-libs/dav1d-0.5.0:0=[${MULTILIB_USEDEP}] ) - encode? ( - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) - kvazaar? ( >=media-libs/kvazaar-2.0.0[${MULTILIB_USEDEP}] ) - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) - openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] ) - rav1e? ( >=media-video/rav1e-0.5:=[capi] ) - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] ) - theora? ( - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}] - ) - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] ) - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] ) - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] ) - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] ) - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] ) - ) - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] ) - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] ) - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] ) - frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] ) - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] ) - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) - glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] ) - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) - iec61883? ( - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}] - ) - ieee1394? ( - >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}] - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}] - ) - jack? ( virtual/jack[${MULTILIB_USEDEP}] ) - jpeg2k? ( >=media-libs/openjpeg-2.1:2=[${MULTILIB_USEDEP}] ) - jpegxl? ( >=media-libs/libjxl-0.7.0[$MULTILIB_USEDEP] ) - lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] ) - libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] ) - libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] ) - libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] ) - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) - libplacebo? ( >=media-libs/libplacebo-4.192.0:=[$MULTILIB_USEDEP] ) - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) - libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] ) - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) - libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] ) - lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) - mmal? ( media-libs/raspberrypi-userland ) - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] ) - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) - pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) - qsv? ( media-libs/oneVPL[${MULTILIB_USEDEP}] ) - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] ) - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] ) - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] ) - shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] ) - sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) - srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] ) - ssh? ( >=net-libs/libssh-0.6.0:=[sftp,${MULTILIB_USEDEP}] ) - svg? ( - gnome-base/librsvg:2=[${MULTILIB_USEDEP}] - x11-libs/cairo[${MULTILIB_USEDEP}] - ) - nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 ) - svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] ) - truetype? ( - >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] - media-libs/harfbuzz:=[${MULTILIB_USEDEP}] - ) - vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] ) - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] ) - vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] ) - vmaf? ( >=media-libs/libvmaf-2.0.0[${MULTILIB_USEDEP}] ) - vorbis? ( - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - ) - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] ) - vulkan? ( >=media-libs/vulkan-loader-1.3.255:=[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}] - ) - zeromq? ( >=net-libs/zeromq-4.2.1:= ) - zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] ) - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] ) -" - -RDEPEND="${RDEPEND} - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] ) - !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) -" - -DEPEND="${RDEPEND} - amf? ( media-libs/amf-headers ) - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) - v4l? ( sys-kernel/linux-headers ) - vulkan? ( >=dev-util/vulkan-headers-1.3.255 ) -" - -# += for verify-sig above -BDEPEND+=" - >=dev-build/make-3.81 - virtual/pkgconfig - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) ) - cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] ) - doc? ( sys-apps/texinfo ) - test? ( net-misc/wget app-alternatives/bc ) -" - -# Code requiring FFmpeg to be built under gpl license -GPL_REQUIRED_USE=" - postproc? ( gpl ) - frei0r? ( gpl ) - cdio? ( gpl ) - rubberband? ( gpl ) - vidstab? ( gpl ) - samba? ( gpl ) - encode? ( - x264? ( gpl ) - x265? ( gpl ) - xvid? ( gpl ) - ) -" -REQUIRED_USE=" - chromium? ( opus ) - cuda? ( nvenc ) - fftools_cws2fws? ( zlib ) - glslang? ( vulkan !shaderc ) - libv4l? ( v4l ) - shaderc? ( vulkan !glslang ) - test? ( encode ) - ${GPL_REQUIRED_USE} - ${CPU_REQUIRED_USE}" -RESTRICT=" - !test? ( test ) - gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) -" - -S=${WORKDIR}/${P/_/-} - -PATCHES=( - "${FILESDIR}"/chromium-r2.patch - "${FILESDIR}"/${PN}-6.1-wint-conversion.patch - "${FILESDIR}"/${PN}-6.1-0001-avcodec-fft-Use-av_mallocz-to-avoid-invalid-free-uni.patch - "${FILESDIR}"/${PN}-6.1-0002-avcoded-fft-Fix-memory-leak-if-ctx2-is-used.patch - "${FILESDIR}"/${PN}-6.1-0003-avcodec-decode-validate-hw_frames_ctx-when-AVHWAccel.patch - "${FILESDIR}"/${PN}-6.1-0004-lavc-dvdsubenc-only-check-canvas-size-when-it-is-act.patch - "${FILESDIR}"/${PN}-6.1-0005-lavc-Makefile-build-vulkan-decode-code-if-vulkan_av1.patch - "${FILESDIR}"/${PN}-6.1-0006-hwcontext_vulkan-guard-unistd.h-include.patch - "${FILESDIR}"/${PN}-6.1-opencl-parallel-gmake-fix.patch -) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libavutil/avconfig.h -) - -pkg_setup() { - # ffmpeg[chromaprint] depends on chromaprint, and chromaprint[tools] depends on ffmpeg. - # May cause breakage while updating, #862996, #625210, #833821. - if has_version media-libs/chromaprint[tools] && use chromaprint; then - ewarn "You have media-libs/chromaprint installed with 'tools' USE flag, which " - ewarn "links to ffmpeg, and you have enabled 'chromaprint' USE flag for ffmpeg, " - ewarn "which links to chromaprint. This may cause issues while rebuilding ffmpeg." - ewarn "" - ewarn "If your build fails to 'ERROR: chromaprint not found', rebuild chromaprint " - ewarn "without the 'tools' use flag first, then rebuild ffmpeg, and then finally enable " - ewarn "'tools' USE flag for chromaprint. See #862996." - fi -} - -src_prepare() { - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot - export revision=git-N-${FFMPEG_REVISION} - fi - - default - - # -fdiagnostics-color=auto gets appended after user flags which - # will ignore user's preference. - sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die - - ln -snf "${FILESDIR}"/chromium.c chromium.c || die - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die -} - -multilib_src_configure() { - local myconf=( ) - - # bug 842201 - use ia64 && tc-is-gcc && append-flags \ - -fno-tree-ccp \ - -fno-tree-dominator-opts \ - -fno-tree-fre \ - -fno-code-hoisting \ - -fno-tree-pre \ - -fno-tree-vrp - - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) - use openssl && myconf+=( --enable-nonfree ) - use samba && myconf+=( --enable-version3 ) - - # Encoders - if use encode ; then - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" ) - - # Licensing. - if use amrenc ; then - myconf+=( --enable-version3 ) - fi - else - myconf+=( --disable-encoders ) - fi - - # Indevs - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 ) - for i in alsa oss jack sndio ; do - use ${i} || myconf+=( --disable-indev=${i} ) - done - - # Outdevs - for i in alsa oss sndio ; do - use ${i} || myconf+=( --disable-outdev=${i} ) - done - - # Decoders - use amr && myconf+=( --enable-version3 ) - use gmp && myconf+=( --enable-version3 ) - use libaribb24 && myconf+=( --enable-version3 ) - use fdk && use gpl && myconf+=( --enable-nonfree ) - - for i in "${ffuse[@]#+}" ; do - myconf+=( $(use_enable ${i%:*} ${i#*:}) ) - done - - if use openssl ; then - myconf+=( --disable-gnutls ) - has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 ) - fi - - # (temporarily) disable non-multilib deps - if ! multilib_is_native_abi; then - for i in librav1e libzmq ; do - myconf+=( --disable-${i} ) - done - fi - - # CPU features - for i in "${CPU_FEATURES_MAP[@]}" ; do - use ${i%:*} || myconf+=( --disable-${i#*:} ) - done - # Bug #917277, #917278 - myconf+=( --disable-dotprod --disable-i8mm ) - - if use pic ; then - myconf+=( --enable-pic ) - # disable asm code if PIC is required - # as the provided asm decidedly is not PIC for x86. - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm ) - fi - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004 - - # Try to get cpu type based on CFLAGS. - # Bug #172723 - # We need to do this so that features of that CPU will be better used - # If they contain an unknown CPU it will not hurt since ffmpeg's configure - # will just ignore it. - for i in $(get-flag mcpu) $(get-flag march) ; do - [[ ${i} = native ]] && i="host" # bug #273421 - myconf+=( --cpu=${i} ) - break - done - - # LTO support, bug #566282, bug #754654, bug #772854 - if [[ ${ABI} != x86 ]] && tc-is-lto; then - # Respect -flto value, e.g -flto=thin - local v="$(get-flag flto)" - [[ -n ${v} ]] && myconf+=( "--enable-lto=${v}" ) || myconf+=( "--enable-lto" ) - fi - filter-lto - - # Mandatory configuration - myconf=( - --disable-libaribcaption # libaribcaption is not packaged (yet?) - --enable-avfilter - --disable-stripping - # This is only for hardcoded cflags; those are used in configure checks that may - # interfere with proper detections, bug #671746 and bug #645778 - # We use optflags, so that overrides them anyway. - --disable-optimizations - --disable-libcelt # bug #664158 - "${myconf[@]}" - ) - - # cross compile support - if tc-is-cross-compiler ; then - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" ) - case ${CHOST} in - *mingw32*) - myconf+=( --target-os=mingw32 ) - ;; - *linux*) - myconf+=( --target-os=linux ) - ;; - esac - fi - - # doc - myconf+=( - $(multilib_native_use_enable doc) - $(multilib_native_use_enable doc htmlpages) - $(multilib_native_enable manpages) - ) - - # Use --extra-libs if needed for LIBS - set -- "${S}/configure" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ - --mandir="${EPREFIX}/usr/share/man" \ - --enable-shared \ - --cc="$(tc-getCC)" \ - --cxx="$(tc-getCXX)" \ - --ar="$(tc-getAR)" \ - --nm="$(tc-getNM)" \ - --strip="$(tc-getSTRIP)" \ - --ranlib="$(tc-getRANLIB)" \ - --pkg-config="$(tc-getPKG_CONFIG)" \ - --optflags="${CFLAGS}" \ - $(use_enable static-libs static) \ - "${myconf[@]}" \ - ${EXTRA_FFMPEG_CONF} - echo "${@}" - "${@}" || die -} - -multilib_src_compile() { - emake V=1 - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - emake V=1 tools/${i}$(get_exeext) - fi - done - - use chromium && - emake V=1 libffmpeg - fi -} - -multilib_src_test() { - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \ - emake V=1 fate -k -} - -multilib_src_install() { - emake V=1 DESTDIR="${D}" install install-doc - - if multilib_is_native_abi; then - for i in "${FFTOOLS[@]}" ; do - if use fftools_${i} ; then - dobin tools/${i}$(get_exeext) - fi - done - - use chromium && - emake V=1 DESTDIR="${D}" install-libffmpeg - fi -} - -multilib_src_install_all() { - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES" - - use amf && elog "To use AMF, prefix the ffmpeg call with the 'vk_pro' wrapper script, e.g. `vk_pro ffmpeg -vcodec h264_amf [...]`" -} diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0001-avcodec-fft-Use-av_mallocz-to-avoid-invalid-free-uni.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0001-avcodec-fft-Use-av_mallocz-to-avoid-invalid-free-uni.patch deleted file mode 100644 index 8907cf15b00d..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0001-avcodec-fft-Use-av_mallocz-to-avoid-invalid-free-uni.patch +++ /dev/null @@ -1,54 +0,0 @@ -From af912d80d8880797bef9f2ba9809ecd84ed9acd9 Mon Sep 17 00:00:00 2001 -From: Sebastian Ramacher <sramacher@debian.org> -Date: Sun, 12 Nov 2023 18:46:27 +0100 -Subject: [PATCH 1/6] avcodec/fft: Use av_mallocz to avoid invalid free/uninit - -Signed-off-by: James Almer <jamrial@gmail.com> -(cherry picked from commit a562cfee2e214252f8b3f516527272ae32ef9532) ---- - libavcodec/avfft.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libavcodec/avfft.c b/libavcodec/avfft.c -index fb635abfff..3ef076d222 100644 ---- a/libavcodec/avfft.c -+++ b/libavcodec/avfft.c -@@ -46,7 +46,7 @@ FFTContext *av_fft_init(int nbits, int inverse) - { - int ret; - float scale = 1.0f; -- AVTXWrapper *s = av_malloc(sizeof(*s)); -+ AVTXWrapper *s = av_mallocz(sizeof(*s)); - if (!s) - return NULL; - -@@ -85,7 +85,7 @@ FFTContext *av_mdct_init(int nbits, int inverse, double scale) - { - int ret; - float scale_f = scale; -- AVTXWrapper *s = av_malloc(sizeof(*s)); -+ AVTXWrapper *s = av_mallocz(sizeof(*s)); - if (!s) - return NULL; - -@@ -146,7 +146,7 @@ RDFTContext *av_rdft_init(int nbits, enum RDFTransformType trans) - if (trans != IDFT_C2R && trans != DFT_R2C) - return NULL; - -- s = av_malloc(sizeof(*s)); -+ s = av_mallocz(sizeof(*s)); - if (!s) - return NULL; - -@@ -199,7 +199,7 @@ DCTContext *av_dct_init(int nbits, enum DCTTransformType inverse) - [DST_I] = AV_TX_FLOAT_DST_I, - }; - -- AVTXWrapper *s = av_malloc(sizeof(*s)); -+ AVTXWrapper *s = av_mallocz(sizeof(*s)); - if (!s) - return NULL; - --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0002-avcoded-fft-Fix-memory-leak-if-ctx2-is-used.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0002-avcoded-fft-Fix-memory-leak-if-ctx2-is-used.patch deleted file mode 100644 index 3799a46d84a4..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0002-avcoded-fft-Fix-memory-leak-if-ctx2-is-used.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c7fe7ee8d4dcae510453abedabae53e45135144a Mon Sep 17 00:00:00 2001 -From: Sebastian Ramacher <sramacher@debian.org> -Date: Sun, 12 Nov 2023 18:46:28 +0100 -Subject: [PATCH 2/6] avcoded/fft: Fix memory leak if ctx2 is used - -Signed-off-by: James Almer <jamrial@gmail.com> -(cherry picked from commit 250471ea1745fc703eb346a2a662304536a311b1) ---- - libavcodec/avfft.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libavcodec/avfft.c b/libavcodec/avfft.c -index 3ef076d222..999b5ed79a 100644 ---- a/libavcodec/avfft.c -+++ b/libavcodec/avfft.c -@@ -130,6 +130,7 @@ av_cold void av_mdct_end(FFTContext *s) - { - if (s) { - AVTXWrapper *w = (AVTXWrapper *)s; -+ av_tx_uninit(&w->ctx2); - av_tx_uninit(&w->ctx); - av_free(w); - } --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0003-avcodec-decode-validate-hw_frames_ctx-when-AVHWAccel.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0003-avcodec-decode-validate-hw_frames_ctx-when-AVHWAccel.patch deleted file mode 100644 index 2e84b94b0475..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0003-avcodec-decode-validate-hw_frames_ctx-when-AVHWAccel.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 466799d4f570db5ed3e70239c12c96a2dc3bfc06 Mon Sep 17 00:00:00 2001 -From: Dmitry Rogozhkin <dmitry.v.rogozhkin-at-intel.com@ffmpeg.org> -Date: Mon, 20 Nov 2023 21:57:32 -0800 -Subject: [PATCH 3/6] avcodec/decode: validate hw_frames_ctx when - AVHWAccel.free_frame_priv is used - -Validate that a hw_frames_ctx is available before using it for -the AVHWAccel.free_frame_priv callback, and don't require it to -be present when the callback is not in use by the HWAccel. - -v2: check for free_frame_priv (Hendrik) -v3: return EINVAL (Christoph Reiter) -v4: better commit message (Hendrik) -v5: fix typo with missed frames_ctx (Lynne) - -See[1]: https://github.com/msys2/MINGW-packages/pull/19050 -Fixes: be07145109 ("avcodec: add AVHWAccel.free_frame_priv callback") -CC: Lynne <dev@lynne.ee> -CC: Christoph Reiter <reiter.christoph@gmail.com> -Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> -(cherry picked from commit e9c93009fc34ca9dfcf0c6f2ed90ef1df298abf7) ---- - libavcodec/decode.c | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/libavcodec/decode.c b/libavcodec/decode.c -index ad39021354..2cfb3fcf97 100644 ---- a/libavcodec/decode.c -+++ b/libavcodec/decode.c -@@ -1838,17 +1838,26 @@ int ff_copy_palette(void *dst, const AVPacket *src, void *logctx) - int ff_hwaccel_frame_priv_alloc(AVCodecContext *avctx, void **hwaccel_picture_private) - { - const FFHWAccel *hwaccel = ffhwaccel(avctx->hwaccel); -- AVHWFramesContext *frames_ctx; - - if (!hwaccel || !hwaccel->frame_priv_data_size) - return 0; - - av_assert0(!*hwaccel_picture_private); - -- frames_ctx = (AVHWFramesContext *)avctx->hw_frames_ctx->data; -- *hwaccel_picture_private = ff_refstruct_alloc_ext(hwaccel->frame_priv_data_size, 0, -- frames_ctx->device_ctx, -- hwaccel->free_frame_priv); -+ if (hwaccel->free_frame_priv) { -+ AVHWFramesContext *frames_ctx; -+ -+ if (!avctx->hw_frames_ctx) -+ return AVERROR(EINVAL); -+ -+ frames_ctx = (AVHWFramesContext *) avctx->hw_frames_ctx->data; -+ *hwaccel_picture_private = ff_refstruct_alloc_ext(hwaccel->frame_priv_data_size, 0, -+ frames_ctx->device_ctx, -+ hwaccel->free_frame_priv); -+ } else { -+ *hwaccel_picture_private = ff_refstruct_allocz(hwaccel->frame_priv_data_size); -+ } -+ - if (!*hwaccel_picture_private) - return AVERROR(ENOMEM); - --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0004-lavc-dvdsubenc-only-check-canvas-size-when-it-is-act.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0004-lavc-dvdsubenc-only-check-canvas-size-when-it-is-act.patch deleted file mode 100644 index 639d13320b39..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0004-lavc-dvdsubenc-only-check-canvas-size-when-it-is-act.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 111035ccae52b448ccee889546a54594cd3fca5e Mon Sep 17 00:00:00 2001 -From: Anton Khirnov <anton@khirnov.net> -Date: Thu, 30 Nov 2023 11:21:24 +0100 -Subject: [PATCH 4/6] lavc/dvdsubenc: only check canvas size when it is - actually set - -Fixes #10650 - -(cherry picked from commit 5230257ea18e1d3761ee6b0549d56a3ca817f301) -Signed-off-by: Anton Khirnov <anton@khirnov.net> ---- - libavcodec/dvdsubenc.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libavcodec/dvdsubenc.c b/libavcodec/dvdsubenc.c -index d272b57675..06c2cf5e5a 100644 ---- a/libavcodec/dvdsubenc.c -+++ b/libavcodec/dvdsubenc.c -@@ -376,7 +376,8 @@ static int encode_dvd_subtitles(AVCodecContext *avctx, - x2 = vrect.x + vrect.w - 1; - y2 = vrect.y + vrect.h - 1; - -- if (x2 > avctx->width || y2 > avctx->height) { -+ if ((avctx->width > 0 && x2 > avctx->width) || -+ (avctx->height > 0 && y2 > avctx->height)) { - av_log(avctx, AV_LOG_ERROR, "canvas_size(%d:%d) is too small(%d:%d) for render\n", - avctx->width, avctx->height, x2, y2); - ret = AVERROR(EINVAL); --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0005-lavc-Makefile-build-vulkan-decode-code-if-vulkan_av1.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0005-lavc-Makefile-build-vulkan-decode-code-if-vulkan_av1.patch deleted file mode 100644 index 002d609fdd3e..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0005-lavc-Makefile-build-vulkan-decode-code-if-vulkan_av1.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2c87aa0b231954d32909c0df48cb27ff89fd4506 Mon Sep 17 00:00:00 2001 -From: Lynne <dev@lynne.ee> -Date: Sun, 3 Dec 2023 21:02:13 +0100 -Subject: [PATCH 5/6] lavc/Makefile: build vulkan decode code if vulkan_av1 has - been enabled - -Forgotten. - -Reviewed-by: Neal Gompa <ngompa13@gmail.com> -Tested-by: Neal Gompa <ngompa13@gmail.com> -(cherry picked from commit 8c117b75afa3c6b824fab85ec6716dbe3ba975be) ---- - libavcodec/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavcodec/Makefile b/libavcodec/Makefile -index 580a8d6b54..ec57e53e30 100644 ---- a/libavcodec/Makefile -+++ b/libavcodec/Makefile -@@ -993,7 +993,7 @@ OBJS-$(CONFIG_AV1_DXVA2_HWACCEL) += dxva2_av1.o - OBJS-$(CONFIG_AV1_NVDEC_HWACCEL) += nvdec_av1.o - OBJS-$(CONFIG_AV1_VAAPI_HWACCEL) += vaapi_av1.o - OBJS-$(CONFIG_AV1_VDPAU_HWACCEL) += vdpau_av1.o --OBJS-$(CONFIG_AV1_VULKAN_HWACCEL) += vulkan_av1.o -+OBJS-$(CONFIG_AV1_VULKAN_HWACCEL) += vulkan_decode.o vulkan_av1.o - OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o - OBJS-$(CONFIG_H263_VIDEOTOOLBOX_HWACCEL) += videotoolbox.o - OBJS-$(CONFIG_H264_D3D11VA_HWACCEL) += dxva2_h264.o --- -2.43.0 - diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-0006-hwcontext_vulkan-guard-unistd.h-include.patch b/media-video/ffmpeg/files/ffmpeg-6.1-0006-hwcontext_vulkan-guard-unistd.h-include.patch deleted file mode 100644 index a9d0bfa35abe..000000000000 --- a/media-video/ffmpeg/files/ffmpeg-6.1-0006-hwcontext_vulkan-guard-unistd.h-include.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 884a660cae23769d92d533cc1b6232d3cdfbae43 Mon Sep 17 00:00:00 2001 -From: Benjamin Cheng <ben@bcheng.me> -Date: Fri, 22 Sep 2023 12:49:22 -0400 -Subject: [PATCH 6/6] hwcontext_vulkan: guard unistd.h include - -win32 typically doesn't have unistd.h, so always including it will break -MSVC builds. The usage of those POSIX functions are already guarded by -_WIN32, so use that to guard unistd.h include as well. - -(cherry picked from commit 185871fdd39762295973c1f3db1459e04121317c) ---- - libavutil/hwcontext_vulkan.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c -index 506a218a42..d288fb7ac7 100644 ---- a/libavutil/hwcontext_vulkan.c -+++ b/libavutil/hwcontext_vulkan.c -@@ -27,10 +27,10 @@ - #include "compat/w32dlfcn.h" - #else - #include <dlfcn.h> -+#include <unistd.h> - #endif - - #include "thread.h" --#include <unistd.h> - - #include "config.h" - #include "pixdesc.h" --- -2.43.0 - |