12 |
12 |
# changes its ABI then this package will be rebuilt needlessly. Hence, such a
|
13 |
13 |
# package is free _not_ to := depend on FFmpeg but I would strongly encourage
|
14 |
14 |
# doing so since such a case is unlikely.
|
15 |
|
FFMPEG_SUBSLOT=56.58.58
|
|
15 |
FFMPEG_SUBSLOT=57.59.59
|
16 |
16 |
|
17 |
17 |
SCM=""
|
18 |
18 |
if [ "${PV#9999}" != "${PV}" ] ; then
|
... | ... | |
64 |
64 |
samba? ( GPL-3 )
|
65 |
65 |
"
|
66 |
66 |
if [ "${PV#9999}" = "${PV}" ] ; then
|
67 |
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
|
67 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
|
68 |
68 |
fi
|
69 |
69 |
|
70 |
70 |
# Options to use as use_enable in the foo[:bar] form.
|
... | ... | |
83 |
83 |
libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
|
84 |
84 |
# decoders
|
85 |
85 |
amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
|
86 |
|
jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
|
|
86 |
jpeg2k:libopenjpeg jpegxl:libjxl bluray:libbluray gme:libgme gsm:libgsm
|
87 |
87 |
libaribb24 mmal modplug:libmodplug opus:libopus qsv:libmfx libilbc librtmp ssh:libssh
|
88 |
88 |
speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
|
89 |
89 |
vorbis:libvorbis vpx:libvpx zvbi:libzvbi
|
90 |
90 |
# libavfilter options
|
91 |
91 |
appkit
|
92 |
92 |
bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf
|
93 |
|
fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab
|
|
93 |
fribidi:libfribidi fontconfig ladspa lcms:lcms2 libass libplacebo libtesseract lv2
|
|
94 |
truetype:libfreetype vidstab:libvidstab
|
94 |
95 |
rubberband:librubberband zeromq:libzmq zimg:libzimg
|
95 |
96 |
# libswresample options
|
96 |
97 |
libsoxr
|
... | ... | |
100 |
101 |
|
101 |
102 |
# Same as above but for encoders, i.e. they do something only with USE=encode.
|
102 |
103 |
FFMPEG_ENCODER_FLAG_MAP=(
|
103 |
|
amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
|
104 |
|
openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
|
|
104 |
amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
|
|
105 |
openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
|
105 |
106 |
theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
|
106 |
107 |
x265:libx265 xvid:libxvid
|
107 |
108 |
)
|
... | ... | |
229 |
230 |
)
|
230 |
231 |
jack? ( virtual/jack[${MULTILIB_USEDEP}] )
|
231 |
232 |
jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
|
|
233 |
jpegxl? ( >=media-libs/libjxl-0.7.0[$MULTILIB_USEDEP] )
|
|
234 |
lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] )
|
232 |
235 |
libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
|
233 |
236 |
libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
|
234 |
|
libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
|
|
237 |
libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] )
|
235 |
238 |
libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
|
236 |
239 |
libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
|
237 |
240 |
libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
|
|
241 |
libplacebo? ( >=media-libs/libplacebo-4.192.0:=[$MULTILIB_USEDEP] )
|
238 |
242 |
librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
|
239 |
243 |
libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
|
240 |
244 |
libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
|
... | ... | |
262 |
266 |
x11-libs/cairo[${MULTILIB_USEDEP}]
|
263 |
267 |
)
|
264 |
268 |
nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
|
265 |
|
svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] )
|
|
269 |
svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
|
266 |
270 |
truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
|
267 |
271 |
vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
|
268 |
272 |
vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
|
269 |
273 |
vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
|
270 |
|
vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] )
|
|
274 |
vmaf? ( >=media-libs/libvmaf-2.0.0[${MULTILIB_USEDEP}] )
|
271 |
275 |
vorbis? (
|
272 |
276 |
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
|
273 |
277 |
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
|
274 |
278 |
)
|
275 |
279 |
vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
|
276 |
|
vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] )
|
|
280 |
vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] )
|
277 |
281 |
X? (
|
278 |
282 |
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
|
279 |
283 |
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
|
... | ... | |
337 |
341 |
|
338 |
342 |
PATCHES=(
|
339 |
343 |
"${FILESDIR}"/chromium-r1.patch
|
340 |
|
"${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
|
341 |
|
"${FILESDIR}"/${PN}-4.4.3-clang-14-ff_seek_frame_binary-crash.patch
|
342 |
|
"${FILESDIR}"/${PN}-4.4.3-get_cabac_inline_x86-32-bit.patch
|
343 |
|
"${FILESDIR}"/${PN}-4.4.4-wint-conversion-vulkan.patch
|
|
344 |
"${FILESDIR}"/${PN}-5.1.2-get_cabac_inline_x86-32-bit.patch
|
344 |
345 |
"${FILESDIR}"/${P}-fix-build-svt-av1-1.5.0.patch
|
345 |
|
"${FILESDIR}"/${PN}-5.1.3-binutils-2.41.patch
|
|
346 |
"${FILESDIR}"/${P}-svt-av1.patch
|
346 |
347 |
)
|
347 |
348 |
|
348 |
349 |
MULTILIB_WRAPPED_HEADERS=(
|
... | ... | |
372 |
373 |
export revision=git-N-${FFMPEG_REVISION}
|
373 |
374 |
fi
|
374 |
375 |
|
375 |
|
eapply "${FILESDIR}/vmaf-models-default-path.patch"
|
376 |
|
|
377 |
376 |
default
|
378 |
377 |
|
379 |
378 |
# -fdiagnostics-color=auto gets appended after user flags which
|
... | ... | |
434 |
433 |
|
435 |
434 |
if use openssl ; then
|
436 |
435 |
myconf+=( --disable-gnutls )
|
|
436 |
has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 )
|
437 |
437 |
fi
|
438 |
438 |
|
439 |
439 |
# (temporarily) disable non-multilib deps
|
... | ... | |
474 |
474 |
# Mandatory configuration
|
475 |
475 |
myconf=(
|
476 |
476 |
--enable-avfilter
|
477 |
|
--enable-avresample
|
478 |
477 |
--disable-stripping
|
479 |
478 |
# This is only for hardcoded cflags; those are used in configure checks that may
|
480 |
479 |
# interfere with proper detections, bug #671746 and bug #645778
|
... | ... | |
565 |
564 |
}
|
566 |
565 |
|
567 |
566 |
multilib_src_test() {
|
568 |
|
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:${BUILD_DIR}/libavresample" \
|
|
567 |
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" \
|
569 |
568 |
emake V=1 fate
|
570 |
569 |
}
|
571 |
570 |
|