Lines 91-103
Link Here
|
91 |
# Same as above but for encoders, i.e. they do something only with USE=encode. |
91 |
# Same as above but for encoders, i.e. they do something only with USE=encode. |
92 |
FFMPEG_ENCODER_FLAG_MAP=( |
92 |
FFMPEG_ENCODER_FLAG_MAP=( |
93 |
amrenc:libvo-amrwbenc mp3:libmp3lame |
93 |
amrenc:libvo-amrwbenc mp3:libmp3lame |
94 |
faac:libfaac kvazaar:libkvazaar nvenc:nvenc |
94 |
kvazaar:libkvazaar nvenc:nvenc |
95 |
openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame |
95 |
openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame |
96 |
wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid |
96 |
wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid |
97 |
) |
97 |
) |
98 |
|
98 |
|
99 |
IUSE=" |
99 |
IUSE=" |
100 |
alsa doc +encode jack oss pic static-libs test v4l |
100 |
alsa cuda doc +encode jack libnpp nasm oss pic static-libs test v4l |
101 |
${FFMPEG_FLAG_MAP[@]%:*} |
101 |
${FFMPEG_FLAG_MAP[@]%:*} |
102 |
${FFMPEG_ENCODER_FLAG_MAP[@]%:*} |
102 |
${FFMPEG_ENCODER_FLAG_MAP[@]%:*} |
103 |
" |
103 |
" |
Lines 162-174
Link Here
|
162 |
cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) |
162 |
cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] ) |
163 |
celt? ( >=media-libs/celt-0.11.1-r1[${MULTILIB_USEDEP}] ) |
163 |
celt? ( >=media-libs/celt-0.11.1-r1[${MULTILIB_USEDEP}] ) |
164 |
chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) |
164 |
chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] ) |
|
|
165 |
cuda? ( >=x11-drivers/nvidia-drivers-367.35 >=dev-util/nvidia-cuda-toolkit-7.5 ) |
165 |
ebur128? ( >=media-libs/libebur128-1.1.0[${MULTILIB_USEDEP}] ) |
166 |
ebur128? ( >=media-libs/libebur128-1.1.0[${MULTILIB_USEDEP}] ) |
166 |
encode? ( |
167 |
encode? ( |
167 |
amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) |
168 |
amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] ) |
168 |
faac? ( >=media-libs/faac-1.28-r3[${MULTILIB_USEDEP}] ) |
|
|
169 |
kvazaar? ( media-libs/kvazaar[${MULTILIB_USEDEP}] ) |
169 |
kvazaar? ( media-libs/kvazaar[${MULTILIB_USEDEP}] ) |
170 |
mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) |
170 |
mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) |
171 |
nvenc? ( media-video/nvidia_video_sdk ) |
|
|
172 |
openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] ) |
171 |
openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] ) |
173 |
snappy? ( >=app-arch/snappy-1.1.2-r1[${MULTILIB_USEDEP}] ) |
172 |
snappy? ( >=app-arch/snappy-1.1.2-r1[${MULTILIB_USEDEP}] ) |
174 |
theora? ( |
173 |
theora? ( |
Lines 251-257
Link Here
|
251 |
doc? ( sys-apps/texinfo ) |
250 |
doc? ( sys-apps/texinfo ) |
252 |
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] |
251 |
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] |
253 |
ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) |
252 |
ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] ) |
254 |
cpu_flags_x86_mmx? ( >=dev-lang/yasm-1.2 ) |
253 |
cpu_flags_x86_mmx? ( |
|
|
254 |
!nasm? ( || ( >=dev-lang/yasm-1.2 dev-lang/nasm ) ) |
255 |
nasm? ( dev-lang/nasm ) |
256 |
) |
255 |
test? ( net-misc/wget sys-devel/bc ) |
257 |
test? ( net-misc/wget sys-devel/bc ) |
256 |
v4l? ( sys-kernel/linux-headers ) |
258 |
v4l? ( sys-kernel/linux-headers ) |
257 |
" |
259 |
" |
Lines 274-287
Link Here
|
274 |
) |
276 |
) |
275 |
" |
277 |
" |
276 |
REQUIRED_USE=" |
278 |
REQUIRED_USE=" |
|
|
279 |
cuda? ( abi_x86_64 ) |
280 |
libnpp? ( cuda ) |
277 |
libv4l? ( v4l ) |
281 |
libv4l? ( v4l ) |
278 |
fftools_cws2fws? ( zlib ) |
282 |
fftools_cws2fws? ( zlib ) |
279 |
test? ( encode ) |
283 |
test? ( encode ) |
280 |
${GPL_REQUIRED_USE} |
284 |
${GPL_REQUIRED_USE} |
281 |
${CPU_REQUIRED_USE}" |
285 |
${CPU_REQUIRED_USE}" |
282 |
RESTRICT=" |
286 |
RESTRICT=" |
283 |
encode? ( faac? ( bindist ) ) |
|
|
284 |
gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) |
287 |
gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) |
|
|
288 |
cuda? ( bindist ) |
285 |
" |
289 |
" |
286 |
|
290 |
|
287 |
S=${WORKDIR}/${P/_/-} |
291 |
S=${WORKDIR}/${P/_/-} |
Lines 299-304
Link Here
|
299 |
|
303 |
|
300 |
multilib_src_configure() { |
304 |
multilib_src_configure() { |
301 |
local myconf=( ${EXTRA_FFMPEG_CONF} ) |
305 |
local myconf=( ${EXTRA_FFMPEG_CONF} ) |
|
|
306 |
local extra_cflags=() |
307 |
local extra_ldflags=() |
302 |
|
308 |
|
303 |
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) |
309 |
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) |
304 |
use openssl && use gpl && myconf+=( --enable-nonfree ) |
310 |
use openssl && use gpl && myconf+=( --enable-nonfree ) |
Lines 312-320
Link Here
|
312 |
if use amrenc ; then |
318 |
if use amrenc ; then |
313 |
myconf+=( --enable-version3 ) |
319 |
myconf+=( --enable-version3 ) |
314 |
fi |
320 |
fi |
315 |
if use faac ; then |
|
|
316 |
myconf+=( --enable-nonfree ) |
317 |
fi |
318 |
else |
321 |
else |
319 |
myconf+=( --disable-encoders ) |
322 |
myconf+=( --disable-encoders ) |
320 |
fi |
323 |
fi |
Lines 327-335
Link Here
|
327 |
use xcb || ffuse+=( X:x11grab ) |
330 |
use xcb || ffuse+=( X:x11grab ) |
328 |
|
331 |
|
329 |
# Outdevs |
332 |
# Outdevs |
330 |
for i in alsa oss sdl ; do |
333 |
for i in alsa oss ; do |
331 |
use ${i} || myconf+=( --disable-outdev=${i} ) |
334 |
use ${i} || myconf+=( --disable-outdev=${i} ) |
332 |
done |
335 |
done |
|
|
336 |
use sdl || myconf+=( --disable-outdev=sdl2 ) |
333 |
|
337 |
|
334 |
# Decoders |
338 |
# Decoders |
335 |
use amr && myconf+=( --enable-version3 ) |
339 |
use amr && myconf+=( --enable-version3 ) |
Lines 340-345
Link Here
|
340 |
myconf+=( $(use_enable ${i%:*} ${i#*:}) ) |
344 |
myconf+=( $(use_enable ${i%:*} ${i#*:}) ) |
341 |
done |
345 |
done |
342 |
|
346 |
|
|
|
347 |
if [[ ${ABI} == amd64 ]] && use cuda; then |
348 |
myconf+=( --enable-nonfree --enable-cuda ) |
349 |
use libnpp && myconf+=( --enable-libnpp ) |
350 |
extra_cflags+=( "-I/opt/cuda/include" ) |
351 |
extra_ldflags+=( "-L/opt/cuda/lib64" ) |
352 |
fi |
353 |
|
354 |
use nasm && myconf+=( --yasmexe=nasm ) |
355 |
|
343 |
# (temporarily) disable non-multilib deps |
356 |
# (temporarily) disable non-multilib deps |
344 |
if ! multilib_is_native_abi; then |
357 |
if ! multilib_is_native_abi; then |
345 |
for i in frei0r ; do |
358 |
for i in frei0r ; do |
Lines 421-426
Link Here
|
421 |
--cxx="$(tc-getCXX)" \ |
434 |
--cxx="$(tc-getCXX)" \ |
422 |
--ar="$(tc-getAR)" \ |
435 |
--ar="$(tc-getAR)" \ |
423 |
--optflags="${CFLAGS}" \ |
436 |
--optflags="${CFLAGS}" \ |
|
|
437 |
--extra-cflags="${extra_cflags[*]}" \ |
438 |
--extra-ldflags="${extra_ldflags[*]}" \ |
424 |
$(use_enable static-libs static) \ |
439 |
$(use_enable static-libs static) \ |
425 |
"${myconf[@]}" |
440 |
"${myconf[@]}" |
426 |
echo "${@}" |
441 |
echo "${@}" |