Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 595636 - media-video/ffmpeg-9999 ebuild updates
Summary: media-video/ffmpeg-9999 ebuild updates
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-30 12:18 UTC by Timo Rothenpieler
Modified: 2018-04-23 10:47 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ffmpeg-9999.ebuild.patch (ffmpeg-9999.ebuild.patch,2.61 KB, patch)
2016-09-30 12:18 UTC, Timo Rothenpieler
Details | Diff
ffmpeg-9999.ebuild (ffmpeg-9999.ebuild,14.97 KB, text/plain)
2016-09-30 12:19 UTC, Timo Rothenpieler
Details
ffmpeg-9999.ebuild.patch (ffmpeg-9999.ebuild.patch,3.62 KB, patch)
2016-10-01 22:30 UTC, Timo Rothenpieler
Details | Diff
ffmpeg-9999.ebuild (ffmpeg-9999.ebuild,14.91 KB, text/plain)
2016-10-01 22:31 UTC, Timo Rothenpieler
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Timo Rothenpieler 2016-09-30 12:18:18 UTC
Created attachment 448496 [details, diff]
ffmpeg-9999.ebuild.patch

- sdl1 got removed, now using sdl2.
 - nvenc no longer has any external dependencies
 - add support for cuda/libnpp.

Enabling CUDA adds support for video decoding via cuvid, as well as zero-copy transcoding from cuvid to nvenc.

libnpp is the nvidia performance primitives library, which has functions for GPU accelerated image scaling and transformation.
With it images can be scaled on the GPU, so one can decode using cuvid, scale the image with libnpp, and encode with nvenc, all without the image ever reaching system memory.
Comment 1 Timo Rothenpieler 2016-09-30 12:19:02 UTC
Created attachment 448498 [details]
ffmpeg-9999.ebuild

Updated ebuild
Comment 2 Alexis Ballier gentoo-dev 2016-09-30 12:44:45 UTC
Comment on attachment 448496 [details, diff]
ffmpeg-9999.ebuild.patch

> 	# Decoders
> 	use amr && myconf+=( --enable-version3 )
>@@ -340,6 +346,13 @@
> 		myconf+=( $(use_enable ${i%:*} ${i#*:}) )
> 	done
> 
>+	if [[ ${ABI} == amd64 ]] && use cuda; then

what about other abis ? what about non x86 ?
i think the proper solution is to p.use.mask cuda on other arches

>+		myconf+=( --enable-nonfree --enable-cuda )
>+		use libnpp && myconf+=( --enable-libnpp )

FFMPEG_FLAG_MAP already takes care of that for you (exept non free suff)



(other parts lgtm)
Comment 3 Timo Rothenpieler 2016-09-30 12:47:50 UTC
There is no CUDA sdk/capable driver on any other platform than amd64.
Which is also the reason why it's not in FFMPEG_FLAG_MAP. Adding it there would enable it on abi_x86_32 as well, where it would fail the build.
Comment 4 Timo Rothenpieler 2016-10-01 22:30:47 UTC
Created attachment 448744 [details, diff]
ffmpeg-9999.ebuild.patch

More updates:

Add support for using nasm instead of yasm.
In the future, nasm might become the preferred/mandatory choice for ffmpeg, as yasm development is dead and for example avx-512 support is entirely missing.

Remove faac. It just got removed from ffmpeg master, and configure fails because of an unknown option.
Comment 5 Timo Rothenpieler 2016-10-01 22:31:20 UTC
Created attachment 448746 [details]
ffmpeg-9999.ebuild