summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Redaelli <drizzt@gentoo.org>2007-01-29 10:28:38 +0000
committerTimothy Redaelli <drizzt@gentoo.org>2007-01-29 10:28:38 +0000
commite04d55de1e58dcf30526f6ac73548f7950f9ea6d (patch)
treecda55eca76fda8513822d8e92e2255164de9151c
parentRemove mplayer use (diff)
downloaddrizzt-e04d55de1e58dcf30526f6ac73548f7950f9ea6d.tar.gz
drizzt-e04d55de1e58dcf30526f6ac73548f7950f9ea6d.tar.bz2
drizzt-e04d55de1e58dcf30526f6ac73548f7950f9ea6d.zip
Added ffmpeg scm version
svn path=/; revision=90
-rw-r--r--media-video/ffmpeg/ChangeLog7
-rw-r--r--media-video/ffmpeg/Manifest31
-rw-r--r--media-video/ffmpeg/ffmpeg-9999.ebuild174
-rw-r--r--media-video/ffmpeg/files/digest-ffmpeg-99996
-rw-r--r--media-video/ffmpeg/files/ffmpeg-0.4.9_p20060302-amr-64bit.patch27
-rw-r--r--media-video/ffmpeg/files/ffmpeg-shared-gcc4.1.patch40
6 files changed, 285 insertions, 0 deletions
diff --git a/media-video/ffmpeg/ChangeLog b/media-video/ffmpeg/ChangeLog
new file mode 100644
index 0000000..65d24bb
--- /dev/null
+++ b/media-video/ffmpeg/ChangeLog
@@ -0,0 +1,7 @@
+# ChangeLog for media-video/ffmpeg
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 29 Jan 2007; Timothy Redaelli <drizzt@gentoo.org> ChangeLog:
+ Added ffmpeg scm version
+
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
new file mode 100644
index 0000000..7ea6211
--- /dev/null
+++ b/media-video/ffmpeg/Manifest
@@ -0,0 +1,31 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX ffmpeg-0.4.9_p20060302-amr-64bit.patch 1161 RMD160 c3e17a8e8a3e501ae9ce8b8e455063444d1bc15f SHA1 e4f280a2934e238529ca8b0d8d2abec2638d9fb1 SHA256 f993ac1ad11e254d846fbd0b3f73f81043551fce90438fdd196374ca9ece6c9c
+MD5 fefa74601660fd82e001bd32b27ac34a files/ffmpeg-0.4.9_p20060302-amr-64bit.patch 1161
+RMD160 c3e17a8e8a3e501ae9ce8b8e455063444d1bc15f files/ffmpeg-0.4.9_p20060302-amr-64bit.patch 1161
+SHA256 f993ac1ad11e254d846fbd0b3f73f81043551fce90438fdd196374ca9ece6c9c files/ffmpeg-0.4.9_p20060302-amr-64bit.patch 1161
+AUX ffmpeg-shared-gcc4.1.patch 1667 RMD160 cf0318bcb812ad701e8cd55f10f59ca71933cf6c SHA1 0fd4d860efd8a0240fa66443429d8404d28a27dd SHA256 0bd67ed0cc1ea47c36756f5a66e504af4de85ce072c4b92083fb44065b5a3671
+MD5 d970f65795ef8b8ce839c01020b0e707 files/ffmpeg-shared-gcc4.1.patch 1667
+RMD160 cf0318bcb812ad701e8cd55f10f59ca71933cf6c files/ffmpeg-shared-gcc4.1.patch 1667
+SHA256 0bd67ed0cc1ea47c36756f5a66e504af4de85ce072c4b92083fb44065b5a3671 files/ffmpeg-shared-gcc4.1.patch 1667
+DIST 26104-510.zip 291836 RMD160 0ff97a27fe5d08dd43571fd1982ce0f07bce3bca SHA1 b22dbe895991c23fad446c3c4ff7b6db12673778 SHA256 75fdf6416950c155ccbfd7fae4ffd6529f162ad6b427ab242c3e00685e303f46
+DIST 26204-510.zip 246663 RMD160 1b68232bc40d84298b134c57697e29a842e63ffd SHA1 9ca910295c2888fba95a98da83762a22aaf34651 SHA256 069ebd6ed8ef846d99bdd13d6c47fdb99fe5583b0ed5f405e1392a1a21a1b991
+EBUILD ffmpeg-9999.ebuild 5513 RMD160 155060c4fbdf92ca94a2dfe6cf691ec6ca32f4f7 SHA1 af5de3b7780ed07255e55d2804316ae061c56b4d SHA256 ab033ee87a7dba76d0d9dea137ae9361442ca3b1dd30626240526136d70062cb
+MD5 e452fbc906f33e848a27731b31d01191 ffmpeg-9999.ebuild 5513
+RMD160 155060c4fbdf92ca94a2dfe6cf691ec6ca32f4f7 ffmpeg-9999.ebuild 5513
+SHA256 ab033ee87a7dba76d0d9dea137ae9361442ca3b1dd30626240526136d70062cb ffmpeg-9999.ebuild 5513
+MISC ChangeLog 210 RMD160 2812f001d2afd918862c5265c6e3cb7614c9dbd7 SHA1 8f7710ce038a84161408f4432510672f07d72ea6 SHA256 07dccfb895c00d33d8b6fb3164152715a8274a30406da36eed3cce280ceeb1d9
+MD5 c6d7b0bcd11249d71f9040ae8a3e59f5 ChangeLog 210
+RMD160 2812f001d2afd918862c5265c6e3cb7614c9dbd7 ChangeLog 210
+SHA256 07dccfb895c00d33d8b6fb3164152715a8274a30406da36eed3cce280ceeb1d9 ChangeLog 210
+MD5 62a77f586b385b299d497abecaf2d345 files/digest-ffmpeg-9999 440
+RMD160 f6b438fc4d060efe5052856d770883867b1280e8 files/digest-ffmpeg-9999 440
+SHA256 c2b8bc9637aa8723f1a181124ebe02b54d50a3a14c254b9e998c61a6ad909a3c files/digest-ffmpeg-9999 440
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.1 (GNU/Linux)
+
+iD8DBQFFvcxSGDyatLGpTbYRAmuKAJsF2+PcQ390T35vUcNEbEgilQ9BYACaAxIm
+RS2aGilBEXqixdVzsWKPJ6w=
+=JZ3P
+-----END PGP SIGNATURE-----
diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild
new file mode 100644
index 0000000..109b6f6
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20061016.ebuild,v 1.10 2007/01/06 15:16:15 mcummings Exp $
+
+inherit subversion eutils flag-o-matic multilib toolchain-funcs
+
+ESVN_PROJECT="ffmpeg"
+ESVN_REPO_URI="svn://svn.mplayerhq.hu/ffmpeg/trunk"
+
+DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec."
+HOMEPAGE="http://ffmpeg.sourceforge.net/"
+MY_P=${P/_/-}
+S=${WORKDIR}/ffmpeg
+
+SRC_URI="amr? ( http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip
+ http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="aac altivec amr debug doc ieee1394 a52 encode imlib mmx ogg vorbis oss
+ test theora threads truetype v4l x264 xvid dts network zlib sdl"
+
+RDEPEND="imlib? ( media-libs/imlib2 )
+ truetype? ( >=media-libs/freetype-2 )
+ sdl? ( >=media-libs/libsdl-1.2.10 )
+ encode? ( media-sound/lame )
+ ogg? ( media-libs/libogg )
+ vorbis? ( media-libs/libvorbis )
+ aac? ( media-libs/faad2 media-libs/faac )
+ a52? ( >=media-libs/a52dec-0.7.4-r4 )
+ xvid? ( >=media-libs/xvid-1.1.0 )
+ zlib? ( sys-libs/zlib )
+ dts? ( media-libs/libdts )
+ ieee1394? ( =media-libs/libdc1394-1*
+ sys-libs/libraw1394 )
+ x264? ( >=media-libs/x264-svn-20061014 )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-text/texi2html )
+ test? ( net-misc/wget )
+ amr? ( app-arch/unzip )"
+
+src_unpack() {
+ unpack ${A}
+ subversion_src_unpack
+
+ if use amr; then
+ einfo "Including amr wide and narrow band (float) support ... "
+
+ # narrow band codec
+ unzip -q ${WORKDIR}/26104-510_ANSI_C_source_code.zip -d \
+ ${S}/libavcodec/amr_float || die
+
+ # wide band codec
+ unzip -q ${WORKDIR}/26204-510_ANSI-C_source_code.zip -d \
+ ${S}/libavcodec/amrwb_float || die
+
+ # Patch if we're on 64-bit
+ if useq alpha || useq amd64 || useq ia64 || useq ppc64; then
+ epatch "${FILESDIR}/ffmpeg-0.4.9_p20060302-amr-64bit.patch"
+ fi
+ fi
+
+ #Append -fomit-frame-pointer to avoid some common issues
+ use debug || append-flags "-fomit-frame-pointer"
+
+ # for some reason it tries to #include <X11/Xlib.h>, but doesn't use it
+ sed -i s:\#define\ HAVE_X11:\#define\ HAVE_LINUX: ffplay.c
+
+ # Make it use pic always since we don't need textrels
+ sed -i -e "s:LIBOBJFLAGS=\"\":LIBOBJFLAGS=\'\$\(PIC\)\':" configure
+
+ # To make sure the ffserver test will work
+ sed -i -e "s:-e debug=off::" tests/server-regression.sh
+
+ # CC is not always gcc
+ sed -i -e "s:cc=\"gcc\":cc=\"$(tc-getCC)\":" configure
+
+ epatch "${FILESDIR}/${PN}-shared-gcc4.1.patch"
+}
+
+src_compile() {
+ replace-flags -O0 -O2
+ #x86, what a wonderful arch....
+ replace-flags -O1 -O2
+ local myconf="${EXTRA_ECONF}"
+
+ #disable mmx accelerated code if not requested, or if PIC is required
+ # as the provided asm decidedly is not PIC.
+ if ( gcc-specs-pie || ! use mmx ) && ( ! use amd64 ); then
+ myconf="${myconf} --disable-mmx"
+ fi
+
+ # enabled by default
+ use altivec || myconf="${myconf} --disable-altivec"
+ use debug || myconf="${myconf} --disable-debug"
+ use oss || myconf="${myconf} --disable-audio-oss"
+ use v4l || myconf="${myconf} --disable-v4l --disable-v4l2"
+ use ieee1394 || myconf="${myconf} --disable-dv1394"
+ use network || myconf="${myconf} --disable-network"
+ use zlib || myconf="${myconf} --disable-zlib"
+ use sdl || myconf="${myconf} --disable-ffplay"
+
+ myconf="${myconf} --disable-opts"
+
+ # disabled by default
+ use encode && myconf="${myconf} --enable-mp3lame"
+ use a52 && myconf="${myconf} --enable-a52"
+ use ieee1394 && myconf="${myconf} --enable-dc1394"
+ use threads && myconf="${myconf} --enable-pthreads"
+ use xvid && myconf="${myconf} --enable-xvid"
+ if use vorbis
+ then
+ myconf="${myconf} --enable-vorbis --enable-libogg"
+ else
+ use ogg && myconf="${myconf} --enable-libogg"
+ fi
+ use dts && myconf="${myconf} --enable-dts"
+ use x264 && myconf="${myconf} --enable-x264"
+ use aac && myconf="${myconf} --enable-faad --enable-faac"
+ use amr && myconf="${myconf} --enable-amr_nb --enable-amr_wb"
+
+ myconf="${myconf} --enable-gpl --enable-pp --disable-strip"
+
+ # Specific workarounds for too-few-registers arch...
+ if [[ $(tc-arch) == "x86" ]]; then
+ filter-flags -fforce-addr -momit-leaf-frame-pointer
+ append-flags -fomit-frame-pointer
+ is-flag -O? || append-flags -O2
+ if (use debug); then
+ # no need to warn about debug if not using debug flag
+ ewarn ""
+ ewarn "Debug information will be almost useless as the frame pointer is omitted."
+ ewarn "This makes debugging harder, so crashes that has no fixed behavior are"
+ ewarn "difficult to fix. Please have that in mind."
+ ewarn ""
+ fi
+ fi
+
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/$(get_libdir) \
+ --shlibdir=/usr/$(get_libdir) \
+ --mandir=/usr/share/man \
+ --enable-static --enable-shared \
+ "--cc=$(tc-getCC)" \
+ ${myconf} || die "configure failed"
+
+ emake -j1 depend || die "depend failed"
+ emake || die "make failed"
+}
+
+src_install() {
+ emake -j1 LDCONFIG=true DESTDIR=${D} install || die "Install Failed"
+
+ use doc && emake -j1 documentation
+ dodoc Changelog README INSTALL
+ dodoc doc/*
+}
+
+# Never die for now...
+src_test() {
+ cd ${S}/tests
+ for t in "codectest libavtest test-server" ; do
+ make ${t} || ewarn "Some tests in ${t} failed"
+ done
+}
+
+pkg_postinst() {
+ ewarn "ffmpeg may had ABI changes, if ffmpeg based programs"
+ ewarn "like xine-lib or vlc stop working as expected please"
+ ewarn "rebuild them."
+}
diff --git a/media-video/ffmpeg/files/digest-ffmpeg-9999 b/media-video/ffmpeg/files/digest-ffmpeg-9999
new file mode 100644
index 0000000..3ed7250
--- /dev/null
+++ b/media-video/ffmpeg/files/digest-ffmpeg-9999
@@ -0,0 +1,6 @@
+MD5 9b575d01f94f50dd4dcf570cd8a14dda 26104-510.zip 291836
+RMD160 0ff97a27fe5d08dd43571fd1982ce0f07bce3bca 26104-510.zip 291836
+SHA256 75fdf6416950c155ccbfd7fae4ffd6529f162ad6b427ab242c3e00685e303f46 26104-510.zip 291836
+MD5 607a14d090898ffb0f72c1aa6aa6ce31 26204-510.zip 246663
+RMD160 1b68232bc40d84298b134c57697e29a842e63ffd 26204-510.zip 246663
+SHA256 069ebd6ed8ef846d99bdd13d6c47fdb99fe5583b0ed5f405e1392a1a21a1b991 26204-510.zip 246663
diff --git a/media-video/ffmpeg/files/ffmpeg-0.4.9_p20060302-amr-64bit.patch b/media-video/ffmpeg/files/ffmpeg-0.4.9_p20060302-amr-64bit.patch
new file mode 100644
index 0000000..540ef94
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-0.4.9_p20060302-amr-64bit.patch
@@ -0,0 +1,27 @@
+diff --exclude-from=/home/dang/.diffrc -u -ruN ffmpeg-0.4.9-p20060302.orig/libavcodec/amr_float/typedef.h ffmpeg-0.4.9-p20060302/libavcodec/amr_float/typedef.h
+--- ffmpeg-0.4.9-p20060302.orig/libavcodec/amr_float/typedef.h 2003-03-26 14:15:42.000000000 -0500
++++ ffmpeg-0.4.9-p20060302/libavcodec/amr_float/typedef.h 2006-04-19 18:39:20.000000000 -0400
+@@ -16,7 +16,7 @@
+ typedef char Word8;
+ typedef unsigned char UWord8;
+ typedef short Word16;
+-typedef long Word32;
++typedef int Word32;
+ typedef float Float32;
+ typedef double Float64;
+
+diff --exclude-from=/home/dang/.diffrc -u -ruN ffmpeg-0.4.9-p20060302.orig/libavcodec/amrwb_float/typedef.h ffmpeg-0.4.9-p20060302/libavcodec/amrwb_float/typedef.h
+--- ffmpeg-0.4.9-p20060302.orig/libavcodec/amrwb_float/typedef.h 2003-02-18 00:00:02.000000000 -0500
++++ ffmpeg-0.4.9-p20060302/libavcodec/amrwb_float/typedef.h 2006-04-19 18:37:30.000000000 -0400
+@@ -11,8 +11,8 @@
+ typedef unsigned char UWord8;
+ typedef short Word16;
+ typedef unsigned short UWord16;
+-typedef long Word32;
++typedef int Word32;
+ typedef double Float64;
+ typedef float Float32;
+
+-#endif
+\ No newline at end of file
++#endif
diff --git a/media-video/ffmpeg/files/ffmpeg-shared-gcc4.1.patch b/media-video/ffmpeg/files/ffmpeg-shared-gcc4.1.patch
new file mode 100644
index 0000000..680c755
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-shared-gcc4.1.patch
@@ -0,0 +1,40 @@
+--- ffmpeg.orig/libavcodec/i386/dsputil_mmx.c 2006-03-04 07:50:27.000000000 +0100
++++ ffmpeg/libavcodec/i386/dsputil_mmx.c 2006-03-04 07:49:04.000000000 +0100
+@@ -619,10 +619,22 @@
+
+ static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){
+ asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
+- "movd %4, %%mm0 \n\t"
+- "movd %5, %%mm1 \n\t"
+- "movd %6, %%mm2 \n\t"
+- "movd %7, %%mm3 \n\t"
++ "movd %0, %%mm0 \n\t"
++ "movd %1, %%mm1 \n\t"
++ "movd %2, %%mm2 \n\t"
++
++ :
++ : "m" (*(uint32_t*)(src + 0*src_stride)),
++ "m" (*(uint32_t*)(src + 1*src_stride)),
++ "m" (*(uint32_t*)(src + 2*src_stride))
++ );
++ asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
++ "movd %0, %%mm3 \n\t"
++
++ :
++ : "m" (*(uint32_t*)(src + 3*src_stride))
++ );
++ asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
+ "punpcklbw %%mm1, %%mm0 \n\t"
+ "punpcklbw %%mm3, %%mm2 \n\t"
+ "movq %%mm0, %%mm1 \n\t"
+@@ -639,10 +651,6 @@
+ "=m" (*(uint32_t*)(dst + 1*dst_stride)),
+ "=m" (*(uint32_t*)(dst + 2*dst_stride)),
+ "=m" (*(uint32_t*)(dst + 3*dst_stride))
+- : "m" (*(uint32_t*)(src + 0*src_stride)),
+- "m" (*(uint32_t*)(src + 1*src_stride)),
+- "m" (*(uint32_t*)(src + 2*src_stride)),
+- "m" (*(uint32_t*)(src + 3*src_stride))
+ );
+ }
+