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.
Created attachment 448498 [details] ffmpeg-9999.ebuild Updated ebuild
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)
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.
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.
Created attachment 448746 [details] ffmpeg-9999.ebuild