summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/x264-encoder/Manifest1
-rw-r--r--media-video/x264-encoder/x264-encoder-0.0.20190903.ebuild74
2 files changed, 75 insertions, 0 deletions
diff --git a/media-video/x264-encoder/Manifest b/media-video/x264-encoder/Manifest
index 9e07ce682c0d..fd3a99264506 100644
--- a/media-video/x264-encoder/Manifest
+++ b/media-video/x264-encoder/Manifest
@@ -1 +1,2 @@
DIST x264-snapshot-20190214-2245.tar.bz2 770462 BLAKE2B d90a3bafb88febe12526b225617616a62c32fa3d3eacf410267e1fbd7e0fafaadca7c146172c08fc525bce8791d81c7d87dc27b06d61a6a44bf2ad92f6c1def6 SHA512 c8b1b46d4e6c0ef653dab35083a454c635ebf72c6a5255ce30bbb5d9d6bb8e23fca0e6cc197ea99f3c702fbfec096587df6fa82dec338d8bd45e35fa89c43039
+DIST x264-snapshot-20190903-2245.tar.bz2 774515 BLAKE2B 0b19fc1d3cedea32bfac9c5247bce7b3c04dead35458d61f3b5c0694040dc852b0110b620faf4118ed265a5605aafce3c49d468d38fb91e4c515b2860c486920 SHA512 c357c9025ffdf653c974eb7ccc2e9a4de86c02881372a6a8270ae59ce948c284da48a2aba37763bd29359d2a6dfc76ea56a52fed6082f8483912c8f948488a2d
diff --git a/media-video/x264-encoder/x264-encoder-0.0.20190903.ebuild b/media-video/x264-encoder/x264-encoder-0.0.20190903.ebuild
new file mode 100644
index 000000000000..207434fe1c32
--- /dev/null
+++ b/media-video/x264-encoder/x264-encoder-0.0.20190903.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A free commandline encoder for X264/AVC streams"
+HOMEPAGE="https://www.videolan.org/developers/x264.html"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://code.videolan.org/videolan/x264.git"
+ SRC_URI=""
+else
+ MY_P="x264-snapshot-$(ver_cut 3)-2245"
+ SRC_URI="http://download.videolan.org/pub/videolan/x264/snapshots/${MY_P}.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="avs custom-cflags ffmpeg ffmpegsource +interlaced libav mp4 +threads"
+
+REQUIRED_USE="ffmpegsource? ( ffmpeg )"
+
+RDEPEND="
+ ~media-libs/x264-${PV}[interlaced=,threads=]
+ ffmpeg? (
+ !libav? ( media-video/ffmpeg:= )
+ libav? ( media-video/libav:= )
+ )
+ ffmpegsource? ( media-libs/ffmpegsource )
+ mp4? ( >=media-video/gpac-0.5.2:= )"
+
+ASM_DEP=">=dev-lang/nasm-2.13"
+DEPEND="${RDEPEND}
+ amd64? ( ${ASM_DEP} )
+ x86? ( ${ASM_DEP} )
+ x86-fbsd? ( ${ASM_DEP} )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/gpac.patch" )
+
+src_configure() {
+ tc-export CC
+
+ # let upstream pick the optimization level by default
+ use custom-cflags || filter-flags -O?
+
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --system-libx264 \
+ --host="${CHOST}" \
+ --disable-lsmash \
+ $(usex avs "" "--disable-avs") \
+ $(usex ffmpeg "" "--disable-lavf --disable-swscale") \
+ $(usex ffmpegsource "" "--disable-ffms") \
+ $(usex interlaced "" "--disable-interlaced") \
+ $(usex mp4 "" "--disable-gpac") \
+ $(usex threads "" "--disable-thread") || die
+
+ # this is a nasty workaround for bug #376925 for x264 that also applies
+ # here, needed because as upstream doesn't like us fiddling with their CFLAGS
+ if use custom-cflags; then
+ local cflags
+ cflags="$(grep "^CFLAGS=" config.mak | sed 's/CFLAGS=//')"
+ cflags="${cflags//$(get-flag O)/}"
+ cflags="${cflags//-O? /$(get-flag O) }"
+ cflags="${cflags//-g /}"
+ sed -i "s:^CFLAGS=.*:CFLAGS=${cflags//:/\\:}:" config.mak
+ fi
+}