From 1126dba59a80fce29c5ba7534257525198d99ecd Mon Sep 17 00:00:00 2001 From: Zhang Le Date: Thu, 10 Jun 2010 11:53:02 +0800 Subject: added ffmpeg-0.5_p22846.ebuild Signed-off-by: Zhang Le --- media-video/ffmpeg/ChangeLog | 1520 ++++++++++++++++++++ media-video/ffmpeg/Manifest | 5 + media-video/ffmpeg/ffmpeg-0.5_p22846.ebuild | 249 ++++ media-video/ffmpeg/files/ffmpeg-loongson.patch | 1794 ++++++++++++++++++++++++ media-video/ffmpeg/metadata.xml | 28 + 5 files changed, 3596 insertions(+) create mode 100644 media-video/ffmpeg/ChangeLog create mode 100644 media-video/ffmpeg/Manifest create mode 100644 media-video/ffmpeg/ffmpeg-0.5_p22846.ebuild create mode 100644 media-video/ffmpeg/files/ffmpeg-loongson.patch create mode 100644 media-video/ffmpeg/metadata.xml (limited to 'media-video') diff --git a/media-video/ffmpeg/ChangeLog b/media-video/ffmpeg/ChangeLog new file mode 100644 index 0000000..83619bf --- /dev/null +++ b/media-video/ffmpeg/ChangeLog @@ -0,0 +1,1520 @@ +# ChangeLog for media-video/ffmpeg +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.351 2010/05/11 10:18:21 aballier Exp $ + + 11 May 2010; Alexis Ballier ffmpeg-9999-r1.ebuild, + metadata.xml: + add vaapi useflag, by Olivier Huber , bug #308857 + + 11 May 2010; Alexis Ballier + ffmpeg-0.5_p20373.ebuild, ffmpeg-0.5_p22846.ebuild: + force disabling vaapi to avoid automagics on unmasked versions, bug + #308857 + + 11 May 2010; Alexis Ballier + -ffmpeg-0.5_p20601-r1.ebuild, -ffmpeg-0.5_p21602.ebuild, + -files/ffmpeg-0.5_p20601-r1-libtheora.patch: + remove old + + 23 Apr 2010; Samuli Suominen + ffmpeg-0.5_p20373.ebuild, ffmpeg-0.5_p20601-r1.ebuild, + ffmpeg-0.5_p21602.ebuild, ffmpeg-0.5_p22846.ebuild, metadata.xml: + Rename USE opencore-amr to amr. + + 23 Apr 2010; Alexis Ballier ffmpeg-9999-r1.ebuild: + rename opencore-amr useflag to amr, we should get rid of the old non free + one + +*ffmpeg-0.5_p22846 (12 Apr 2010) + + 12 Apr 2010; Alexis Ballier + +ffmpeg-0.5_p22846.ebuild: + push a new snapshot + + 13 Mar 2010; Luca Barbato ffmpeg-0.5_p20373.ebuild, + ffmpeg-0.5_p20601-r1.ebuild, ffmpeg-0.5_p21602.ebuild, + ffmpeg-9999-r1.ebuild: + Add dep on pkg-config, fixes bug #306943 + + 10 Mar 2010; Alexis Ballier ffmpeg-9999-r1.ebuild: + simplify libgsm code as upstream now uses a more standard way for + #including it + + 04 Feb 2010; Alexis Ballier + ffmpeg-0.5_p21602.ebuild, ffmpeg-9999-r1.ebuild: + Remove ipv6 useflag, it cannot be disabled separately anymore and is + automatically enabled when available with USE=network, reported by marienz + +*ffmpeg-0.5_p21602 (02 Feb 2010) + + 02 Feb 2010; Alexis Ballier + +ffmpeg-0.5_p21602.ebuild: + bump a new snapshot + + 31 Jan 2010; Raúl Porcel ffmpeg-0.5_p20373.ebuild: + ia64/sparc stable + + 26 Jan 2010; Dror Levin ffmpeg-0.5_p20601-r1.ebuild, + ffmpeg-9999-r1.ebuild: + Handle -march=*-sse3 properly, bug 283968; Install the manpages, bug + 288467. + + 26 Jan 2010; Dror Levin ffmpeg-0.5_p20601-r1.ebuild, + ffmpeg-9999-r1.ebuild: + Fix faac handling if USE=-encode, bug 300364. + + 24 Jan 2010; Tobias Klausmann + ffmpeg-0.5_p20373.ebuild: + Stable on alpha, bug #297847 + + 19 Jan 2010; Alexis Ballier ffmpeg-9999-r1.ebuild: + Adjust x264 deps + + 09 Jan 2010; Christian Faulhammer + ffmpeg-0.5_p20373.ebuild: + stable x86, bug 297847 + + 07 Jan 2010; Brent Baude ffmpeg-0.5_p20373.ebuild: + Marking ffmpeg-0.5_p20373 ppc for bug 297847 + + 06 Jan 2010; Brent Baude ffmpeg-0.5_p20373.ebuild: + Marking ffmpeg-0.5_p20373 ppc64 for bug 297847 + + 04 Jan 2010; Markus Meier ffmpeg-0.5_p20373.ebuild: + arm stable, bug #297847 + + 24 Dec 2009; Jeroen Roovers ffmpeg-0.5_p20373.ebuild: + Stable for HPPA (bug #297847). + + 22 Dec 2009; Samuli Suominen + ffmpeg-0.5_p20373.ebuild: + amd64 stable wrt #297847 + +*ffmpeg-0.5_p20601-r1 (26 Nov 2009) + + 26 Nov 2009; Steve Dibb -ffmpeg-0.5_p20601.ebuild, + +ffmpeg-0.5_p20601-r1.ebuild, +files/ffmpeg-0.5_p20601-r1-libtheora.patch: + Fix x264 compiling; libtheora patch for 1.0; bug 294469 + + 25 Nov 2009; Steve Dibb ffmpeg-0.5_p20601.ebuild, + ffmpeg-9999-r1.ebuild: + Fix libtheora dep + + 24 Nov 2009; Steve Dibb ffmpeg-9999-r1.ebuild: + Update vdpau deps + +*ffmpeg-0.5_p20601 (24 Nov 2009) + + 24 Nov 2009; Steve Dibb +ffmpeg-0.5_p20601.ebuild: + Snapshot bump + + 18 Nov 2009; Raúl Porcel ffmpeg-0.5_p20373.ebuild: + Re-add ~sparc wrt #283953 + + 17 Nov 2009; Alexis Ballier + -ffmpeg-0.5_p19928.ebuild: + remove old + + 06 Nov 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + Force disabling doc with use=-doc + +*ffmpeg-0.5_p20373 (26 Oct 2009) + + 26 Oct 2009; Alexis Ballier + +ffmpeg-0.5_p20373.ebuild: + Bump a new snapshot + + 22 Oct 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + bump deps on x264 + + 22 Oct 2009; Samuli Suominen ffmpeg-0.5-r1.ebuild, + ffmpeg-0.5_p19928.ebuild: + Fix media-libs/x264 depend wrt #290080, thanks to Diego E. 'Flameeyes' + Pettenò for reporting. + + 28 Sep 2009; Alexis Ballier + -ffmpeg-0.5_p19787.ebuild: + remove old + + 28 Sep 2009; Alexis Ballier ffmpeg-9999-r1.ebuild, + metadata.xml: + Add a pic useflag + + 25 Sep 2009; Mounir Lamouri ffmpeg-0.5_p19928.ebuild: + Keywording for ppc. Bug 283953 + + 24 Sep 2009; Raúl Porcel ffmpeg-0.5_p19787.ebuild, + ffmpeg-0.5_p19928.ebuild: + Re-add ~ia64 wrt #283953 + + 23 Sep 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + bump x264 requirements + + 20 Sep 2009; Markus Meier ffmpeg-0.5_p19928.ebuild: + add ~arm + + 20 Sep 2009; Markus Meier ffmpeg-0.5_p19787.ebuild: + add ~arm, bug #283953 + +*ffmpeg-0.5_p19928 (20 Sep 2009) + + 20 Sep 2009; Alexis Ballier + +ffmpeg-0.5_p19928.ebuild: + bump a new snapshot + + 15 Sep 2009; Alexis Ballier ffmpeg-0.5-r1.ebuild: + Fix dependencies on x264 for 0.5, it doesn't detect the latest version, + bug #284937 + + 07 Sep 2009; Alexis Ballier + ffmpeg-0.5_p19787.ebuild, ffmpeg-9999-r1.ebuild: + disable tests without USE=encode, they fail if it is not enabled + + 07 Sep 2009; Alexis Ballier + ffmpeg-0.5_p19787.ebuild: + drop keywords for arches that dont have opencore-amr keyworded + +*ffmpeg-0.5_p19787 (06 Sep 2009) + + 06 Sep 2009; Alexis Ballier + +ffmpeg-0.5_p19787.ebuild: + Add today's ffmpeg svn snapshot. + + 06 Sep 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + Use ffmpeg.org svn repo and add PV conditionals so that we can make + snapshots by simply copying -9999 + + 06 Sep 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + Correctly detect cpu by upstream checks when march=native is used, bug + #273421 + + 04 Aug 2009; Samuli Suominen ffmpeg-9999-r1.ebuild, + metadata.xml: + Rename opencore-amrnb and opencore-amrwb to opencore-amr to keep it in + sync with MPlayer. + + 27 Jul 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + Set svn revision + + 25 Jul 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + set target os when crosscompiling for a different os, support for linux, + freebsd and mingw32 so far + + 22 Jul 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + Set cross-prefix when cross compiling so that CHOST-prefixed tools are + used + + 09 Jul 2009; Samuli Suominen ffmpeg-0.5-r1.ebuild, + ffmpeg-9999-r1.ebuild: + USE vdpau with VIDEO_CARDS=nvidia wrt #262433, thanks to Bob Deblier for + reporting. + + 08 Jul 2009; Samuli Suominen + ffmpeg-0.4.9_p20090201.ebuild, ffmpeg-0.5-r1.ebuild, + ffmpeg-9999-r1.ebuild: + Rename EXTRA_ECONF to EXTRA_FFMPEG_CONF because this package isn't using + econf and fails with --disable-dependency-tracking in it. + + 07 Jul 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + Drop libamr support, its been removed upstream + + 04 Jul 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + Reflect upstream changes for the way of disabling libavdevice in/outdevs + + 03 Jul 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + force a non free license only when needed, ie, when faac or amr is + requested + + 03 Jul 2009; Alexis Ballier ffmpeg-9999-r1.ebuild, + metadata.xml: + Add opencore-amr support, switch to GPL-3 + + 30 Jun 2009; Raúl Porcel ffmpeg-0.5-r1.ebuild: + arm/ia64/sparc stable + + 20 Jun 2009; Jeroen Roovers ffmpeg-0.5-r1.ebuild: + Stable for HPPA (bug #274666). + + 10 Jun 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + remove useless warning, it must not be the user's duty to figure out abi + breaks + + 10 Jun 2009; Alexis Ballier ffmpeg-9999-r1.ebuild: + make tests work when upgrading, they should pass so make them also fatal + + 10 Jun 2009; Alexis Ballier ffmpeg-0.5-r1.ebuild, + ffmpeg-9999-r1.ebuild: + eapi2ify and depend on libtheora[encode] when needed, reported by remi + + 21 May 2009; Brent Baude ffmpeg-0.5-r1.ebuild: + Marking ffmpeg-0.5-r1 ppc64 stable for bug 266986 + + 21 May 2009; Brent Baude ffmpeg-0.5-r1.ebuild: + Marking ffmpeg-0.5-r1 ppc stable for bug 266986 + + 16 May 2009; Mounir Lamouri metadata.xml: + Use global gsm USE flag instead of local one. + + 14 May 2009; Markus Meier ffmpeg-0.5-r1.ebuild: + amd64 stable, bug #266986 + + 12 May 2009; Christian Faulhammer ffmpeg-0.5-r1.ebuild: + stable x86, bug 266986 + + 03 May 2009; Peter Alfredsen ffmpeg-0.5-r1.ebuild: + Update deps for USE="lame" w.r.t. bug 265830. + + 03 May 2009; Tobias Klausmann ffmpeg-0.5-r1.ebuild: + Stable on alpha, bug #266986 + +*ffmpeg-9999-r1 (02 May 2009) + + 02 May 2009; Steve Dibb metadata.xml, + -ffmpeg-9999.ebuild, +ffmpeg-9999-r1.ebuild: + Add cpudetection use flag; require nonfree option for faac support + + 04 Apr 2009; Alexis Ballier + -files/ffmpeg-0.4.9_p20081014-sparc-gcc43.patch, + -files/ffmpeg-shared-gcc4.1.patch, -ffmpeg-0.4.9_p20081014.ebuild, + -ffmpeg-0.4.9_p20081219.ebuild, -ffmpeg-0.4.9_p20090121.ebuild, + -ffmpeg-0.4.9_p20090201-r1.ebuild: + remove old + + 04 Apr 2009; Raúl Porcel + ffmpeg-0.4.9_p20090201.ebuild, ffmpeg-0.4.9_p20090201-r1.ebuild, + ffmpeg-0.5-r1.ebuild, ffmpeg-9999.ebuild: + Enable arm optimizations again, now that i've found out that using -march + works fine + + 04 Apr 2009; Alexis Ballier ffmpeg-9999.ebuild: + add jack useflag + + 31 Mar 2009; Raúl Porcel + ffmpeg-0.4.9_p20090201.ebuild, ffmpeg-0.4.9_p20090201-r1.ebuild, + ffmpeg-0.5-r1.ebuild, ffmpeg-9999.ebuild: + arm stable, fix some arm-related stuff + + 11 Mar 2009; Steve Dibb metadata.xml, + ffmpeg-0.5-r1.ebuild, ffmpeg-9999.ebuild: + Fix faac local use flag desc; don't disable by default in IUSE + +*ffmpeg-0.5-r1 (10 Mar 2009) + + 10 Mar 2009; Steve Dibb metadata.xml, + -ffmpeg-0.5.ebuild, +ffmpeg-0.5-r1.ebuild, ffmpeg-9999.ebuild: + Drop aac use flag, split to faac / faad use flags - ffmpeg has native AAC + encoding / decoding which should be used by default; drop unused vhook use + flag on live ebuild + +*ffmpeg-0.5 (10 Mar 2009) + + 10 Mar 2009; Alexis Ballier +ffmpeg-0.5.ebuild: + Bump to the 0.5 release. + + 05 Mar 2009; Diego E. Pettenò metadata.xml, + ffmpeg-9999.ebuild: + Fix build with recent changes upstream (vhook removed in favour of + libavfilter, swscale cannot be disabled anylonger); merge the EAPI=1 + changes from the snapshotted version; add 3dnowext USE flag. + + 28 Feb 2009; Markus Meier metadata.xml: + custom-cflags is a global USE-flag + +*ffmpeg-0.4.9_p20090201-r1 (21 Feb 2009) + + 21 Feb 2009; Luca Barbato + +ffmpeg-0.4.9_p20090201-r1.ebuild: + Set some useflag defaults and other minor changes + + 11 Feb 2009; Tobias Scherbaum + ffmpeg-0.4.9_p20090201.ebuild: + ppc stable, bug #257217 + + 10 Feb 2009; Alexis Ballier ffmpeg-9999.ebuild: + add openjpeg support + + 09 Feb 2009; Raúl Porcel + ffmpeg-0.4.9_p20090201.ebuild: + ia64/sparc stable wrt #257217 + + 05 Feb 2009; Jeroen Roovers + ffmpeg-0.4.9_p20090201.ebuild: + Stable for HPPA (bug #257217). + + 04 Feb 2009; Markus Meier + ffmpeg-0.4.9_p20090201.ebuild: + x86 stable, bug #257217 + + 02 Feb 2009; Tobias Heinlein + ffmpeg-0.4.9_p20090201.ebuild: + amd64 stable wrt security bug 257217 + + 02 Feb 2009; Brent Baude + ffmpeg-0.4.9_p20090201.ebuild: + Marking ffmpeg-0.4.9_p20090201 ppc64 for bug 257217 + + 02 Feb 2009; Tobias Klausmann + ffmpeg-0.4.9_p20090201.ebuild: + Stable on alpha, bug #257217 + +*ffmpeg-0.4.9_p20090201 (01 Feb 2009) + + 01 Feb 2009; Alexis Ballier + +ffmpeg-0.4.9_p20090201.ebuild: + new snapshot, bug #257217 + + 31 Jan 2009; Tobias Klausmann + ffmpeg-0.4.9_p20081219.ebuild: + Stable on alpha, bug #255008 + + 27 Jan 2009; Alexis Ballier ffmpeg-9999.ebuild: + no need for local variables when we use them only once + + 27 Jan 2009; Alexis Ballier ffmpeg-9999.ebuild: + Add alsa/oss/3dnow useflags and disable servertest as its mainly broken + + 25 Jan 2009; Markus Meier + ffmpeg-0.4.9_p20081219.ebuild: + amd64/x86 stable, bug #255008 + + 25 Jan 2009; Brent Baude + ffmpeg-0.4.9_p20081219.ebuild: + stable ppc64, bug 255008 + +*ffmpeg-0.4.9_p20090121 (21 Jan 2009) + + 21 Jan 2009; Alexis Ballier + +ffmpeg-0.4.9_p20090121.ebuild: + push a new snapshot + + 20 Jan 2009; Alexis Ballier ffmpeg-9999.ebuild: + set empty keywords for the live ebuild + + 19 Jan 2009; Alexis Ballier + ffmpeg-0.4.9_p20081014.ebuild, ffmpeg-0.4.9_p20081219.ebuild, + ffmpeg-9999.ebuild: + require gnu make 3.81, by Bernd Kaiser , bug #255376 + + 17 Jan 2009; Alexis Ballier + ffmpeg-0.4.9_p20081219.ebuild, ffmpeg-9999.ebuild: + require at least speex 1.2, should fix #254922 + + 15 Jan 2009; Alexis Ballier + ffmpeg-0.4.9_p20081014.ebuild, ffmpeg-0.4.9_p20081219.ebuild, + ffmpeg-9999.ebuild: + make sure version.h gets created, bug #252269 + + 23 Dec 2008; Alexis Ballier ffmpeg-9999.ebuild: + Sync live ebuild with latest snapshot; merely add speex useflag and remove + unused make targets + + 22 Dec 2008; Raúl Porcel + ffmpeg-0.4.9_p20081014.ebuild, ffmpeg-0.4.9_p20081219.ebuild: + arm/ia64 stable wrt #245285 + + 21 Dec 2008; nixnut ffmpeg-0.4.9_p20081014.ebuild: + Stable on ppc wrt bug 245313 + + 20 Dec 2008; Ferris McCormick + ffmpeg-0.4.9_p20081014.ebuild: + Sparc stable, Security Bug #245313. + + 20 Dec 2008; Thomas Anderson + ffmpeg-0.4.9_p20081014.ebuild: + stable amd64, security bug #245313 + +*ffmpeg-0.4.9_p20081219 (19 Dec 2008) + + 19 Dec 2008; Alexis Ballier + +ffmpeg-0.4.9_p20081219.ebuild: + push a new snapshot + + 16 Dec 2008; Jeroen Roovers + ffmpeg-0.4.9_p20081014.ebuild: + Stable for HPPA (bug #245291). + + 16 Dec 2008; Brent Baude + ffmpeg-0.4.9_p20081014.ebuild: + Marking ffmpeg-0.4.9_p20081014 ppc64 for bug 245285 + + 15 Dec 2008; ffmpeg-0.4.9_p20081014.ebuild: + Change faad2 dep. to >= 2.6.1 wrt #251010. + + 15 Dec 2008; ffmpeg-0.4.9_p20081014.ebuild: + x86 stable wrt #245285 + + 13 Dec 2008; + +files/ffmpeg-0.4.9_p20081014-sparc-gcc43.patch, + ffmpeg-0.4.9_p20081014.ebuild: + Backport upstream patch for sparc to allow compilation with GCC 4.3 wrt + #247653. + + 12 Dec 2008; Tobias Klausmann + ffmpeg-0.4.9_p20081014.ebuild: + Stable on alpha, bug #245285 + +*ffmpeg-9999 (07 Dec 2008) + + 07 Dec 2008; Luca Barbato +ffmpeg-9999.ebuild: + live ebuild + + 10 Nov 2008; Raúl Porcel + ffmpeg-0.4.9_p20081014.ebuild: + Add ~ia64 wrt #241908 + + 30 Oct 2008; Raúl Porcel + ffmpeg-0.4.9_p20070616-r3.ebuild: + alpha/arm/ia64 stable #231831 + + 27 Oct 2008; Alexis Ballier + ffmpeg-0.4.9_p20081014.ebuild: + Fixup crosscompilation, bug #237662 + + 27 Oct 2008; Mike Frysinger + ffmpeg-0.4.9_p20081014.ebuild: + Add arm/ppc love #241908. + + 18 Oct 2008; Peter Alfredsen + ffmpeg-0.4.9_p20080326.ebuild: + Fixup 20080326 dependency on x264 to be <0.0.20081006. + + 18 Oct 2008; Alexis Ballier + ffmpeg-0.4.9_p20081014.ebuild: + Drop arm/ia64/ppc ~arch keywords per bug #241908 to allow unmasking + + 14 Oct 2008; Jeroen Roovers + +files/ffmpeg-0.4.9_p20080326-hppa.patch, ffmpeg-0.4.9_p20080326.ebuild: + Build PIC on HPPA (bug #241124). + + 14 Oct 2008; Alexis Ballier + ffmpeg-0.4.9_p20081014.ebuild: + Give the configure the --cpu option based on CFLAGS; if it is unknown it + will not hurt because the configure script will warn and ignore it. This + helps getting better support for given cpu, like using CMOV on i686 and + later. Bug #172723. + + 14 Oct 2008; Alexis Ballier + ffmpeg-0.4.9_p20081014.ebuild: + Set the ffmpeg version to the exported revision number, bug #233667, + borrowed from mplayer ebuild + + 14 Oct 2008; Alexis Ballier + ffmpeg-0.4.9_p20081014.ebuild: + Broaden libdc1394 dep as it works with v2 too, by Fabio Correa + , bug #237687 + + 14 Oct 2008; Alexis Ballier + ffmpeg-0.4.9_p20070616.ebuild, ffmpeg-0.4.9_p20070616-r1.ebuild, + ffmpeg-0.4.9_p20070616-r2.ebuild, ffmpeg-0.4.9_p20070616-r3.ebuild, + ffmpeg-0.4.9_p20070616-r20.ebuild, ffmpeg-0.4.9_p20080206.ebuild, + ffmpeg-0.4.9_p20080326.ebuild, ffmpeg-0.4.9_p20081014.ebuild: + Bump imlib2 dep for bug #196525 + +*ffmpeg-0.4.9_p20081014 (14 Oct 2008) + + 14 Oct 2008; Alexis Ballier metadata.xml, + +ffmpeg-0.4.9_p20081014.ebuild: + Add a new snapshot, masked because it breaks a lot of consumers. + + 11 Oct 2008; Tobias Scherbaum + ffmpeg-0.4.9_p20070616-r3.ebuild: + ppc stable, bug #231831 + + 06 Oct 2008; Markus Meier + ffmpeg-0.4.9_p20070616-r3.ebuild: + amd64/x86 stable, bug #231831 + + 06 Oct 2008; Friedrich Oslage + ffmpeg-0.4.9_p20070616-r3.ebuild: + Stable on sparc, security bug #231831 + + 06 Oct 2008; Jeroen Roovers + ffmpeg-0.4.9_p20070616-r3.ebuild: + Stable for HPPA (bug #231831). Fixed some quoting issues. + + 04 Oct 2008; Markus Rothe + ffmpeg-0.4.9_p20070616-r3.ebuild: + Stable on ppc64; bug #231831 + +*ffmpeg-0.4.9_p20070616-r20 (17 Jul 2008) +*ffmpeg-0.4.9_p20070616-r3 (17 Jul 2008) + + 17 Jul 2008; Alexis Ballier + +files/CVE-2008-3162.patch, +ffmpeg-0.4.9_p20070616-r3.ebuild, + +ffmpeg-0.4.9_p20070616-r20.ebuild: + Add patches for security bug #231831. -r3 is -r0 with the patch, stable + candidate without swscaler. -r20 is -r2 with the patch, with swscaler. + + 07 Jul 2008; Peter Alfredsen + ffmpeg-0.4.9_p20080326.ebuild: + Fix build failure when disabling MMX, which would fail to disable MMX2 + code on processors supporting it, resulting in #ifdef spaghetti build + failure. Bug 229981. + + 20 Apr 2008; Mike Frysinger + +files/ffmpeg-arm-pld.patch, ffmpeg-0.4.9_p20070616.ebuild, + ffmpeg-0.4.9_p20070616-r1.ebuild, ffmpeg-0.4.9_p20070616-r2.ebuild, + ffmpeg-0.4.9_p20080206.ebuild: + Fix from upstream svn for building for older arm cpus. + + 07 Apr 2008; Ben de Groot + ffmpeg-0.4.9_p20070616.ebuild, ffmpeg-0.4.9_p20070616-r1.ebuild, + ffmpeg-0.4.9_p20070616-r2.ebuild, ffmpeg-0.4.9_p20080206.ebuild, + ffmpeg-0.4.9_p20080326.ebuild: + Pkgmove x264-svn to x264 + + 27 Mar 2008; Joerg Bornkessel Manifest: + manifest fixed; #bug 214967 + +*ffmpeg-0.4.9_p20080326 (26 Mar 2008) + + 26 Mar 2008; Luca Barbato + -files/ffmpeg-0.4.9_p20051216-asneeded-configure.patch, + -ffmpeg-0.4.9_p20050226-r3.ebuild, -ffmpeg-0.4.9_p20061016.ebuild, + -ffmpeg-0.4.9_p20070330.ebuild, -ffmpeg-0.4.9_p20070525.ebuild, + +ffmpeg-0.4.9_p20080326.ebuild: + Furter cleanup and new version + + 28 Feb 2008; Alexis Ballier + ffmpeg-0.4.9_p20080206.ebuild: + fix build with use ieee1394, dc1394->libdc1394. Bug #209610 + + 14 Feb 2008; Samuli Suominen + -ffmpeg-0.4.9_p20051216.ebuild, -ffmpeg-0.4.9_p20060302.ebuild, + -ffmpeg-0.4.9_p20060530.ebuild, -ffmpeg-0.4.9_p20060816.ebuild, + ffmpeg-0.4.9_p20061016.ebuild, -ffmpeg-0.4.9_p20070129.ebuild, + -ffmpeg-0.4.9_p20070325.ebuild, ffmpeg-0.4.9_p20070330.ebuild: + Remove USE dts from some old ebuilds, and remove some entirely because + libdts is replaced by libdca. + +*ffmpeg-0.4.9_p20080206 (06 Feb 2008) + + 06 Feb 2008; Luca Barbato + +ffmpeg-0.4.9_p20080206.ebuild: + New snapshot + + 31 Oct 2007; Matthias Schwarzott + ffmpeg-0.4.9_p20051216.ebuild, ffmpeg-0.4.9_p20060302.ebuild, + ffmpeg-0.4.9_p20060530.ebuild, ffmpeg-0.4.9_p20060816.ebuild, + ffmpeg-0.4.9_p20061016.ebuild, ffmpeg-0.4.9_p20070129.ebuild, + ffmpeg-0.4.9_p20070325.ebuild, ffmpeg-0.4.9_p20070330.ebuild, + ffmpeg-0.4.9_p20070525.ebuild, ffmpeg-0.4.9_p20070616.ebuild, + ffmpeg-0.4.9_p20070616-r1.ebuild, ffmpeg-0.4.9_p20070616-r2.ebuild: + Improved text about possible ABI changes, noticed by mark_alec. + +*ffmpeg-0.4.9_p20070616-r2 (26 Oct 2007) + + 26 Oct 2007; Steve Dibb + +ffmpeg-0.4.9_p20070616-r2.ebuild: + Add ipv6 use flag + + 21 Oct 2007; Steve Dibb + ffmpeg-0.4.9_p20070616.ebuild: + amd64 stable, bug 193563 + + 20 Oct 2007; Ferris McCormick + ffmpeg-0.4.9_p20070616.ebuild: + sparc stable --- Bug #193563 --- builds and works. + + 08 Oct 2007; Markus Rothe + ffmpeg-0.4.9_p20070616.ebuild: + Stable on ppc64; bug #193563 + + 24 Sep 2007; Raúl Porcel + ffmpeg-0.4.9_p20070616.ebuild: + alpha/ia64 stable wrt #193563 + + 24 Sep 2007; Lars Weiler ffmpeg-0.4.9_p20070616.ebuild: + stable ppc, bug #193563 + + 24 Sep 2007; Jeroen Roovers + ffmpeg-0.4.9_p20070616.ebuild: + Stable for HPPA (bug #193563). + + 24 Sep 2007; Christian Faulhammer + ffmpeg-0.4.9_p20070616.ebuild: + stable x86, bug #193563 + + 07 Jul 2007; Samuli Suominen + ffmpeg-0.4.9_p20070616-r1.ebuild: + Fix building with USE altivec for bug 183687. Thanks to Laurent G. for + reporting, Joe Jezak for solution, Kimura Masaru for testing. + +*ffmpeg-0.4.9_p20070616-r1 (26 Jun 2007) + + 26 Jun 2007; Luca Barbato + +ffmpeg-0.4.9_p20070616-r1.ebuild: + Enable swscaler + + 16 Jun 2007; Samuli Suominen + ffmpeg-0.4.9_p20070616.ebuild: + enable xvid to enable libxvid. + +*ffmpeg-0.4.9_p20070616 (16 Jun 2007) + + 16 Jun 2007; Luca Barbato + +ffmpeg-0.4.9_p20070616.ebuild: + New snapshot, SVN revision 9330 + + 01 Jun 2007; Samuli Suominen + ffmpeg-0.4.9_p20070525.ebuild: + Append -DBROKEN_RELOCATIONS which is a hack to workaround bug 179872. + + 01 Jun 2007; Samuli Suominen + ffmpeg-0.4.9_p20070525.ebuild: + Remove USE dts for bug 180129. + +*ffmpeg-0.4.9_p20070525 (26 May 2007) + + 26 May 2007; Luca Barbato + +ffmpeg-0.4.9_p20070525.ebuild: + New snapshot, using libamr + + 16 May 2007; Jeroen Roovers + ffmpeg-0.4.9_p20070330.ebuild: + Stable for HPPA (bug #174909). + + 05 May 2007; Fabian Groffen + ffmpeg-0.4.9_p20051216.ebuild, ffmpeg-0.4.9_p20060302.ebuild, + ffmpeg-0.4.9_p20060530.ebuild: + Dropped ppc-macos keyword, see you in prefix + + 22 Apr 2007; Bryan Østergaard + ffmpeg-0.4.9_p20070330.ebuild: + Stable on Alpha, bug 174909. + + 17 Apr 2007; Tobias Scherbaum + ffmpeg-0.4.9_p20070330.ebuild: + ppc stable, bug #168907 + + 16 Apr 2007; Raúl Porcel + ffmpeg-0.4.9_p20070330.ebuild: + ia64 stable + + 12 Apr 2007; Raúl Porcel + ffmpeg-0.4.9_p20070330.ebuild: + x86 stable + + 12 Apr 2007; Peter Weller ffmpeg-0.4.9_p20070330.ebuild: + Stable on amd64 wrt bug 168907 + + 05 Apr 2007; Alexis Ballier + +files/ffmpeg-0.4.9_p20070330-asmpic.patch, ffmpeg-0.4.9_p20070330.ebuild: + Disable non pic safe asm on x86 and amd64, bug #172845, bug #172877 and dupes + + 04 Apr 2007; Markus Rothe + ffmpeg-0.4.9_p20070330.ebuild: + Stable on ppc64 + + 04 Apr 2007; Gustavo Zacarias + ffmpeg-0.4.9_p20070330.ebuild: + Stable on sparc wrt #170860 + +*ffmpeg-0.4.9_p20070330 (30 Mar 2007) + + 30 Mar 2007; Luca Barbato + +ffmpeg-0.4.9_p20070330.ebuild: + New snapshot + + 27 Mar 2007; Luca Barbato + ffmpeg-0.4.9_p20070325.ebuild: + s/a52/liba52 + + 25 Mar 2007; Luca Barbato + ffmpeg-0.4.9_p20070325.ebuild: + Minor fixes and update + +*ffmpeg-0.4.9_p20070325 (25 Mar 2007) + + 25 Mar 2007; Luca Barbato + +ffmpeg-0.4.9_p20070325.ebuild: + New snapshot + + 22 Mar 2007; Gustavo Zacarias + ffmpeg-0.4.9_p20070129.ebuild: + Stable on sparc + + 21 Mar 2007; Christian Faulhammer + ffmpeg-0.4.9_p20070129.ebuild: + stable x86, security bug 170208 + + 16 Feb 2007; Simon Stelling + ffmpeg-0.4.9_p20061016.ebuild, ffmpeg-0.4.9_p20070129.ebuild: + depend on >=portage-2.1.2 on amd64 to make sure the mmx USE flag is unmasked + + 29 Jan 2007; Steve Dibb + ffmpeg-0.4.9_p20070129.ebuild: + Rekeyword ~ + + 29 Jan 2007; Luca Barbato + ffmpeg-0.4.9_p20070129.ebuild: + Put it back in ~, not the right time, closing bug #164445, thanks to + Sebastian for notifying. + + 29 Jan 2007; Luca Barbato + files/ffmpeg-libdir-2007.patch: + Make the patch working everywhere, thanks to Markus Trippelsdorf + for pointing the issue + +*ffmpeg-0.4.9_p20070129 (29 Jan 2007) + + 29 Jan 2007; Luca Barbato + +files/ffmpeg-libdir-2007.patch, +ffmpeg-0.4.9_p20070129.ebuild: + New snapshot + + 29 Jan 2007; Bryan Østergaard + ffmpeg-0.4.9_p20061016.ebuild: + Stable on Alpha + IA64. + + 06 Jan 2007; Michael Cummings + ffmpeg-0.4.9_p20061016.ebuild: + amd64 stable + + 04 Jan 2007; Christian Faulhammer + ffmpeg-0.4.9_p20061016.ebuild: + stable x86, bug #157814 + + 30 Dec 2006; Bryan Østergaard + ffmpeg-0.4.9_p20061016.ebuild: + Add ~alpha and ~ia64 keywords. + + 23 Dec 2006; Tobias Scherbaum + ffmpeg-0.4.9_p20061016.ebuild: + Stable on ppc wrt bug #157814. + + 21 Dec 2006; Gustavo Zacarias + ffmpeg-0.4.9_p20060530.ebuild, ffmpeg-0.4.9_p20061016.ebuild: + Stable on sparc wrt #157814 + + 21 Dec 2006; Markus Rothe + ffmpeg-0.4.9_p20061016.ebuild: + Stable on ppc64; bug #157814 + + 10 Dec 2006; Matthias Schwarzott + ffmpeg-0.4.9_p20050226-r3.ebuild, ffmpeg-0.4.9_p20051216.ebuild, + ffmpeg-0.4.9_p20060302.ebuild, ffmpeg-0.4.9_p20060517.ebuild, + ffmpeg-0.4.9_p20060530.ebuild, ffmpeg-0.4.9_p20060816.ebuild, + ffmpeg-0.4.9_p20061016.ebuild: + Corrected installation of source-Changelog-file, thanks to Josef Reidinger + for reporting, Bug #157628. + + 07 Dec 2006; Luca Barbato + ffmpeg-0.4.9_p20061016.ebuild: + Fix reg depletion in x86, see bug #154922 + + 01 Dec 2006; Jeroen Roovers + ffmpeg-0.4.9_p20061016.ebuild: + Stable for HPPA (or xine-lib will not even configure). + +*ffmpeg-0.4.9_p20061016 (17 Oct 2006) + + 17 Oct 2006; Luca Barbato + +ffmpeg-0.4.9_p20061016.ebuild: + New version + + 03 Oct 2006; Luca Barbato + ffmpeg-0.4.9_p20060530.ebuild, ffmpeg-0.4.9_p20060816.ebuild: + Fix deps, see bug #134555 + + 11 Sep 2006; Luca Barbato + ffmpeg-0.4.9_p20060816.ebuild: + emake -j1 calls and add emake depend just in case + + 08 Sep 2006; Rene Nussbaumer + ffmpeg-0.4.9_p20060530.ebuild: + Stable on hppa. See bug #133520. + + 08 Sep 2006; Thomas Cort ffmpeg-0.4.9_p20060530.ebuild: + Stable on alpha wrt security Bug #133520. + + 08 Sep 2006; Tobias Scherbaum + ffmpeg-0.4.9_p20060530.ebuild: + ppc stable, bug #133520 + + 07 Sep 2006; Joshua Jackson + ffmpeg-0.4.9_p20060530.ebuild: + Stable x86; for security bug #133520 + + 07 Sep 2006; Thomas Cort ffmpeg-0.4.9_p20060530.ebuild: + Stable on amd64. + + 07 Sep 2006; Gustavo Zacarias + ffmpeg-0.4.9_p20060530.ebuild: + Stable on sparc wrt #133520 + + 07 Sep 2006; Markus Rothe + ffmpeg-0.4.9_p20060530.ebuild: + Stable on ppc64; bug #133520 + + 04 Sep 2006; Diego Pettenò + ffmpeg-0.4.9_p20060530.ebuild, ffmpeg-0.4.9_p20060816.ebuild: + Export true as LDCONFIG value during install phases, so that it does not + trigger sandbox on Gentoo/FreeBSD. + + 30 Aug 2006; Luca Barbato + ffmpeg-0.4.9_p20060816.ebuild: + Fix multilib-strict and support EXTRA_ECONF + + 17 Aug 2006; Luca Barbato + ffmpeg-0.4.9_p20060816.ebuild: + fix sdl dep + + 16 Aug 2006; Luca Barbato ChangeLog: + New version + + 14 Aug 2006; Luca Barbato + +files/ffmpeg-0.4.9_p20060530-snow-mmx.patch, + ffmpeg-0.4.9_p20060530.ebuild: + Make snow compile on x86 with pic and mmx enabled at the same time, many + thanks to Martin von Gagern for the patch and the + overall help + + 12 Aug 2006; Luca Barbato + ffmpeg-0.4.9_p20060530.ebuild: + Marked ~ppc64 + + 12 Aug 2006; Luca Barbato + ffmpeg-0.4.9_p20060530.ebuild: + Pin x264 version to avoid build issue with snapshots too new + + 01 Aug 2006; Joshua Jackson + ffmpeg-0.4.9_p20060530.ebuild: + Adding ~x86 as it works and all that jazz + + 31 May 2006; Gustavo Zacarias + ffmpeg-0.4.9_p20060530.ebuild: + Gave it a ~sparc + + 31 May 2006; Diego Pettenò + ffmpeg-0.4.9_p20060530.ebuild: + Re-add ~x86-fbsd and ~amd64 keywords. + + 31 May 2006; Diego Pettenò + ffmpeg-0.4.9_p20060530.ebuild: + Remove keywording comments, we always add and drop them every other release. + + 31 May 2006; Diego Pettenò + ffmpeg-0.4.9_p20060530.ebuild: + Remove old hack for $LDFLAGS passing (fixed upstream), remove the + append-flags (fixed upstream). + + 12 Jun 2006; Luca Barbato + ffmpeg-0.4.9_p20060530.ebuild: + more files to the sed PIC + + 31 May 2006; Luca Barbato + ffmpeg-0.4.9_p20060530.ebuild: + Missing patch + +*ffmpeg-0.4.9_p20060530 (30 May 2006) + + 30 May 2006; Luca Barbato + +ffmpeg-0.4.9_p20060530.ebuild: + New snapshot + + 28 May 2006; Diego Pettenò + -files/ffmpeg-0.4.9_p20050226-gcc4.patch, + -files/ffmpeg-0.4.9_p20050906-osx.patch, -files/ffmpeg-a52.patch, + -files/ffmpeg-configure.patch, -files/ffmpeg-missing_links.patch, + -files/ffmpeg-osx.patch, -files/gentoo-ffmpeg001.patch, + -ffmpeg-0.4.9_p20050226-r5.ebuild, -ffmpeg-0.4.9_p20050906.ebuild, + -ffmpeg-0.4.9_p20051120.ebuild: + Remove old versions. + + 25 May 2006; Diego Pettenò + ffmpeg-0.4.9_p20060302.ebuild: + Add ~x86-fbsd keyword. + +*ffmpeg-0.4.9_p20060517 (17 May 2006) + + 17 May 2006; Luca Barbato + +ffmpeg-0.4.9_p20060517.ebuild: + new snapshot, to be tested + + 08 May 2006; Diego Pettenò + ffmpeg-0.4.9_p20060302.ebuild: + Use -rpath-link to make sure that the libraries are linked correctly, should + fixes bug #132171. + + 03 May 2006; Diego Pettenò metadata.xml: + Update metadata to list media-video@gentoo.org as maintainer. + + 20 Apr 2006; Daniel Gryniewicz + +files/ffmpeg-0.4.9_p20060302-amr-64bit.patch, + ffmpeg-0.4.9_p20060302.ebuild: + Fix amr on 64-bit arches per bug# 130530 + + 14 Apr 2006; Diego Pettenò + +files/ffmpeg-0.4.9_p20060302-fbsd-flags.patch, + ffmpeg-0.4.9_p20060302.ebuild: + Add patch to respect CFLAGS on FreeBSD, and don't use preplib that's no more + needed anyway. + + 31 Mar 2006; Simon Stelling +files/ffmpeg-libdir.patch, + ffmpeg-0.4.9_p20060302.ebuild: + fix wrong libdir paths in .pc files + + 21 Mar 2006; Diego Pettenò + +files/ffmpeg-0.4.9_p20051216-asneeded-configure.patch, + ffmpeg-0.4.9_p20051216.ebuild, ffmpeg-0.4.9_p20060302.ebuild: + Use --cc option instead of overwriting CC variable to respect the compiler, + pass --extra-ldflags to respect LDFLAGS (only 20060302 respect them + entirely). Add patch to allow using --as-needed flag. + + 08 Mar 2006; Diego Pettenò + ffmpeg-0.4.9_p20051216.ebuild, ffmpeg-0.4.9_p20060302.ebuild: + Disable strip, leaving to portage decide if and when to strip. + + 06 Mar 2006; Luca Barbato + ffmpeg-0.4.9_p20060302.ebuild: + merged v4l and v4l2 + + 05 Mar 2006; Luca Barbato + ffmpeg-0.4.9_p20060302.ebuild: + Improved ebuild with amr and v4l2 support, thanks to Philip Kovacs + for the improved ebuild, other minor fixes + + 04 Mar 2006; Luca Barbato + files/ffmpeg-shared-gcc4.1.patch: + fix + + 04 Mar 2006; Luca Barbato + +files/ffmpeg-shared-gcc4.1.patch, ffmpeg-0.4.9_p20060302.ebuild: + ffmpeg-shared-gcc4 patch is back + +*ffmpeg-0.4.9_p20060302 (03 Mar 2006) + + 03 Mar 2006; Luca Barbato + +ffmpeg-0.4.9_p20060302.ebuild: + New snapshot + + 15 Feb 2006; Diego Pettenò + ffmpeg-0.4.9_p20050226-r3.ebuild: + Add missing sdl useflag in IUSE. + + 30 Jan 2006; Luca Barbato + +files/ffmpeg-shared-gcc4.patch, ffmpeg-0.4.9_p20051216.ebuild: + x86 workaround from Kevin F. Quinn , I'll share the + blame if breaks something + + 09 Jan 2006; Bryan Østergaard + ffmpeg-0.4.9_p20051216.ebuild: + Warning added + + 06 Jan 2006; Luca Barbato + files/ffmpeg-soname-symlink.patch: + minor fix for osx + + 03 Jan 2006; Bryan Østergaard + ffmpeg-0.4.9_p20051216.ebuild: + Marked ~ppc-macos (bug #116181) + + 02 Jan 2006; Michael Hanselmann + ffmpeg-0.4.9_p20051216.ebuild: + Stable on ppc. + + 01 Jan 2006; Simon Stelling + ffmpeg-0.4.9_p20051216.ebuild: + stable on amd64 wrt bug 116181 + + 31 Dec 2005; Markus Rothe + ffmpeg-0.4.9_p20051216.ebuild: + Stable on ppc64 + + 30 Dec 2005; Mark Loeser + ffmpeg-0.4.9_p20051216.ebuild: + Stable on x86; bug #116181 + + 30 Dec 2005; Gustavo Zacarias + ffmpeg-0.4.9_p20051216.ebuild: + Stable on sparc wrt security #116181 + + 28 Dec 2005; Guy Martin ffmpeg-0.4.9_p20051216.ebuild: + Fix compilation of xine-lib on hppa. + + 26 Dec 2005; Luca Barbato -ffmpeg-0.4.8.ebuild, + -ffmpeg-0.4.9_pre1-r1.ebuild, ffmpeg-0.4.9_p20050226-r3.ebuild: + Cleanup + + 21 Dec 2005; Luis Medinas + ffmpeg-0.4.9_p20051216.ebuild: + Add ~amd64 keyword for bug #116181. + + 21 Dec 2005; Markus Rothe + ffmpeg-0.4.9_p20051216.ebuild: + Added ~ppc64; bug #116181 + + 21 Dec 2005; Mark Loeser + ffmpeg-0.4.9_p20051216.ebuild: + Adding ~x86; bug #116181 + + 20 Dec 2005; Rene Nussbaumer + ffmpeg-0.4.9_p20051216.ebuild: + Unstable on hppa. See bug #116181. + + 20 Dec 2005; Gustavo Zacarias + ffmpeg-0.4.9_p20051216.ebuild: + Keyworded ~sparc wrt #116181 + + 17 Dec 2005; Luca Barbato + files/ffmpeg-soname-symlink.patch: + yet another fix part 2 + + 17 Dec 2005; Luca Barbato + files/ffmpeg-soname-symlink.patch: + yet another fix + + 16 Dec 2005; Luca Barbato + files/ffmpeg-soname-symlink.patch: + Fix in the patch + +*ffmpeg-0.4.9_p20051216 (16 Dec 2005) + + 16 Dec 2005; Luca Barbato + +files/ffmpeg-soname-symlink.patch, +files/ffmpeg-unknown-options.patch, + +ffmpeg-0.4.9_p20051216.ebuild: + New snapshot + + 04 Dec 2005; Lina Pezzella + ffmpeg-0.4.9_p20051120.ebuild: + Testing ppc-macos, Bug #113107 + + 29 Nov 2005; Jason Wever ffmpeg-0.4.9_p20051120.ebuild: + Added ~sparc keyword wrt bug #113107. + + 21 Nov 2005; Luca Barbato + ffmpeg-0.4.9_p20051120.ebuild: + Marked ~ppc + + 21 Nov 2005; Markus Rothe + ffmpeg-0.4.9_p20051120.ebuild: + Added ~ppc64 keyword; bug #113107 + + 21 Nov 2005; Herbie Hopkins + ffmpeg-0.4.9_p20051120.ebuild: + Marked ~amd64 wrt bug #113107. + + 21 Nov 2005; Chris White + ffmpeg-0.4.9_p20051120.ebuild: + Added ~x86 keyword as per bug #113107. + +*ffmpeg-0.4.9_p20051120 (20 Nov 2005) + + 20 Nov 2005; Luca Barbato + +files/ffmpeg-configure.patch, +ffmpeg-0.4.9_p20051120.ebuild: + New experimental snapshot + + 18 Sep 2005; Bryan Østergaard + ffmpeg-0.4.9_p20050906.ebuild: + Add ~alpha keyword. + + 17 Sep 2005; Luca Barbato + ffmpeg-0.4.9_p20050906.ebuild: + ~alpha temporary dropped + + 17 Sep 2005; Luca Barbato + ffmpeg-0.4.9_p20050906.ebuild: + Dep fix for xvid, thanks to Staffan Palmroos + + 15 Sep 2005; Aron Griffis + ffmpeg-0.4.9_p20050226-r5.ebuild: + Mark 0.4.9_p20050226-r5 stable on alpha + + 15 Sep 2005; Luca Barbato + ffmpeg-0.4.9_p20050226-r5.ebuild: + ieee1394 issues, fixed the stable ebuild. + + 12 Sep 2005; Luca Barbato + +files/ffmpeg-0.4.9_p20050906-osx.patch, ffmpeg-0.4.9_p20050906.ebuild: + Other fixes and dylib support + + 12 Sep 2005; Luca Barbato + ffmpeg-0.4.9_p20050906.ebuild: + Fix ieee1394 issues + + 10 Sep 2005; Diego Pettenò + ffmpeg-0.4.9_p20050906.ebuild: + Comments cleanup for missing keywords. Don't install INSTALL file. + + 10 Sep 2005; Luca Barbato + ffmpeg-0.4.9_p20050906.ebuild: + Fix Ogg support + +*ffmpeg-0.4.9_p20050906 (08 Sep 2005) + + 08 Sep 2005; Luca Barbato + +ffmpeg-0.4.9_p20050906.ebuild: + New snapshot, src_test added. + + 26 Aug 2005; Seemant Kulleen + ffmpeg-0.4.9_p20050226-r5.ebuild: + moved libdc1394 from media-plugins to media-libs + + 24 Aug 2005; Aron Griffis + ffmpeg-0.4.9_p20050226-r5.ebuild: + stable on ia64 + + 12 Jun 2005; Bryan Østergaard + ffmpeg-0.4.9_p20050226-r5.ebuild: + Add ~alpha keyword. + + 10 Jun 2005; Diego Pettenò + ffmpeg-0.4.9_p20050226-r5.ebuild: + Use memalign hack on FreeBSD. + + 06 Jun 2005; Markus Rothe + ffmpeg-0.4.9_p20050226-r5.ebuild: + Stable on ppc64 + + 17 May 2005; Gustavo Zacarias + ffmpeg-0.4.9_p20050226-r5.ebuild: + Stable on sparc + + 15 May 2005; Diego Pettenò + ffmpeg-0.4.9_pre1-r1.ebuild, ffmpeg-0.4.9_p20050226-r3.ebuild, + ffmpeg-0.4.9_p20050226-r5.ebuild: + Removed unused gcc inheriting. Inherited toolchain-funcs where needed. + + 09 May 2005; Aron Griffis + ffmpeg-0.4.9_p20050226-r3.ebuild, ffmpeg-0.4.9_p20050226-r5.ebuild: + mark 0.4.9_p20050226-r3 stable on ia64. add ~ia64 to 0.4.9_p20050226-r5 + + 06 May 2005; Diego Pettenò + ffmpeg-0.4.9_p20050226-r5.ebuild: + Marked amd64. + + 06 May 2005; Luca Barbato + ffmpeg-0.4.9_p20050226-r5.ebuild: + Marked ppc and x86 + + 05 May 2005; Donnie Berkholz ; + +files/0.4.8-gcc3.4-magicF2W.patch: + Re-add missing patch. + +*ffmpeg-0.4.9_pre1-r1 (04 May 2005) + + 04 May 2005; Lina Pezzella +files/ffmpeg-osx.patch, + +ffmpeg-0.4.9_pre1-r1.ebuild: + Re-added the pre1 ebuild since there are extensive patches made against it + that do not yet work with upstream's CVS. We're working on the latter, but + I'm not going to hold up ffmpeg any longer. + + 02 May 2005; Luca Barbato + ffmpeg-0.4.9_p20050226-r5.ebuild: + Forced -fomit-frame-pointer + +*ffmpeg-0.4.9_p20050226-r5 (26 Apr 2005) + + 26 Apr 2005; Jeremy Huddleston + -files/ffmpeg-0.4.7-2.6.patch, -files/0.4.8-gcc3.4-magicF2W.patch, + -files/alpha-idct.patch, +files/ffmpeg-a52.patch, + -files/ffmpeg-configure-extralibs.patch, + +files/ffmpeg-missing_links.patch, -ffmpeg-0.4.7.ebuild, + -ffmpeg-0.4.8.20040222.ebuild, -ffmpeg-0.4.8.20040322.ebuild, + -ffmpeg-0.4.8.20040322-r1.ebuild, -ffmpeg-0.4.9_pre1.ebuild, + -ffmpeg-0.4.9_p20050226-r1.ebuild, -ffmpeg-0.4.9_p20050226.ebuild, + -ffmpeg-0.4.9_p20050226-r2.ebuild, ffmpeg-0.4.9_p20050226-r3.ebuild, + -ffmpeg-0.4.9_p20050226-r4.ebuild, +ffmpeg-0.4.9_p20050226-r5.ebuild: + Revbump to add missing links to needed libs in libavformat. Handle a52 and + faad properly. Removing old versions. + + 25 Apr 2005; Martin Schlemmer + files/ffmpeg-0.4.9_p20050226-gcc4.patch, ffmpeg-0.4.9_p20050226-r4.ebuild: + Fixup mafteah's patch the other way around, else it breaks avifile among + things. + + 25 Apr 2005; Martin Schlemmer + +files/ffmpeg-0.4.9_p20050226-gcc4.patch, + ffmpeg-0.4.9_p20050226-r4.ebuild: + Fix building with gcc4. Patch from Genady Okrain (mafteah) 's overlay, with + some added hunks that was needed this side. + + 24 Apr 2005; Diego Pettenò + +files/ffmpeg-configure-extralibs.patch, ffmpeg-0.4.9_p20050226-r4.ebuild: + Added patch to link to libdc1394 when ieee1394 is enabled. Fixes #90150. + + 24 Apr 2005; Michael Hanselmann + ffmpeg-0.4.9_p20050226-r3.ebuild: + Stable on hppa. + + 24 Apr 2005; Bryan Østergaard + ffmpeg-0.4.9_p20050226-r3.ebuild: + Stable on alpha. + + 24 Apr 2005; Markus Rothe + ffmpeg-0.4.9_p20050226-r3.ebuild: + Stable on ppc64 + + 22 Apr 2005; Diego Pettenò + ffmpeg-0.4.9_p20050226-r4.ebuild: + Fixed typo on pic/mmx if condition. + +*ffmpeg-0.4.9_p20050226-r4 (21 Apr 2005) + + 21 Apr 2005; Diego Pettenò + +ffmpeg-0.4.9_p20050226-r4.ebuild: + Added new revision which applies cleanups on bug #89172, and patch to enable + mmx on amd64 as for bug #88965. + + 19 Apr 2005; Luca Barbato + ffmpeg-0.4.9_p20050226-r3.ebuild: + Marked ppc and x86 + + 19 Apr 2005; Diego Pettenò + ffmpeg-0.4.9_p20050226-r3.ebuild: + Mark ffmpeg-0.4.9_p20050226-r3 stable on amd64. + + 18 Apr 2005; Diego Pettenò + ffmpeg-0.4.9_p20050226-r3.ebuild: + Changed xvid dependency to 1.0. Fixes #88879. + +*ffmpeg-0.4.9_p20050226-r3 (03 Apr 2005) + + 03 Apr 2005; Jan Brinkmann + +ffmpeg-0.4.9_p20050226-r3.ebuild: + revision bump to indicate the latest changes, fixes #87681 + + 30 Mar 2005; Chris White + ffmpeg-0.4.9_p20050226-r1.ebuild, ffmpeg-0.4.9_p20050226-r2.ebuild, + ffmpeg-0.4.9_p20050226.ebuild: + Fixed bug #87069. + + 21 Mar 2005; Jeremy Huddleston + ffmpeg-0.4.9_p20050226-r2.ebuild: + Use the right toolchain compiler. + + 20 Mar 2005; Chris White + files/gentoo-ffmpeg001.patch, ffmpeg-0.4.9_p20050226-r2.ebuild: + Fixed a52 linking (again). Closes bugs #85929 and #85952. + +*ffmpeg-0.4.9_p20050226-r2 (19 Mar 2005) + + 19 Mar 2005; Chris White + +files/ffmpeg-libdir-pic.patch, files/gentoo-ffmpeg001.patch, + +ffmpeg-0.4.9_p20050226-r2.ebuild: + Fix bug #84241 (multilib and pic). + + 16 Mar 2005; Chris White + ffmpeg-0.4.9_p20050226-r1.ebuild: + Added missing emake. + + 11 Mar 2005; Luca Barbato + ffmpeg-0.4.9_p20050226-r1.ebuild: + Put back xvid support + +*ffmpeg-0.4.9_p20050226-r1 (10 Mar 2005) + + 10 Mar 2005; Chris White + +ffmpeg-0.4.9_p20050226-r1.ebuild: + Fixed bug #67947. -fPIC logic makes sense now. Thanks to Kevin Quin for + supplying the logic. + + 07 Mar 2005; Chris White + ffmpeg-0.4.9_p20050226.ebuild: + Added threading support. + + 03 Mar 2005; Luca Barbato + ffmpeg-0.4.9_p20050226.ebuild: + Removed xvid useflag + + 01 Mar 2005; Chris White + ffmpeg-0.4.9_p20050226.ebuild: + Fix bad spelling. + +*ffmpeg-0.4.9_p20050226 (01 Mar 2005) + + 01 Mar 2005; Chris White + +files/gentoo-ffmpeg001.patch, +ffmpeg-0.4.9_p20050226.ebuild: + Bumped to 20050226 snapshot release. + + 24 Feb 2005; Jan Brinkmann ffmpeg-0.4.8.ebuild: + fixed #82873, emerge failed due to missing patch. + + 06 Feb 2005; Jan Brinkmann ffmpeg-0.4.7.ebuild, + ffmpeg-0.4.8.20040222.ebuild, ffmpeg-0.4.8.20040322-r1.ebuild, + ffmpeg-0.4.8.20040322.ebuild, ffmpeg-0.4.8.ebuild, ffmpeg-0.4.9_pre1.ebuild: + added dummy src_test() to fix #77212 + + 16 Dec 2004; Markus Rothe ffmpeg-0.4.9_pre1.ebuild: + Stable on ppc64 + + 14 Dec 2004; Jeremy Huddleston + ffmpeg-0.4.7.ebuild, ffmpeg-0.4.8.20040222.ebuild, + ffmpeg-0.4.8.20040322-r1.ebuild, ffmpeg-0.4.8.20040322.ebuild, + ffmpeg-0.4.8.ebuild, ffmpeg-0.4.9_pre1.ebuild: + Using 'aac' instead of faad and faac. + + 02 Nov 2004; Markus Rothe ffmpeg-0.4.9_pre1.ebuild: + Marked ~ppc64 + + 25 Aug 2004; Sven Wegener ffmpeg-0.4.9_pre1.ebuild: + Changed SRC_URI to use mirror:// syntax. + +*ffmpeg-0.4.9_pre1 (21 Jul 2004) + + 21 Jul 2004; Jeremy Huddleston + +ffmpeg-0.4.9_pre1.ebuild: + Version bump closes bug #56613. + + 25 Jun 2004; Daniel Goller ffmpeg-0.4.8.20040322-r1.ebuild: + ffmpeg-0.4.8.20040322-r1.ebuild adding patch for gcc 3.4.x + closes 49383 Credit goes to Ed Catmur for the patch + + 24 Jun 2004; Martin Holzer + ffmpeg-0.4.8.20040322-r1.ebuild, ffmpeg-0.4.8.20040322.ebuild: + removing symblink from ffplay to ffmpeg. closes 51014 + + 09 Jun 2004; Luca Barbato + ffmpeg-0.4.8.20040322-r1.ebuild: + Same fix from amd64 + + 09 Jun 2004; Thomas Raschbacher + ffmpeg-0.4.8.20040322-r1.ebuild: + only enable faac when we are not on ia64 or alpha in src_compile + +*ffmpeg-0.4.8.20040322-r1 (09 Jun 2004) + + 09 Jun 2004; Thomas Raschbacher + +ffmpeg-0.4.8.20040322-r1.ebuild: + -r1 adds faac support, added local USE flag + fixes bug #48090, thanks to Stefan Briesenick + + 07 Jun 2004; Travis Tilley ffmpeg-0.4.8.20040322.ebuild: + stable on amd64 + + 05 Jun 2004; ffmpeg-0.4.8.20040322.ebuild: + No longer available from SRC_URI, changed the keywords to -*.. oops + we have it on our mirrors... sorry.. + + 30 Mar 2004; Sven Blumenstein + ffmpeg-0.4.8.20040322.ebuild: + Stable on sparc. + + 26 Mar 2004; Joel Martin ffmpeg-0.4.8.20040222.ebuild, + ffmpeg-0.4.8.20040322.ebuild: + Filter out -momit-leaf-frame-pointer flag from libpostproc compilation + +*ffmpeg-0.4.8.20040322 (22 Mar 2004) + + 22 Mar 2004; Luca Barbato ffmpeg-0.4.8.20040322.ebuild: + New snapshot, works with ppc + + 15 Mar 2004; Luca Barbato ffmpeg-0.4.8.20040222.ebuild: + Marked -ppc pending a fix for misbuild. + +*ffmpeg-0.4.8.20040222 (11 Mar 2004) + + 11 Mar 2004; ffmpeg-0.4.8.20040222.ebuild: + Install libpostproc library. Update to newer snapshot. Bug 27051 + + 17 Feb 2004; Aron Griffis ffmpeg-0.4.8.ebuild: + stable on alpha and ia64 + + 16 Jan 2004; Bartosch Pixa ffmpeg-0.4.8.ebuild: + set ppc in keywords + + 29 Nov 2003; Brad House ffmpeg-0.4.8.ebuild: + amd64 needs -fPIC to compile properly + + 22 Nov 2003; Luca Barbato ffmpeg-0.4.8.ebuild: + altivec related fix, thanks to Olivier for the report + and the patch + +*ffmpeg-0.4.8 (18 Oct 2003) + + 18 Oct 2003; ffmpeg-0.4.8.ebuild: + version bump, fix a bug where it was trying to include X11/Xlib.h for no + apparent reason + +*ffmpeg-0.4.7 (09 Sep 2003) + + 09 Sep 2003; Martin Holzer ffmpeg-0.4.7.ebuild: + Version bumped. + + 14 Jul 2003; Alastair Tse + ffmpeg-0.4.7_pre20030624.ebuild: + depend on a non-masked version of imlib2 + + 13 Jul 2003; Nick Hadaway ffmpeg-0.4.7_pre20030624.ebuild: + Adding sdl, imlib, and truetype use flags. + + 06 Jul 2003; Nick Hadaway ffmpeg-0.4.7_pre20030624.ebuild: + Marked stble for x86 + + 02 Jul 2003; Nick Hadaway ffmpeg-0.4.7_pre20030624.ebuild, + files/alpha-idct.patch: + Addresses bug #23563. This problem was fixed upstream in cvs. + Added a small patch. + +*ffmpeg-0.4.7_pre20030624 (26 Jun 2003) + + 26 Jun 2003; Nick Hadaway ffmpeg-0.4.7_pre20030624.ebuild: + As of June 9th, 0.4.6 is considered obsolete by the upstream author. + This build pulled from a cvs snapshot now has support for the dvd + and static use variables. Also added faad as a local use variable. + +*ffmpeg-0.4.6-r1 (4 Jan 2003) + + 10 Mar 2003; Will Woods ffmpeg-0.4.6-r1.ebuild: + Added ~alpha to keywords and -fPIC to flags, fixes bug #16281 + + 19 Feb 2003; Martin Holzer ffmpeg-0.4.6-r1.ebuild : + Marked as stable. + + 26 Jan 2003; Seemant Kulleen ffmpeg-0.4.6-r1.ebuild : + + Added -fPIC to the filter-flags to sort out compiling issues such as + those reported in bug #14500 by atomicdog@akier.net (Conrad Akier) + + 4 Jan 2003; Joshua Brindle ffmpeg-0.4.6-r1.ebuild : + merge patches to ebuild and package from Rene Wagner + to install libavcodec as a .so. + +*ffmpeg-0.4.6 (3 Jan 2003) + + 3 Jan 2003; Joshua Brindle ffmpeg-0.4.6.ebuild : + version bump, this is a release non-snapshot version, recommend upgrade + +*ffmpeg-0.4.5.20021212 (13 Dec 2002) + + 5 Jan 2002; Joshua Brindle ffmpeg-0.4.5.20021212.ebuild : + Changing url to reflect where author moved his. + + 13 Dec 2002; Bryon Roche ffmpeg-0.4.5.20021212.ebuild : + ffmpeg isn't REALLY x86 specific. Giving ppc and sparc a nice big ~. + + 12 Dec 2002; Joshua Brindle ffmpeg-0.4.5.20021212.ebuild : + cvs snapshot so that streaming will work, also added mp3lame and oggvorbis + support with encode and oggvorbis use vars. + + 06 Dec 2002; Rodney Rees : changed sparc ~sparc keywords + +*ffmpeg-0.4.5 (1 Feb 2002) + + 25 Sep 2002; Daniel Ahlberg ffmpeg-0.4.5.ebuild : + Filter out "-fforce-addr". + + 05 Sep 2002; Seemant Kulleen ffmpeg-0.4.5.ebuild : + + Added nasm to DEPEND. Thanks to: jfelice@cronosys.com (Jay 'Eraserhead' + Felice) in bug #7481. Also tagged it x86 only due to this. + + 1 Feb 2002; G.Bevin ChangeLog : + + Added initial ChangeLog which should be updated whenever the package is + updated in any way. This changelog is targetted to users. This means that the + comments should well explained and written in clean English. The details about + writing correct changelogs are explained in the skel.ChangeLog file which you + can find in the root directory of the portage repository. diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest new file mode 100644 index 0000000..75afea2 --- /dev/null +++ b/media-video/ffmpeg/Manifest @@ -0,0 +1,5 @@ +AUX ffmpeg-loongson.patch 55657 RMD160 ec3487a22679200b1aae60700d6453387a8fc71f SHA1 c17afd72e1a211a9ec33acdfbaf6ae08f6050437 SHA256 c115f49a271f7f69923527af70311b76d05c12ce6659bd4cdaaae6ba0da73157 +DIST ffmpeg-0.5_p22846.tar.bz2 3675057 RMD160 3ebd997321d59fa0baf87329518e925ccbed3cf8 SHA1 d207570ed009b63c94485ccc64439107cf700f39 SHA256 a52d82476afa7c8ed62c1a52760e49907947c1ef1ecfc3e9022fa713e9783f2f +EBUILD ffmpeg-0.5_p22846.ebuild 7658 RMD160 788bfaddfb9c1d883393b6d46bb05b6d54ec8e47 SHA1 e21405b2a6002cab5249d5516ff87bd17feec615 SHA256 a9caa8701e3383c454378580d1a9bf0612484c75335fadc5bd18039ddf31d323 +MISC ChangeLog 52729 RMD160 855d3b5b6c5c08956fbec01454c41e276c89fd08 SHA1 a75e9b54685d91b944bda6174839f75efd53117b SHA256 6212eddd7cc186cca8bf1f7fcc489f59435fc9f4ee373947d89f7d02be9b11db +MISC metadata.xml 1830 RMD160 88d52f0a9539230e1addcab5fd704400d34b84d3 SHA1 9e2bdcf8205744623d964f1e426dadacbf24b0e1 SHA256 eb541891f7dab5e5ed4b46975a578d4ff19b88d9d80e44668f2195774fb157c8 diff --git a/media-video/ffmpeg/ffmpeg-0.5_p22846.ebuild b/media-video/ffmpeg/ffmpeg-0.5_p22846.ebuild new file mode 100644 index 0000000..9697f47 --- /dev/null +++ b/media-video/ffmpeg/ffmpeg-0.5_p22846.ebuild @@ -0,0 +1,249 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.5_p22846.ebuild,v 1.3 2010/05/11 09:50:42 aballier Exp $ + +EAPI=2 +SCM="" +if [ "${PV#9999}" != "${PV}" ] ; then + SCM=subversion + ESVN_REPO_URI="svn://svn.ffmpeg.org/ffmpeg/trunk" +fi + +inherit eutils flag-o-matic multilib toolchain-funcs ${SCM} + +DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec." +HOMEPAGE="http://ffmpeg.org/" +if [ "${PV#9999}" != "${PV}" ] ; then + SRC_URI="" +elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot + SRC_URI="mirror://gentoo/${P}.tar.bz2" +else # Release + SRC_URI="http://ffmpeg.org/releases/${P}.tar.bz2" +fi +FFMPEG_REVISION="${PV#*_p}" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="+3dnow +3dnowext alsa altivec cpudetection custom-cflags debug dirac + doc ieee1394 +encode faac faad gsm jack +mmx +mmxext vorbis test + theora threads x264 xvid network zlib sdl X mp3 amr + oss pic schroedinger +hardcoded-tables bindist v4l v4l2 + speex +ssse3 jpeg2k vdpau" + +VIDEO_CARDS="nvidia" + +for x in ${VIDEO_CARDS}; do + IUSE="${IUSE} video_cards_${x}" +done + +RDEPEND="sdl? ( >=media-libs/libsdl-1.2.10 ) + alsa? ( media-libs/alsa-lib ) + encode? ( + faac? ( media-libs/faac ) + mp3? ( media-sound/lame ) + vorbis? ( media-libs/libvorbis media-libs/libogg ) + theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg ) + x264? ( >=media-libs/x264-0.0.20100118 ) + xvid? ( >=media-libs/xvid-1.1.0 ) ) + faad? ( >=media-libs/faad2-2.6.1 ) + zlib? ( sys-libs/zlib ) + ieee1394? ( media-libs/libdc1394 + sys-libs/libraw1394 ) + dirac? ( media-video/dirac ) + gsm? ( >=media-sound/gsm-1.0.12-r1 ) + jpeg2k? ( >=media-libs/openjpeg-1.3-r2 ) + amr? ( media-libs/opencore-amr ) + schroedinger? ( media-libs/schroedinger ) + speex? ( >=media-libs/speex-1.2_beta3 ) + jack? ( media-sound/jack-audio-connection-kit ) + X? ( x11-libs/libX11 x11-libs/libXext ) + video_cards_nvidia? ( + vdpau? ( x11-libs/libvdpau ) + )" + +DEPEND="${RDEPEND} + >=sys-devel/make-3.81 + dirac? ( dev-util/pkgconfig ) + schroedinger? ( dev-util/pkgconfig ) + mmx? ( dev-lang/yasm ) + doc? ( app-text/texi2html ) + test? ( net-misc/wget ) + v4l? ( sys-kernel/linux-headers ) + v4l2? ( sys-kernel/linux-headers )" + +src_prepare() { + if [[ ${PV} = *9999* ]]; then + # Set SVN version manually + subversion_wc_info + sed -i s/UNKNOWN/SVN-r${ESVN_WC_REVISION}/ "${S}/version.sh" + elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot + sed -i s/UNKNOWN/SVN-r${FFMPEG_REVISION}/ "${S}/version.sh" + fi + cd ${S} + epatch ${FILESDIR}/${PN}-loongson.patch +} + +src_configure() { + local myconf="${EXTRA_FFMPEG_CONF}" + + # enabled by default + use debug || myconf="${myconf} --disable-debug" + use zlib || myconf="${myconf} --disable-zlib" + use sdl || myconf="${myconf} --disable-ffplay" + use network || myconf="${myconf} --disable-network" + + use custom-cflags && myconf="${myconf} --disable-optimizations" + use cpudetection && myconf="${myconf} --enable-runtime-cpudetect" + + # enabled by default + if use encode + then + use mp3 && myconf="${myconf} --enable-libmp3lame" + use vorbis && myconf="${myconf} --enable-libvorbis" + use theora && myconf="${myconf} --enable-libtheora" + use x264 && myconf="${myconf} --enable-libx264" + use xvid && myconf="${myconf} --enable-libxvid" + if use bindist + then + use faac && ewarn "faac is nonfree and cannot be distributed; + disabling faac support." + else + use faac && myconf="${myconf} --enable-libfaac --enable-nonfree" + fi + else + myconf="${myconf} --disable-encoders" + fi + + # libavdevice options + use ieee1394 && myconf="${myconf} --enable-libdc1394" + # Indevs + for i in v4l v4l2 alsa oss jack ; do + use $i || myconf="${myconf} --disable-indev=$i" + done + # Outdevs + for i in alsa oss ; do + use $i || myconf="${myconf} --disable-outdev=$i" + done + use X && myconf="${myconf} --enable-x11grab" + + # Threads; we only support pthread for now but ffmpeg supports more + use threads && myconf="${myconf} --enable-pthreads" + + # Decoders + use amr && myconf="${myconf} --enable-libopencore-amrwb + --enable-libopencore-amrnb" + for i in gsm faad dirac schroedinger speex; do + use $i && myconf="${myconf} --enable-lib$i" + done + use jpeg2k && myconf="${myconf} --enable-libopenjpeg" + + #for i in h264_vdpau mpeg1_vdpau mpeg_vdpau vc1_vdpau wmv3_vdpau; do + # use video_cards_nvidia || myconf="${myconf} --disable-decoder=$i" + # use vdpau || myconf="${myconf} --disable-decoder=$i" + #done + use video_cards_nvidia || myconf="${myconf} --disable-vdpau" + use vdpau || myconf="${myconf} --disable-vdpau" + myconf="${myconf} --disable-vaapi" + + # CPU features + for i in mmx ssse3 altivec ; do + use $i || myconf="${myconf} --disable-$i" + done + use mmxext || myconf="${myconf} --disable-mmx2" + use 3dnow || myconf="${myconf} --disable-amd3dnow" + use 3dnowext || myconf="${myconf} --disable-amd3dnowext" + # disable mmx accelerated code if PIC is required + # as the provided asm decidedly is not PIC. + if gcc-specs-pie ; then + myconf="${myconf} --disable-mmx --disable-mmx2" + fi + + # Option to force building pic + use pic && myconf="${myconf} --enable-pic" + + # Try to get cpu type based on CFLAGS. + # Bug #172723 + # We need to do this so that features of that CPU will be better used + # If they contain an unknown CPU it will not hurt since ffmpeg's configure + # will just ignore it. + for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do + [ "${i}" = "native" ] && i="host" # bug #273421 + [[ ${i} = *-sse3 ]] && i="${i%-sse3}" # bug 283968 + myconf="${myconf} --cpu=$i" + break + done + + # Mandatory configuration + myconf="${myconf} --enable-gpl --enable-version3 --enable-postproc \ + --enable-avfilter --enable-avfilter-lavf \ + --disable-stripping" + + # cross compile support + if tc-is-cross-compiler ; then + myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-" + case ${CHOST} in + *freebsd*) + myconf="${myconf} --target-os=freebsd" + ;; + mingw32*) + myconf="${myconf} --target-os=mingw32" + ;; + *linux*) + myconf="${myconf} --target-os=linux" + ;; + esac + fi + + # Misc stuff + use hardcoded-tables && myconf="${myconf} --enable-hardcoded-tables" + use doc || myconf="${myconf} --disable-doc" + + # 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 + + cd "${S}" + ./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" +} + +src_compile() { + emake version.h || die #252269 + emake || die "make failed" +} + +src_install() { + emake DESTDIR="${D}" install install-man || die "Install Failed" + + dodoc Changelog README INSTALL + dodoc doc/* +} + +src_test() { + if use encode ; then + for t in codectest lavftest seektest ; do + LD_LIBRARY_PATH="${S}/libpostproc:${S}/libswscale:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavutil" \ + emake ${t} || die "Some tests in ${t} failed" + done + else + ewarn "Tests fail without USE=encode, skipping" + fi +} diff --git a/media-video/ffmpeg/files/ffmpeg-loongson.patch b/media-video/ffmpeg/files/ffmpeg-loongson.patch new file mode 100644 index 0000000..1bc4146 --- /dev/null +++ b/media-video/ffmpeg/files/ffmpeg-loongson.patch @@ -0,0 +1,1794 @@ +diff --git a/configure b/configure +index 25e8cef..1d6c652 100755 +--- a/configure ++++ b/configure +@@ -230,6 +230,7 @@ Advanced options (experts only): + --disable-armvfp disable ARM VFP optimizations + --disable-iwmmxt disable iwmmxt optimizations + --disable-mmi disable MMI optimizations ++ --disable-loongson2mmi disable LOONGSON2 Multi-Media Instructions usage" + --disable-neon disable neon optimizations + --disable-vis disable VIS optimizations + --disable-yasm disable use of yasm assembler +@@ -995,6 +996,7 @@ ARCH_EXT_LIST=' + armvfp + iwmmxt + mmi ++ loongson2mmi + mmx + mmx2 + neon +@@ -2862,6 +2864,7 @@ if enabled arm; then + fi + if enabled mips; then + echo "MMI enabled ${mmi-no}" ++ echo "LOONGSON2MMI enabled ${loongson2mmi-no}" + fi + if enabled ppc; then + echo "AltiVec enabled ${altivec-no}" +diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h +index add4b10..8244e51 100644 +--- a/libavcodec/avcodec.h ++++ b/libavcodec/avcodec.h +@@ -1586,6 +1586,8 @@ typedef struct AVCodecContext { + #define FF_IDCT_SIMPLENEON 22 + #define FF_IDCT_SIMPLEALPHA 23 + #define FF_IDCT_BINK 24 ++#define FF_IDCT_LIBMPEG2LOONGSON2 25 ++#define FF_IDCT_XVIDLOONGSON2 26 + + /** + * slice count +diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c +index bbfdb6a..dfc3452 100644 +--- a/libavcodec/dsputil.c ++++ b/libavcodec/dsputil.c +@@ -4525,6 +4525,7 @@ av_cold void dsputil_init(DSPContext* c, AVCodecContext *avctx) + if (HAVE_MMI) dsputil_init_mmi (c, avctx); + if (ARCH_SH4) dsputil_init_sh4 (c, avctx); + if (ARCH_BFIN) dsputil_init_bfin (c, avctx); ++ if (HAVE_LOONGSON2MMI) dsputil_init_loongson2(c, avctx); + + for(i=0; i<64; i++){ + if(!c->put_2tap_qpel_pixels_tab[0][i]) +diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h +index d1816e6..1a72ae9 100644 +--- a/libavcodec/dsputil.h ++++ b/libavcodec/dsputil.h +@@ -636,6 +636,7 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx); + void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx); + void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx); + void dsputil_init_vis(DSPContext* c, AVCodecContext *avctx); ++void dsputil_init_loongson2(DSPContext* c, AVCodecContext *avctx); + + void ff_dsputil_init_dwt(DSPContext *c); + void ff_cavsdsp_init(DSPContext* c, AVCodecContext *avctx); +diff --git a/libavcodec/loongson2/dsputil_loongson2.c b/libavcodec/loongson2/dsputil_loongson2.c +new file mode 100644 +index 0000000..01bd3ac +--- /dev/null ++++ b/libavcodec/loongson2/dsputil_loongson2.c +@@ -0,0 +1,221 @@ ++/* ++ * Copyright(C) 2006-2010 comcat ++ * ++ * Optimized for Loongson2 CPUs by comcat ++ * ++ */ ++ ++#include "dsputil_loongson2.h" ++#include "../simple_idct.h" ++#include "../mpegvideo.h" ++ ++//extern void ff_idct_xvid_loongson2(short *block); ++ ++extern void ff_loongson2_idct(DCTELEM *block); ++extern void ff_idct_xvid_loongson2(short *block); ++ ++static void add_pixels_clamped_loongson2(const DCTELEM *block, uint8_t *restrict pixels, int line_size) ++{ ++ const DCTELEM *p; ++ uint8_t *pix; ++ int i,j; ++ p = block; ++ pix = pixels; ++ i = 4; ++ j = line_size << 1; ++ __asm __volatile("xor $f14, $f14, $f14\n\t"); ++ do { ++ __asm __volatile( ++// ".set mips3 \n\t" ++ "ldc1 $f0, 0(%2) \n\t" ++ "ldc1 $f2, 8(%2) \n\t" ++ "ldc1 $f4, 16(%2) \n\t" ++ "ldc1 $f6, 24(%2) \n\t" ++ "ldc1 $f8, %0 \n\t" ++ "ldc1 $f12, %1 \n\t" ++ "mov.d $f10, $f8 \n\t" ++ ++ "punpcklbh $f8, $f8, $f14 \n\t" ++ "punpckhbh $f10, $f10, $f14\n\t" ++ ++ "paddsh $f0, $f0, $f8 \n\t" ++ "paddsh $f2, $f2, $f10 \n\t" ++ ++ "mov.d $f10, $f12 \n\t" ++ ++ "punpcklbh $f12, $f12, $f14\n\t" ++ "punpckhbh $f10, $f10, $f14\n\t" ++ ++ "paddsh $f4, $f4, $f12 \n\t" ++ "paddsh $f6, $f6, $f10 \n\t" ++ ++ "packushb $f0, $f0, $f2 \n\t" ++ "packushb $f4, $f4, $f6 \n\t" ++ ++ "sdc1 $f0, %0 \n\t" ++ "sdc1 $f4, %1 \n\t" ++// ".set mips2 \n\t" ++ :"+m"(*pix), "+m"(*(pix+line_size)) ++ :"r"(p) ++ :"$f0","$f2","$f4","$f6","$f8","$f10","$f12","$f14","memory"); ++ pix += j; ++ p += 16; ++ } while (--i); ++ ++} ++ ++static void put_pixels_clamped_loongson2(const DCTELEM *block, uint8_t *restrict pixels, int line_size) ++{ ++ const DCTELEM *p; ++ uint8_t *pix; ++ int tmp = line_size * 3; ++ p = block; ++ pix = pixels; ++ __asm __volatile ++ ( ++// ".set mips3 \n\t" ++ //"dadd $12, $0, $0\n\t" ++ //"dadd $13, $0, $0\n\t" ++ //"dadd $14, $0, $0\n\t" ++ ++ "ldc1 $f0, 0(%3)\n\t" ++ "ldc1 $f2, 8(%3)\n\t" ++ "ldc1 $f4, 16(%3)\n\t" ++ "ldc1 $f6, 24(%3)\n\t" ++ "ldc1 $f8, 32(%3)\n\t" ++ "ldc1 $f10, 40(%3)\n\t" ++ "ldc1 $f16, 48(%3)\n\t" ++ "ldc1 $f18, 56(%3)\n\t" ++ ++ "packushb $f0, $f0, $f2\n\t" ++ "packushb $f4, $f4, $f6\n\t" ++ "packushb $f8, $f8, $f10\n\t" ++ "packushb $f16, $f16, $f18\n\t" ++ ++ "add $12, %0, %1\n\t" ++ "add $13, $12, %1\n\t" ++ "add $14, %0, %2\n\t" ++ ++ "sdc1 $f0, 0(%0)\n\t" ++ "sdc1 $f4, 0($12)\n\t" ++ "sdc1 $f8, 0($13)\n\t" ++ "sdc1 $f16, 0($14)\n\t" ++// ".set mips2\n\t" ++ : ++ :"r" (pix), "r" (line_size), "r" (tmp), "r"(p) ++ :"$12","$13","$14","$f0","$f2","$f4","$f6","$f8","$f10","$16","$18" ++ ); ++ ++ pix += line_size*4; ++ p += 32; ++ ++ __asm __volatile ++ ( ++// ".set mips3 \n\t" ++ ++ "dadd $12, $0, $0\n\t" ++ "dadd $13, $0, $0\n\t" ++ "dadd $14, $0, $0\n\t" ++ "lw $12, %3\n\t" ++ ++ "ldc1 $f0, 0($12)\n\t" ++ "ldc1 $f2, 8($12)\n\t" ++ "ldc1 $f4, 16($12)\n\t" ++ "ldc1 $f6, 24($12)\n\t" ++ "ldc1 $f8, 32($12)\n\t" ++ "ldc1 $f10, 40($12)\n\t" ++ "ldc1 $f16, 48($12)\n\t" ++ "ldc1 $f18, 56($12)\n\t" ++ ++ "packushb $f0, $f0, $f2\n\t" ++ "packushb $f4, $f4, $f6\n\t" ++ "packushb $f8, $f8, $f10\n\t" ++ "packushb $f16, $f16, $f18\n\t" ++ ++ "add $12, %1, %0\n\t" ++ "add $13, $12, %1\n\t" ++ "add $15, %2, %0\n\t" ++ ++ "sdc1 $f0, 0(%0)\n\t" ++ "sdc1 $f4, 0($12)\n\t" ++ ++ "sdc1 $f8, 0($13)\n\t" ++ "sdc1 $f16, 0($15)\n\t" ++// ".set mips2\n\t" ++ : ++ :"r" (pix), "r" (line_size), "r" (tmp), "m"(p) ++ :"$12","$13","$15","$f0","$f2","$f4","$f6","$f8","$f10","$16","$18","memory" ++ ); ++ ++} ++ ++/* ++void put_signed_pixels_clamped_loongson2(const DCTELEM *block, uint8_t *pixels, int line_size) ++{ ++ ++} ++ ++ ++void ff_loongson2_idct_put(uint8_t *dest, int line_size, DCTELEM *block) ++{ ++ ff_loongson2_idct(block); ++ put_pixels_clamped_loongson2(block, dest, line_size); ++} ++ ++void ff_loongson2_idct_add(uint8_t *dest, int line_size, DCTELEM *block) ++{ ++ ff_loongson2_idct(block); ++ add_pixels_clamped_loongson2(block, dest, line_size); ++}*/ ++ ++static void ff_idct_xvid_loongson2_put(uint8_t *dest, int line_size, DCTELEM *block) ++{ ++ ff_idct_xvid_loongson2(block); ++ put_pixels_clamped_loongson2(block, dest, line_size); ++} ++ ++static void ff_idct_xvid_loongson2_add(uint8_t *dest, int line_size, DCTELEM *block) ++{ ++ ff_idct_xvid_loongson2(block); ++ add_pixels_clamped_loongson2(block, dest, line_size); ++} ++ ++void dsputil_init_loongson2(DSPContext *c, AVCodecContext *avctx) ++{ ++ ++ const int idct_algo = avctx->idct_algo; ++ ++/* ++#ifdef CONFIG_ENCODERS ++ const int dct_algo = avctx->dct_algo; ++ if(dct_algo == FF_DCT_AUTO || dct_algo == FF_DCT_LOONGSON2) ++ c->fdct = ff_fdct_loongson2; ++#endif ++*/ ++ ++#if 0 ++ if(avctx->lowres==0) ++ { ++ if(idct_algo == FF_IDCT_LIBMPEG2LOONGSON2) ++ { ++ c->idct_add = ff_loongson2_idct_add; ++ c->idct_put = ff_loongson2_idct_put; ++ c->idct = ff_loongson2_idct; ++ } ++ else if(idct_algo == FF_IDCT_XVIDLOONGSON2) ++ { ++#endif ++ c->idct_add = ff_idct_xvid_loongson2_add; ++ c->idct_put = ff_idct_xvid_loongson2_put; ++ c->idct = ff_idct_xvid_loongson2; ++ //} ++ //} ++ ++ c->put_pixels_clamped = put_pixels_clamped_loongson2; ++ c->add_pixels_clamped = add_pixels_clamped_loongson2; ++ ++#ifdef CONFIG_ENCODERS ++ dsputil_init_pix_loongson2(c, avctx); ++#endif ++ ++} +diff --git a/libavcodec/loongson2/dsputil_loongson2.d b/libavcodec/loongson2/dsputil_loongson2.d +new file mode 100644 +index 0000000..808f0a3 +--- /dev/null ++++ b/libavcodec/loongson2/dsputil_loongson2.d +@@ -0,0 +1,18 @@ ++libavcodec/loongson2/dsputil_loongson2.o: \ ++ libavcodec/loongson2/dsputil_loongson2.c \ ++ libavcodec/loongson2/dsputil_loongson2.h libavcodec/dsputil.h \ ++ libavutil/intreadwrite.h config.h libavutil/bswap.h \ ++ libavutil/attributes.h libavutil/common.h libavutil/intmath.h \ ++ libavutil/mem.h libavutil/internal.h libavutil/timer.h libavutil/libm.h \ ++ libavutil/mips/intreadwrite.h libavcodec/avcodec.h libavutil/avutil.h \ ++ libavutil/error.h libavutil/avutil.h libavutil/mathematics.h \ ++ libavutil/rational.h libavutil/intfloat_readwrite.h libavutil/log.h \ ++ libavutil/pixfmt.h libavutil/avconfig.h \ ++ libavcodec/loongson2/../simple_idct.h libavcodec/loongson2/../dsputil.h \ ++ libavcodec/loongson2/../mpegvideo.h libavcodec/loongson2/../get_bits.h \ ++ libavutil/bswap.h libavutil/common.h libavutil/log.h \ ++ libavcodec/loongson2/../mathops.h libavcodec/loongson2/../mips/mathops.h \ ++ libavcodec/loongson2/../put_bits.h libavcodec/loongson2/../ratecontrol.h \ ++ libavcodec/loongson2/../eval.h libavcodec/loongson2/../parser.h \ ++ libavcodec/loongson2/../avcodec.h libavcodec/loongson2/../mpeg12data.h \ ++ libavutil/rational.h libavcodec/loongson2/../rl.h +diff --git a/libavcodec/loongson2/dsputil_loongson2.h b/libavcodec/loongson2/dsputil_loongson2.h +new file mode 100644 +index 0000000..87c7bd9 +--- /dev/null ++++ b/libavcodec/loongson2/dsputil_loongson2.h +@@ -0,0 +1,3 @@ ++#include "libavcodec/dsputil.h" ++ ++void dsputil_init_pix_loongson2(DSPContext* c, AVCodecContext *avctx); +diff --git a/libavcodec/loongson2/dsputil_loongson2.o b/libavcodec/loongson2/dsputil_loongson2.o +new file mode 100644 +index 0000000..fca0b55 +Binary files /dev/null and b/libavcodec/loongson2/dsputil_loongson2.o differ +diff --git a/libavcodec/loongson2/idct_loongson2.c b/libavcodec/loongson2/idct_loongson2.c +new file mode 100644 +index 0000000..539cab5 +--- /dev/null ++++ b/libavcodec/loongson2/idct_loongson2.c +@@ -0,0 +1,336 @@ ++/* ++ * Copyright (C) 2000-2003 Michel Lespinasse ++ * Copyright (C) 1999-2000 Aaron Holtzman ++ * ++ * Copyright (c) 2007-2010 comcat . ++ * ++ * Optimized for Loongson2 CPUs by comcat ++ * ++ * Based on i386 ++ */ ++ ++#include "libavutil/common.h" ++#include "dsputil_loongson2.h" ++ ++ ++#define ATTR_ALIGN(align) __attribute__ ((__aligned__ (align))) ++ ++ ++#define ROW_SHIFT 11 ++#define COL_SHIFT 6 ++ ++#define round(bias) ((int)(((bias)+0.5) * (1< ++ * ++ * Optimized for Loongson2 CPUs by comcat ++ * ++ * Based on i386 ++ * ++ */ ++ ++ ++#include ++#include "../avcodec.h" ++ ++void ff_idct_xvid_loongson2(short *block); ++ ++//============================================================================= ++// Macros and other preprocessor constants ++//============================================================================= ++ ++#define BITS_INV_ACC 5 // 4 or 5 for IEEE ++#define SHIFT_INV_ROW (16 - BITS_INV_ACC) //11 ++#define SHIFT_INV_COL (1 + BITS_INV_ACC) //6 ++#define RND_INV_ROW (1024 * (6 - BITS_INV_ACC)) ++#define RND_INV_COL (16 * (BITS_INV_ACC - 3)) ++#define RND_INV_CORR (RND_INV_COL - 1) ++ ++#define BITS_FRW_ACC 3 // 2 or 3 for accuracy ++#define SHIFT_FRW_COL BITS_FRW_ACC ++#define SHIFT_FRW_ROW (BITS_FRW_ACC + 17) ++#define RND_FRW_ROW (262144*(BITS_FRW_ACC - 1)) ++ ++ ++//----------------------------------------------------------------------------- ++// Various memory constants (trigonometric values or rounding values) ++//----------------------------------------------------------------------------- ++ ++static const int16_t tg_1_16[4*4] attribute_used __attribute__ ((aligned(8))) = { ++ 13036,13036,13036,13036, // tg * (2<<16) + 0.5 ++ 27146,27146,27146,27146, // tg * (2<<16) + 0.5 ++ -21746,-21746,-21746,-21746, // tg * (2<<16) + 0.5 ++ 23170,23170,23170,23170}; // cos * (2<<15) + 0.5 ++ ++static const int32_t rounder_0[2*8] attribute_used __attribute__ ((aligned(8))) = { ++ 65536,65536, ++ 3597,3597, ++ 2260,2260, ++ 1203,1203, ++ 0,0, ++ 120,120, ++ 512,512, ++ 512,512}; ++ ++ ++// Table for rows 0,4 - constants are multiplied by cos_4_16 ++static const int16_t tab_i_04_mmx[32*4] attribute_used __attribute__ ((aligned(8))) = { ++ 16384,16384,16384,-16384, // movq-> w06 w04 w02 w00 ++ 21407,8867,8867,-21407, // w07 w05 w03 w01 ++ 16384,-16384,16384,16384, // w14 w12 w10 w08 ++ -8867,21407,-21407,-8867, // w15 w13 w11 w09 ++ 22725,12873,19266,-22725, // w22 w20 w18 w16 ++ 19266,4520,-4520,-12873, // w23 w21 w19 w17 ++ 12873,4520,4520,19266, // w30 w28 w26 w24 ++ -22725,19266,-12873,-22725, // w31 w29 w27 w25 ++// Table for rows 1,7 - constants are multiplied by cos_1_16 ++ 22725,22725,22725,-22725, // movq-> w06 w04 w02 w00 ++ 29692,12299,12299,-29692, // w07 w05 w03 w01 ++ 22725,-22725,22725,22725, // w14 w12 w10 w08 ++ -12299,29692,-29692,-12299, // w15 w13 w11 w09 ++ 31521,17855,26722,-31521, // w22 w20 w18 w16 ++ 26722,6270,-6270,-17855, // w23 w21 w19 w17 ++ 17855,6270,6270,26722, // w30 w28 w26 w24 ++ -31521,26722,-17855,-31521, // w31 w29 w27 w25 ++// Table for rows 2,6 - constants are multiplied by cos_2_16 ++ 21407,21407,21407,-21407, // movq-> w06 w04 w02 w00 ++ 27969,11585,11585,-27969, // w07 w05 w03 w01 ++ 21407,-21407,21407,21407, // w14 w12 w10 w08 ++ -11585,27969,-27969,-11585, // w15 w13 w11 w09 ++ 29692,16819,25172,-29692, // w22 w20 w18 w16 ++ 25172,5906,-5906,-16819, // w23 w21 w19 w17 ++ 16819,5906,5906,25172, // w30 w28 w26 w24 ++ -29692,25172,-16819,-29692, // w31 w29 w27 w25 ++// Table for rows 3,5 - constants are multiplied by cos_3_16 ++ 19266,19266,19266,-19266, // movq-> w06 w04 w02 w00 ++ 25172,10426,10426,-25172, // w07 w05 w03 w01 ++ 19266,-19266,19266,19266, // w14 w12 w10 w08 ++ -10426,25172,-25172,-10426, // w15 w13 w11 w09 ++ 26722,15137,22654,-26722, // w22 w20 w18 w16 ++ 22654,5315,-5315,-15137, // w23 w21 w19 w17 ++ 15137,5315,5315,22654, // w30 w28 w26 w24 ++ -26722,22654,-15137,-26722, // w31 w29 w27 w25 ++}; ++ ++ ++// %3 for rows 0,4 - constants are multiplied by cos_4_16 ++static const int16_t tab_i_04_xmm[32*4] attribute_used __attribute__ ((aligned(8))) = { ++ 16384,21407,16384,8867, // movq-> w05 w04 w01 w00 ++ 16384,8867,-16384,-21407, // w07 w06 w03 w02 ++ 16384,-8867,16384,-21407, // w13 w12 w09 w08 ++ -16384,21407,16384,-8867, // w15 w14 w11 w10 ++ 22725,19266,19266,-4520, // w21 w20 w17 w16 ++ 12873,4520,-22725,-12873, // w23 w22 w19 w18 ++ 12873,-22725,4520,-12873, // w29 w28 w25 w24 ++ 4520,19266,19266,-22725, // w31 w30 w27 w26 ++// %3 for rows 1,7 - constants are multiplied by cos_1_16 ++ 22725,29692,22725,12299, // movq-> w05 w04 w01 w00 ++ 22725,12299,-22725,-29692, // w07 w06 w03 w02 ++ 22725,-12299,22725,-29692, // w13 w12 w09 w08 ++ -22725,29692,22725,-12299, // w15 w14 w11 w10 ++ 31521,26722,26722,-6270, // w21 w20 w17 w16 ++ 17855,6270,-31521,-17855, // w23 w22 w19 w18 ++ 17855,-31521,6270,-17855, // w29 w28 w25 w24 ++ 6270,26722,26722,-31521, // w31 w30 w27 w26 ++// %3 for rows 2,6 - constants are multiplied by cos_2_16 ++ 21407,27969,21407,11585, // movq-> w05 w04 w01 w00 ++ 21407,11585,-21407,-27969, // w07 w06 w03 w02 ++ 21407,-11585,21407,-27969, // w13 w12 w09 w08 ++ -21407,27969,21407,-11585, // w15 w14 w11 w10 ++ 29692,25172,25172,-5906, // w21 w20 w17 w16 ++ 16819,5906,-29692,-16819, // w23 w22 w19 w18 ++ 16819,-29692,5906,-16819, // w29 w28 w25 w24 ++ 5906,25172,25172,-29692, // w31 w30 w27 w26 ++// %3 for rows 3,5 - constants are multiplied by cos_3_16 ++ 19266,25172,19266,10426, // movq-> w05 w04 w01 w00 ++ 19266,10426,-19266,-25172, // w07 w06 w03 w02 ++ 19266,-10426,19266,-25172, // w13 w12 w09 w08 ++ -19266,25172,19266,-10426, // w15 w14 w11 w10 ++ 26722,22654,22654,-5315, // w21 w20 w17 w16 ++ 15137,5315,-26722,-15137, // w23 w22 w19 w18 ++ 15137,-26722,5315,-15137, // w29 w28 w25 w24 ++ 5315,22654,22654,-26722, // w31 w30 w27 w26 ++}; ++ ++ ++ ++#define DCT_8_INV_ROW_LOONGSON2(A1,A2,A3,A4)\ ++ "ldc1 $f0, " #A1 " \n\t"/* 0 ; x3 x2 x1 x0*/\ ++ "ldc1 $f2, 8+" #A1 " \n\t"/* 1 ; x7 x6 x5 x4*/\ ++ "mov.d $f4, $f0 \n\t"/* 2 ; x3 x2 x1 x0*/\ ++ "ldc1 $f6, " #A3 " \n\t"/* 3 ; w05 w04 w01 w00*/\ ++ "li $12, 0x88 \n\t"\ ++ "dmtc1 $12, $f16 \n\t"\ ++ "pshufh $f0, $f0, $f16 \n\t"/* x2 x0 x2 x0*/\ ++ "ldc1 $f8, 8+" #A3 " \n\t"/* 4 ; w07 w06 w03 w02*/\ ++ "mov.d $f10, $f2 \n\t"/* 5 ; x7 x6 x5 x4*/\ ++ "pmaddhw $f6, $f6, $f0 \n\t"/* x2*w05+x0*w04 x2*w01+x0*w00*/\ ++ "ldc1 $f12, 32+" #A3 " \n\t"/* 6 ; w21 w20 w17 w16*/\ ++ "pshufh $f2, $f2, $f16 \n\t"/* x6 x4 x6 x4*/\ ++ "pmaddhw $f8, $f8, $f2 \n\t"/* x6*w07+x4*w06 x6*w03+x4*w02*/\ ++ "li $12, 0xdd \n\t"\ ++ "dmtc1 $12, $f16 \n\t"\ ++ "ldc1 $f14, 40+" #A3 " \n\t"/* 7 ; w23 w22 w19 w18*/\ ++ "pshufh $f4, $f4, $f16 \n\t"/* x3 x1 x3 x1*/\ ++ "pmaddhw $f12, $f12, $f4 \n\t"/* x3*w21+x1*w20 x3*w17+x1*w16*/\ ++ "ldc1 $f18, " #A4 " \n\t" \ ++ "ldc1 $f20, 16+" #A3 " \n\t" \ ++ "ldc1 $f22, 24+" #A3 " \n\t" \ ++ "ldc1 $f24, 48+" #A3 " \n\t" \ ++ "ldc1 $f26, 56+" #A3 " \n\t" \ ++ "pshufh $f10, $f10, $f16 \n\t"/* x7 x5 x7 x5*/\ ++ "pmaddhw $f14, $f14, $f10 \n\t"/* x7*w23+x5*w22 x7*w19+x5*w18*/\ ++ "paddw $f6, $f6, $f18 \n\t"/* +%4*/\ ++ "pmaddhw $f0, $f0, $f20 \n\t"/* x2*w13+x0*w12 x2*w09+x0*w08*/\ ++ "paddw $f6, $f6, $f8 \n\t"/* 4 ; a1=sum(even1) a0=sum(even0)*/\ ++ "pmaddhw $f2, $f2, $f22 \n\t"/* x6*w15+x4*w14 x6*w11+x4*w10*/\ ++ "mov.d $f8, $f6 \n\t"/* 4 ; a1 a0*/\ ++ "li $12, 11 \n\t"\ ++ "dmtc1 $12, $f16 \n\t"\ ++ "pmaddhw $f4, $f4, $f24 \n\t"/* x3*w29+x1*w28 x3*w25+x1*w24*/\ ++ "paddw $f12, $f12, $f14 \n\t"/* 7 ; b1=sum(odd1) b0=sum(odd0)*/\ ++ "pmaddhw $f10, $f10, $f26 \n\t"/* x7*w31+x5*w30 x7*w27+x5*w26*/\ ++ "paddw $f6, $f6, $f12 \n\t"/* a1+b1 a0+b0*/\ ++ "paddw $f0, $f0, $f18 \n\t"/* +%4*/\ ++ "psraw $f6, $f6, $f16 \n\t"/* y1=a1+b1 y0=a0+b0*/\ ++ "paddw $f0, $f0, $f2 \n\t"/* 1 ; a3=sum(even3) a2=sum(even2)*/\ ++ "psubw $f8, $f8, $f12 \n\t"/* 6 ; a1-b1 a0-b0*/\ ++ "mov.d $f14, $f0 \n\t"/* 7 ; a3 a2*/\ ++ "paddw $f4, $f4, $f10 \n\t"/* 5 ; b3=sum(odd3) b2=sum(odd2)*/\ ++ "paddw $f0, $f0, $f4 \n\t"/* a3+b3 a2+b2*/\ ++ "psraw $f8, $f8, $f16 \n\t"/* y6=a1-b1 y7=a0-b0*/\ ++ "psubw $f14, $f14, $f4 \n\t"/* 2 ; a3-b3 a2-b2*/\ ++ "psraw $f0, $f0, $f16 \n\t"/* y3=a3+b3 y2=a2+b2*/\ ++ "psraw $f14, $f14, $f16 \n\t"/* y4=a3-b3 y5=a2-b2*/\ ++ "li $12, 0xb1 \n\t"\ ++ "dmtc1 $12, $f20 \n\t"\ ++ "packsswh $f6, $f6, $f0 \n\t"/* 0 ; y3 y2 y1 y0*/\ ++ "packsswh $f14, $f14, $f8 \n\t"/* 4 ; y6 y7 y4 y5*/\ ++ "sdc1 $f6, " #A2 " \n\t"/* 3 ; save y3 y2 y1 y0*/\ ++ "pshufh $f14, $f14, $f20 \n\t"/* y7 y6 y5 y4*/\ ++ "sdc1 $f14, 8 +" #A2 " \n\t"/* 7 ; save y7 y6 y5 y4*/\ ++ ++ ++#define DCT_8_INV_COL(A1,A2)\ ++ "ldc1 $f0, 2*8(%3) \n\t"/* */\ ++ "ldc1 $f6, 16*3+" #A1 " \n\t"/* x3 */\ ++ "mov.d $f2, $f0 \n\t"/* tg_3_16*/\ ++ "ldc1 $f10, 16*5+" #A1 " \n\t"/* x5 */\ ++ "pmulhh $f0, $f0, $f6 \n\t"/* x3*(tg_3_16-1)*/\ ++ "ldc1 $f8, (%3) \n\t"\ ++ "pmulhh $f2, $f2, $f10 \n\t"/* x5*(tg_3_16-1)*/\ ++ "ldc1 $f14, 16*7+" #A1 " \n\t"/* x7 */\ ++ "mov.d $f4, $f8 \n\t"/* tg_1_16*/\ ++ "ldc1 $f12, 16*1+" #A1 " \n\t"/* x1 */\ ++ "pmulhh $f8, $f8, $f14 \n\t"/* x7*tg_1_16*/\ ++ "paddsh $f0, $f0, $f6 \n\t"/* x3*tg_3_16*/\ ++ "pmulhh $f4, $f4, $f12 \n\t"/* x1*tg_1_16*/\ ++ "paddsh $f2, $f2, $f6 \n\t"/* x3+x5*(tg_3_16-1)*/\ ++ "psubsh $f0, $f0, $f10 \n\t"/* x3*tg_3_16-x5 = tm35*/\ ++ "ldc1 $f6, 3*8(%3) \n\t"\ ++ "paddsh $f2, $f2, $f10 \n\t"/* x3+x5*tg_3_16 = tp35*/\ ++ "paddsh $f8, $f8, $f12 \n\t"/* x1+tg_1_16*x7 = tp17*/\ ++ "psubsh $f4, $f4, $f14 \n\t"/* x1*tg_1_16-x7 = tm17*/\ ++ "mov.d $f10, $f8 \n\t"/* tp17*/\ ++ "mov.d $f12, $f4 \n\t"/* tm17*/\ ++ "paddsh $f10, $f10, $f2 \n\t"/* tp17+tp35 = b0*/\ ++ "psubsh $f12, $f12, $f0 \n\t"/* tm17-tm35 = b3*/\ ++ "psubsh $f8, $f8, $f2 \n\t"/* tp17-tp35 = t1*/\ ++ "paddsh $f4, $f4, $f0 \n\t"/* tm17+tm35 = t2*/\ ++ "ldc1 $f14, 1*8(%3) \n\t"\ ++ "mov.d $f2, $f8 \n\t"/* t1*/\ ++ "sdc1 $f10, 3*16+" #A2 " \n\t"/* save b0*/\ ++ "paddsh $f2, $f2, $f4 \n\t"/* t1+t2*/\ ++ "sdc1 $f12, 5*16+" #A2 " \n\t"/* save b3*/\ ++ "psubsh $f8, $f8, $f4 \n\t"/* t1-t2*/\ ++ "ldc1 $f10, 2*16+" #A1 " \n\t"\ ++ "mov.d $f0, $f14 \n\t"/* tg_2_16*/\ ++ "ldc1 $f12, 6*16+" #A1 " \n\t"\ ++ "pmulhh $f0, $f0, $f10 \n\t"/* x2*tg_2_16*/\ ++ "pmulhh $f14, $f14, $f12 \n\t"/* x6*tg_2_16*/\ ++ "pmulhh $f2, $f2, $f6 \n\t"/* ocos_4_16*(t1+t2) = b1/2*/\ ++ "ldc1 $f4, 0*16+" #A1 " \n\t"\ ++ "pmulhh $f8, $f8, $f6 \n\t"/* ocos_4_16*(t1-t2) = b2/2*/\ ++ "psubsh $f0, $f0, $f12 \n\t"/* t2*tg_2_16-x6 = tm26*/\ ++ "mov.d $f6, $f4 \n\t"/* x0*/\ ++ "ldc1 $f12, 4*16+" #A1 " \n\t"\ ++ "paddsh $f14, $f14, $f10 \n\t"/* x2+x6*tg_2_16 = tp26*/\ ++ "paddsh $f4, $f4, $f12 \n\t"/* x0+x4 = tp04*/\ ++ "psubsh $f6, $f6, $f12 \n\t"/* x0-x4 = tm04*/\ ++ "mov.d $f10, $f4 \n\t"/* tp04*/\ ++ "mov.d $f12, $f6 \n\t"/* tm04*/\ ++ "psubsh $f4, $f4, $f14 \n\t"/* tp04-tp26 = a3*/\ ++ "paddsh $f6, $f6, $f0 \n\t"/* tm04+tm26 = a1*/\ ++ "paddsh $f2, $f2, $f2 \n\t"/* b1*/\ ++ "paddsh $f8, $f8, $f8 \n\t"/* b2*/\ ++ "paddsh $f10, $f10, $f14 \n\t"/* tp04+tp26 = a0*/\ ++ "psubsh $f12, $f12, $f0 \n\t"/* tm04-tm26 = a2*/\ ++ "li $12, 6 \n\t"\ ++ "dmtc1 $12, $f18 \n\t"\ ++ "mov.d $f14, $f6 \n\t"/* a1*/\ ++ "mov.d $f0, $f12 \n\t"/* a2*/\ ++ "paddsh $f6, $f6, $f2 \n\t"/* a1+b1*/\ ++ "paddsh $f12, $f12, $f8 \n\t"/* a2+b2*/\ ++ "psrah $f6, $f6, $f18 \n\t"/* dst1*/\ ++ "psubsh $f14, $f14, $f2 \n\t"/* a1-b1*/\ ++ "psrah $f12, $f12, $f18 \n\t"/* dst2*/\ ++ "psubsh $f0, $f0, $f8 \n\t"/* a2-b2*/\ ++ "ldc1 $f2, 3*16+" #A2 " \n\t"/* load b0*/\ ++ "psrah $f14, $f14, $f18 \n\t"/* dst6*/\ ++ "mov.d $f8, $f10 \n\t"/* a0*/\ ++ "psrah $f0, $f0, $f18 \n\t"/* dst5*/\ ++ "sdc1 $f6, 1*16+" #A2 " \n\t"\ ++ "paddsh $f10, $f10, $f2 \n\t"/* a0+b0*/\ ++ "sdc1 $f12, 2*16+" #A2 " \n\t"\ ++ "psubsh $f8, $f8, $f2 \n\t"/* a0-b0*/\ ++ "ldc1 $f6, 5*16+" #A2 " \n\t"/* load b3*/\ ++ "psrah $f10, $f10, $f18 \n\t"/* dst0*/\ ++ "mov.d $f12, $f4 \n\t"/* a3*/\ ++ "psrah $f8, $f8, $f18 \n\t"/* dst7*/\ ++ "sdc1 $f0, 5*16+" #A2 " \n\t"\ ++ "paddsh $f4, $f4, $f6 \n\t"/* a3+b3*/\ ++ "sdc1 $f14, 6*16+" #A2 " \n\t"\ ++ "psubsh $f12, $f12, $f6 \n\t"/* a3-b3*/\ ++ "sdc1 $f10, 0*16+" #A2 " \n\t"\ ++ "psrah $f4, $f4, $f18 \n\t"/* dst3*/\ ++ "sdc1 $f8, 7*16+" #A2 " \n\t"\ ++ "psrah $f12, $f12, $f18 \n\t"/* dst4*/\ ++ "sdc1 $f4, 3*16+" #A2 " \n\t"\ ++ "sdc1 $f12, 4*16+" #A2 " \n\t" ++ ++ ++ ++void ff_idct_xvid_loongson2(short *block){ ++ __asm__ volatile( ++ //# Process each row ++ DCT_8_INV_ROW_LOONGSON2(0*16(%0), 0*16(%0), 64*0(%2), 8*0(%1)) ++ DCT_8_INV_ROW_LOONGSON2(1*16(%0), 1*16(%0), 64*1(%2), 8*1(%1)) ++ DCT_8_INV_ROW_LOONGSON2(2*16(%0), 2*16(%0), 64*2(%2), 8*2(%1)) ++ DCT_8_INV_ROW_LOONGSON2(3*16(%0), 3*16(%0), 64*3(%2), 8*3(%1)) ++ DCT_8_INV_ROW_LOONGSON2(4*16(%0), 4*16(%0), 64*0(%2), 8*4(%1)) ++ DCT_8_INV_ROW_LOONGSON2(5*16(%0), 5*16(%0), 64*3(%2), 8*5(%1)) ++ DCT_8_INV_ROW_LOONGSON2(6*16(%0), 6*16(%0), 64*2(%2), 8*6(%1)) ++ DCT_8_INV_ROW_LOONGSON2(7*16(%0), 7*16(%0), 64*1(%2), 8*7(%1)) ++ ++ //# Process the columns (4 at a time) ++ DCT_8_INV_COL(0(%0), 0(%0)) ++ DCT_8_INV_COL(8(%0), 8(%0)) ++ : ++ : "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16) ++ :"$f0","$f2","$f4","$f6","$f8","$f10","$f12","$f14","$f18","$f16","$20","$22","$24","$26"); ++} ++ +diff --git a/libavcodec/loongson2/motion_est_loongson2.c b/libavcodec/loongson2/motion_est_loongson2.c +new file mode 100644 +index 0000000..bb67290 +--- /dev/null ++++ b/libavcodec/loongson2/motion_est_loongson2.c +@@ -0,0 +1,365 @@ ++/* ++ * Loongson2E MMI optimized motion estimation ++ * Copyright (c) 2007 comcat . ++ * ++ * based on Michael Niedermayer ++ * ++ */ ++ ++#include "dsputil_loongson2.h" ++#include "../avcodec.h" ++ ++static const __attribute__ ((aligned(8))) uint64_t round_tab[3]={ ++ 0x0000000000000000ULL, ++ 0x0001000100010001ULL, ++ 0x0002000200020002ULL, ++}; ++ ++static attribute_used __attribute__ ((aligned(8))) uint64_t bone= 0x0101010101010101LL; ++ ++static inline void sad8_1_loongson2(uint8_t *blk1, uint8_t *blk2, int stride, int h) ++{ ++ long len= -(stride*h); ++ __asm__ volatile( ++ ++// ".set mips3 \n\t" ++ ".align 4 \n\t" ++ ++ "move $8, %0 \n\t" ++ "move $21, %1 \n\t" ++ "move $22, %2 \n\t" ++ "move $23, %3 \n\t" ++ ++ "1: \n\t" ++ ++ "add $9, $8, $21 \n\t" ++ "add $10, $8, $22 \n\t" ++ ++ "uld $11, ($9) \n\t" ++ "dmtc1 $11, $f0 \n\t" ++ ++ "uld $12, ($9) \n\t" ++ "dmtc1 $12, $f4 \n\t" ++ ++ "pasubub $f10, $f0, $f4 \n\t" ++ "biadd $f0, $f10 \n\t" ++ ++ "add $8, $8, $23 \n\t" ++ ++ "add $9, $8, $21 \n\t" ++ "add $10, $8, $22 \n\t" ++ ++ "uld $11, ($9) \n\t" ++ "dmtc1 $11, $f2 \n\t" ++ ++ "uld $12, ($10) \n\t" ++ "dmtc1 $12, $f6 \n\t" ++ ++ "pasubub $f16, $f2, $f6 \n\t" ++ "biadd $f6, $f16 \n\t" ++ ++ "paddh $f0, $f0, $f6 \n\t" ++ ++ "paddh $f12, $f12, $f0 \n\t" ++ ++ "bltz $8, 1b \n\t" ++ "add $8, $8, $23 \n\t" ++ ++ : "+r" (len) ++ : "r" (blk1 - len), "r" (blk2 - len), "r" ((long)stride) ++ : "$8", "$9", "$10", "$21", "$22", "$23", "$f0", "$f2", "$f4", "$f6", "$f10", "$f16" ++ ); ++} ++ ++static inline void sad8_2_loongson2(uint8_t *blk1a, uint8_t *blk1b, uint8_t *blk2, int stride, int h) ++{ ++ long len= -(stride*h); ++ __asm__ volatile( ++ ++// ".set mips3 \n\t" ++ ".align 4 \n\t" ++ ++ "move $8, %0 \n\t" ++ ++ "1: \n\t" ++ "add $9, $8, %1 \n\t" ++ "add $10, $8, %2 \n\t" ++ "add $11, $8, %3 \n\t" ++ ++ "uld $12, ($9) \n\t" ++ "dmtc1 $12, $f0 \n\t" ++ "uld $13, ($10) \n\t" ++ "dmtc1 $13, $f4 \n\t" ++ ++ "pavgb $f0, $f0, $f4 \n\t" ++ ++ "uld $12, ($11) \n\t" ++ "dmtc1 $12, $f4 \n\t" ++ ++ "pasubub $f10, $f0, $f4 \n\t" ++ "biadd $f0, $f10 \n\t" ++ ++ "add $8, $8, %4 \n\t" ++ ++ "add $9, $8, %1 \n\t" ++ "add $10, $8, %2 \n\t" ++ "add $11, $8, %3 \n\t" ++ ++ "uld $12, ($9) \n\t" ++ "dmtc1 $12, $f2 \n\t" ++ "uld $13, ($10) \n\t" ++ "dmtc1 $13, $f6 \n\t" ++ ++ "pavgb $f6, $f6, $f2 \n\t" ++ ++ "uld $12, ($11) \n\t" ++ "dmtc1 $12, $f2 \n\t" ++ ++ "pasubub $f16, $f6, $f2 \n\t" ++ "biadd $f6, $f16 \n\t" ++ ++ "paddh $f0, $f0, $f6 \n\t" ++ "paddh $f12, $f12, $f0 \n\t" ++ ++ "bltz $8, 1b \n\t" ++ "add $8, $8, %4 \n\t" ++ : "+r" (len) ++ : "r" (blk1a - len), "r" (blk1b -len), "r" (blk2 - len), "r" ((long)stride) ++ : "$8", "$9", "$10", "$11", "$12", "$13", "$f0", "$f2", "$f4", "$f6", "$f10", "$f16" ++ ); ++} ++ ++static inline void sad8_4_loongson2(uint8_t *blk1, uint8_t *blk2, int stride, int h) ++{ ++ long len= -(stride*h); ++ __asm__ volatile( ++ ++ ++// ".set mips3 \n\t" ++ ".align 4 \n\t" ++ ++ "ldc1 $f10, "MANGLE(bone)" \n\t" ++ ++ "move $8, %0 \n\t" ++ ++ "1: \n\t" ++ "add $9, $8, %1 \n\t" ++ "add $10, $8, %2 \n\t" ++ "add $11, $8, %3 \n\t" ++ ++ "uld $12, ($9) \n\t" ++ "dmtc1 $12, $f0 \n\t" ++ ++ "uld $13, ($10) \n\t" ++ "dmtc1 $13, $f4 \n\t" ++ ++ "uld $12, 1($9) \n\t" ++ "dmtc1 $12, $f2 \n\t" ++ ++ "uld $13, 1($10) \n\t" ++ "dmtc1 $13, $f6 \n\t" ++ ++ "pavgb $f0, $f0, $f4 \n\t" ++ "pavgb $f6, $f6, $f2 \n\t" ++ ++ "psubusb $f6, $f6, $f10 \n\t" ++ "pavgb $f0, $f0, $f6 \n\t" ++ ++ "uld $13, 1($11) \n\t" ++ "dmtc1 $13, $f4 \n\t" ++ ++ "pasubub $f16, $f0, $f4 \n\t" ++ "biadd $f0, $f16 \n\t" ++ ++ "add $8, $8, %4 \n\t" ++ ++ "add $9, $8, %1 \n\t" ++ "add $10, $8, %2 \n\t" ++ "add $11, $8, %3 \n\t" ++ ++ "uld $12, ($9) \n\t" ++ "dmtc1 $12, $f2 \n\t" ++ "uld $13, ($10) \n\t" ++ "dmtc1 $12, $f6 \n\t" ++ "uld $12, 1($9) \n\t" ++ "dmtc1 $12, $f4 \n\t" ++ "uld $13, 1($10) \n\t" ++ "dmtc1 $12, $f8 \n\t" ++ ++ "pavgb $f2, $f2, $f6 \n\t" ++ "pavgb $f4, $f4, $f8 \n\t" ++ ++ "psubusb $f4, $f4, $f10 \n\t" ++ "pavgb $f4, $f4, $f2 \n\t" ++ ++ "uld $13, ($11) \n\t" ++ "dmtc1 $13, $f2 \n\t" ++ ++ "pasubub $f18, $f4, $f2 \n\t" ++ "biadd $f4, $f18 \n\t" ++ ++ "paddh $f0, $f0, $f4 \n\t" ++ "paddh $f12, $f12, $f0 \n\t" ++ ++ "bltz $8, 1b \n\t" ++ "add $8, $8, %4 \n\t" ++ : "+r" (len) ++ : "r" (blk1 - len), "r" (blk1 - len + stride), "r" (blk2 - len), "r" ((long)stride) ++ : "$8", "$9", "$10", "$11", "$12", "$13", "$f0", "$f2", "$f4", "$f6", "$f8", "$f10", "$f16", "$f18" ++ ); ++} ++ ++static inline int sum_loongson2(void) ++{ ++ int ret; ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ ++ "dmfc1 %0, $f12 \n\t" ++ : "=r" (ret) ++ ); ++ return ret; ++} ++ ++ ++static int sad8_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h) ++{ ++ assert(h==8); ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ "xor $f14, $f14, $f14 \n\t" ++ "xor $f12, $f12, $f12 \n\t" ++ : ++ ); ++ ++ sad8_1_loongson2(blk1, blk2, stride, 8); ++ ++ return sum_loongson2(); ++} ++ ++static int sad8_x2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h) ++{ ++ assert(h==8); ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ "xor $f14, $f14, $f14 \n\t" ++ "xor $f12, $f12, $f12 \n\t" ++ ++ "ldc1 $f10, %0 \n\t" ++ :: "m"(round_tab[1]) ++ ); ++ ++ sad8_2_loongson2(blk1, blk1+1, blk2, stride, 8); ++ ++ return sum_loongson2(); ++} ++ ++static int sad8_y2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h) ++{ ++ assert(h==8); ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ "xor $f14, $f14, $f14 \n\t" ++ "xor $f12, $f12, $f12 \n\t" ++ ++ "ldc1 $f10, %0 \n\t" ++ :: "m"(round_tab[1]) ++ ); ++ ++ sad8_2_loongson2(blk1, blk1+stride, blk2, stride, 8); ++ ++ return sum_loongson2(); ++} ++ ++static int sad8_xy2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h) ++{ ++ assert(h==8); ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ "xor $f14, $f14, $f14 \n\t" ++ "xor $f12, $f12, $f12 \n\t" ++ "ldc1 $f10, %0 \n\t" ++ :: "m"(round_tab[2]) ++ ); ++ ++ sad8_4_loongson2(blk1, blk2, stride, 8); ++ ++ return sum_loongson2(); ++} ++ ++static int sad16_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h) ++{ ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ "xor $f14, $f14, $f14 \n\t" ++ "xor $f12, $f12, $f12 \n\t":); ++ ++ sad8_1_loongson2(blk1 , blk2 , stride, h); ++ sad8_1_loongson2(blk1+8, blk2+8, stride, h); ++ ++ return sum_loongson2(); ++} ++ ++static int sad16_x2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h) ++{ ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ "xor $f14, $f14, $f14 \n\t" ++ "xor $f12, $f12, $f12 \n\t" ++ "ldc1 $f10, %0 \n\t" ++ :: "m"(round_tab[1]) ++ ); ++ ++ sad8_2_loongson2(blk1 , blk1+1, blk2 , stride, h); ++ sad8_2_loongson2(blk1+8, blk1+9, blk2+8, stride, h); ++ ++ return sum_loongson2(); ++} ++ ++static int sad16_y2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h) ++{ ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ "xor $f14, $f14, $f14 \n\t" ++ "xor $f12, $f12, $f12 \n\t" ++ "ldc1 $f10, %0 \n\t" ++ :: "m"(round_tab[1]) ++ ); ++ ++ sad8_2_loongson2(blk1 , blk1+stride, blk2 , stride, h); ++ sad8_2_loongson2(blk1+8, blk1+stride+8,blk2+8, stride, h); ++ ++ return sum_loongson2(); ++} ++ ++static int sad16_xy2_loongson2(void *v, uint8_t *blk2, uint8_t *blk1, int stride, int h) ++{ ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ "xor $f14, $f14, $f14 \n\t" ++ "xor $f12, $f12, $f12 \n\t" ++ "ldc1 $f10, %0 \n\t" ++ :: "m"(round_tab[2]) ++ ); ++ ++ sad8_4_loongson2(blk1 , blk2 , stride, h); ++ sad8_4_loongson2(blk1+8, blk2+8, stride, h); ++ ++ return sum_loongson2(); ++} ++ ++ ++void dsputil_init_pix_loongson2(DSPContext* c, AVCodecContext *avctx) ++{ ++ c->pix_abs[0][0] = sad16_loongson2; ++ c->pix_abs[0][1] = sad16_x2_loongson2; ++ c->pix_abs[0][2] = sad16_y2_loongson2; ++ c->pix_abs[0][3] = sad16_xy2_loongson2; ++ c->pix_abs[1][0] = sad8_loongson2; ++ c->pix_abs[1][1] = sad8_x2_loongson2; ++ c->pix_abs[1][2] = sad8_y2_loongson2; ++ c->pix_abs[1][3] = sad8_xy2_loongson2; ++ ++ c->sad[0]= sad16_loongson2; ++ c->sad[1]= sad8_loongson2; ++} +diff --git a/libavcodec/loongson2/mpegvideo_loongson2.c b/libavcodec/loongson2/mpegvideo_loongson2.c +new file mode 100644 +index 0000000..18d070a +--- /dev/null ++++ b/libavcodec/loongson2/mpegvideo_loongson2.c +@@ -0,0 +1,385 @@ ++/* ++ * The simplest mpeg encoder (well, it was the simplest!) ++ * Copyright (c) 2007-2010 comcat . ++ * ++ * Optimized for Loongson2 CPUs by comcat ++ * ++ * Based on i386 ++ */ ++ ++#include "dsputil_loongson2.h" ++#include "../mpegvideo.h" ++#include "../avcodec.h" ++ ++extern uint8_t zigzag_direct_noperm[64]; ++extern uint16_t inv_zigzag_direct16[64]; ++ ++static const unsigned long long int mm_wabs __attribute__ ((aligned(8))) = 0xffffffffffffffffULL; ++static const unsigned long long int mm_wone __attribute__ ((aligned(8))) = 0x0001000100010001ULL; ++ ++ ++static void dct_unquantize_h263_intra_loongson2(MpegEncContext *s, ++ DCTELEM *block, int n, int qscale) ++{ ++ long level, qmul, qadd, nCoeffs; ++ ++ qmul = qscale << 1; ++ ++ assert(s->block_last_index[n]>=0 || s->h263_aic); ++ if (!s->h263_aic) { ++ if (n < 4) ++ level = block[0] * s->y_dc_scale; ++ else ++ level = block[0] * s->c_dc_scale; ++ qadd = (qscale - 1) | 1; ++ }else{ ++ qadd = 0; ++ level= block[0]; ++ } ++ if(s->ac_pred) ++ nCoeffs=63; ++ else ++ nCoeffs= s->inter_scantable.raster_end[ s->block_last_index[n] ]; ++ ++ ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ ++ "xor $f12, $f12, $f12 \n\t" ++ "lwc1 $f12, %1 \n\t" ++ ++ "xor $f10, $f10, $f10 \n\t" ++ ++ "packsswh $f12, $f12, $f12 \n\t" ++ ++ "lwc1 $f10, %2 \n\t" ++ ++ "packsswh $f10, $f10, $f10 \n\t" ++ ++ "packsswh $f12, $f12, $f12 \n\t" ++ ++ "xor $f14, $f14, $f14 \n\t" ++ ++ "packsswh $f10, $f10, $f10 \n\t" ++ ++ "xor $f8, $f8, $f8 \n\t" ++ ++ "psubh $f14, $f14, $f10 \n\t" ++ ++ ++ "1: \n\t" ++ "add $12, %0, %3 \n\t" ++ ++ "ldc1 $f0, ($12) \n\t" ++ ++ "ldc1 $f2, 8($12) \n\t" ++ ++ "mov.d $f4, $f0 \n\t" ++ "mov.d $f6, $f2 \n\t" ++ ++ "pmullh $f0, $f0, $f12 \n\t" ++ "pmullh $f2, $f2, $f12 \n\t" ++ ++ "pcmpgth $f4, $f4, $f8 \n\t" ++ "pcmpgth $f6, $f6, $f8 \n\t" ++ ++ "xor $f0, $f0, $f4 \n\t" ++ "xor $f2, $f2, $f6 \n\t" ++ ++ ++ "paddh $f0, $f0, $f14 \n\t" ++ ++ "paddh $f2, $f2, $f14 \n\t" ++ ++ ++ "xor $f4, $f4, $f0 \n\t" ++ ++ "xor $f6, $f6, $f2 \n\t" ++ ++ ++ "pcmpeqh $f0, $f0, $f14 \n\t" ++ ++ "pcmpeqh $f2, $f2, $f14 \n\t" ++ ++ ++ "pandn $f0, $f0, $f4 \n\t" ++ ++ "pandn $f2, $f2, $f6 \n\t" ++ ++ ++ "sdc1 $f0, ($12) \n\t" ++ ++ "sdc1 $f2, 8($12) \n\t" ++ ++ ++ "addiu %3, %3, 16 \n\t" ++ ++ "blez %3, 1b \n\t" ++ "nop \n\t" ++ ::"r" (block+nCoeffs), "m"(qmul), "m" (qadd), "r" (2*(-nCoeffs)) ++ : "memory" ++ ); ++ block[0]= level; ++} ++ ++ ++static void dct_unquantize_h263_inter_loongson2(MpegEncContext *s, ++ DCTELEM *block, int n, int qscale) ++{ ++ long qmul, qadd, nCoeffs; ++ ++ qmul = qscale << 1; ++ qadd = (qscale - 1) | 1; ++ ++ assert(s->block_last_index[n]>=0 || s->h263_aic); ++ ++ nCoeffs= s->inter_scantable.raster_end[ s->block_last_index[n] ]; ++ ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ ++ "xor $f12, $f12, $f12 \n\t" ++ "lwc1 $f12, %1 \n\t" ++ ++ "xor $f10, $f10, $f10 \n\t" ++ ++ "packsswh $f12, $f12, $f12 \n\t" ++ ++ "lwc1 $f10, %2 \n\t" ++ ++ "packsswh $f10, $f10, $f10 \n\t" ++ ++ "xor $f14, $f14, $f14 \n\t" ++ ++ "packsswh $f12, $f12, $f12 \n\t" ++ ++ "packsswh $f10, $f10, $f10 \n\t" ++ ++ "xor $f8, $f8, $f8 \n\t" ++ ++ "psubh $f14, $f14, $f10 \n\t" ++ ++ ++ "1: \n\t" ++ "add $12, %0, %3 \n\t" ++ ++ "ldc1 $f0, ($12) \n\t" ++ ++ "ldc1 $f2, 8($12) \n\t" ++ ++ "mov.d $f4, $f0 \n\t" ++ "mov.d $f6, $f2 \n\t" ++ ++ "pmullh $f0, $f0, $f12 \n\t" ++ ++ "pmullh $f2, $f2, $f12 \n\t" ++ ++ "pcmpgth $f4, $f4, $f8 \n\t" ++ ++ "pcmpgth $f6, $f6, $f8 \n\t" ++ ++ "xor $f0, $f0, $f4 \n\t" ++ ++ "xor $f2, $f2, $f6 \n\t" ++ ++ "paddh $f0, $f0, $f14 \n\t" ++ ++ "paddh $f2, $f2, $f14 \n\t" ++ ++ "xor $f4, $f4, $f0 \n\t" ++ ++ "xor $f6, $f6, $f2 \n\t" ++ ++ "pcmpeqh $f0, $f0, $f14 \n\t" ++ ++ "pcmpeqh $f2, $f2, $f14 \n\t" ++ ++ "pandn $f0, $f0, $f4 \n\t" ++ ++ "pandn $f2, $f2, $f6 \n\t" ++ ++ "sdc1 $f0, ($12) \n\t" ++ ++ "sdc1 $f2, 8($12) \n\t" ++ ++ ++ "addiu %3, %3, 16 \n\t" ++ ++ "blez %3, 1b \n\t" ++ "nop \n\t" ++ ::"r" (block+nCoeffs), "m"(qmul), "m" (qadd), "r" (2*(-nCoeffs)) ++ : "memory" ++ ); ++} ++ ++ ++/* draw the edges of width 'w' of an image of size width, height ++ this mmx version can only handle w==8 || w==16 */ ++ ++static void draw_edges_loongson2(uint8_t *buf, int wrap, int width, int height, int w) ++{ ++ uint8_t *ptr, *last_line; ++ int i; ++ ++ last_line = buf + (height - 1) * wrap; ++ ++ ptr = buf; ++ if(w==8) ++ { ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ ++ "move $9, %0 \n\t" ++ ++ "1: \n\t" ++ ++ "xor $f0, $f0, $f0 \n\t" ++ "lwc1 $f0, ($9) \n\t" ++ ++ "punpcklbh $f0, $f0, $f0 \n\t" ++ ++ "add $12, $9, %2 \n\t" ++ ++ "punpcklhw $f0, $f0, $f0 \n\t" ++ ++ "punpcklwd $f0, $f0, $f0 \n\t" ++ ++ "ldc1 $f2, -8($12) \n\t" ++ ++ "sdc1 $f0, -8($9) \n\t" ++ ++ "punpckhbh $f2, $f2, $f2 \n\t" ++ ++ "add $9, $9, %1 \n\t" ++ ++ "punpckhhw $f2, $f2, $f2 \n\t" ++ ++ "sub $13, $9, %3 \n\t" ++ ++ "punpckhwd $f2, $f2, $f2 \n\t" ++ ++ "bltz $13, 1b \n\t" ++ ++ "sdc1 $f2, ($12) \n\t" ++ ++ : "+r" (ptr) ++ : "r" ((long)wrap), "r" ((long)width), "r" (ptr + wrap*height) ++ : "$9", "$13", "$12", "$f2", "$f0" ++ ); ++ } ++ else ++ { ++ __asm__ volatile( ++// ".set mips3 \n\t" ++ ++ "move $8, %0 \n\t" ++ ++ "1: \n\t" ++ ++ "xor $f0, $f0, $f0 \n\t" ++ "lwc1 $f0, ($8) \n\t" ++ ++ "punpcklbh $f0, $f0, $f0 \n\t" ++ "punpcklhw $f0, $f0, $f0 \n\t" ++ "punpcklwd $f0, $f0, $f0 \n\t" ++ ++ "sdc1 $f0, -8($8) \n\t" ++ "sdc1 $f0, -16($8) \n\t" ++ ++ "add $15, $8, %2 \n\t" ++ "ldc1 $f2, -8($15) \n\t" ++ ++ "punpckhbh $f2, $f2, $f2 \n\t" ++ "punpckhhw $f2, $f2, $f2 \n\t" ++ "punpckhwd $f2, $f2, $f2 \n\t" ++ ++ "sdc1 $f2, ($15) \n\t" ++ "sdc1 $f2, 8($15) \n\t" ++ ++ "add $8, $8, %1 \n\t" ++ ++ "sub $16, $8, %3 \n\t" ++ "bltz $16, 1b \n\t" ++ "nop \n\t" ++ : "+r" (ptr) ++ : "r" ((long)wrap), "r" ((long)width), "r" (ptr + wrap*height) ++ : "$8", "$15", "$16", "$f0", "$f2" ++ ); ++ } ++ ++ for(i=0;idct_unquantize_h263_intra = dct_unquantize_h263_intra_loongson2; ++ s->dct_unquantize_h263_inter = dct_unquantize_h263_inter_loongson2; ++ ++// draw_edges = draw_edges_loongson2; ++ ++} +diff --git a/libavcodec/mips/Makefile b/libavcodec/mips/Makefile +index 3f4da68..73e4d56 100644 +--- a/libavcodec/mips/Makefile ++++ b/libavcodec/mips/Makefile +@@ -1,3 +1,9 @@ + OBJS-$(HAVE_MMI) += ps2/dsputil_mmi.o \ + ps2/idct_mmi.o \ + ps2/mpegvideo_mmi.o \ ++ ++OBJS-$(HAVE_LOONGSON2MMI) += loongson2/idct_loongson2.o \ ++ loongson2/dsputil_loongson2.o \ ++ loongson2/idct_loongson2_xvid.o \ ++ loongson2/mpegvideo_loongson2.o \ ++ loongson2/motion_est_loongson2.o +diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c +index b47ff9a..af92552 100644 +--- a/libavcodec/mpegvideo.c ++++ b/libavcodec/mpegvideo.c +@@ -176,6 +176,9 @@ av_cold int ff_dct_common_init(MpegEncContext *s) + #elif ARCH_BFIN + MPV_common_init_bfin(s); + #endif ++#ifdef HAVE_LOONGSON2MMI ++ MPV_common_init_loongson2(s); ++#endif + + /* load & permutate scantables + note: only wmv uses different ones +diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h +index 5302be9..8d09906 100644 +--- a/libavcodec/mpegvideo.h ++++ b/libavcodec/mpegvideo.h +@@ -689,6 +689,7 @@ int MPV_encode_picture(AVCodecContext *avctx, unsigned char *buf, int buf_size, + void MPV_common_init_mmx(MpegEncContext *s); + void MPV_common_init_axp(MpegEncContext *s); + void MPV_common_init_mlib(MpegEncContext *s); ++void MPV_common_init_loongson2(MpegEncContext *s); + void MPV_common_init_mmi(MpegEncContext *s); + void MPV_common_init_arm(MpegEncContext *s); + void MPV_common_init_altivec(MpegEncContext *s); +diff --git a/libavcodec/options.c b/libavcodec/options.c +index 7ca1062..c05b3f4 100644 +--- a/libavcodec/options.c ++++ b/libavcodec/options.c +@@ -205,6 +205,8 @@ static const AVOption options[]={ + {"simple", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLE, INT_MIN, INT_MAX, V|E|D, "idct"}, + {"simplemmx", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_SIMPLEMMX, INT_MIN, INT_MAX, V|E|D, "idct"}, + {"libmpeg2mmx", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_LIBMPEG2MMX, INT_MIN, INT_MAX, V|E|D, "idct"}, ++{"libmpeg2loongson2", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_LIBMPEG2LOONGSON2, INT_MIN, INT_MAX, V|E|D, "idct"}, ++{"xvidloongson2", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_XVIDLOONGSON2, INT_MIN, INT_MAX, V|E|D, "idct"}, + {"ps2", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_PS2, INT_MIN, INT_MAX, V|E|D, "idct"}, + {"mlib", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_MLIB, INT_MIN, INT_MAX, V|E|D, "idct"}, + {"arm", NULL, 0, FF_OPT_TYPE_CONST, FF_IDCT_ARM, INT_MIN, INT_MAX, V|E|D, "idct"}, diff --git a/media-video/ffmpeg/metadata.xml b/media-video/ffmpeg/metadata.xml new file mode 100644 index 0000000..afa3011 --- /dev/null +++ b/media-video/ffmpeg/metadata.xml @@ -0,0 +1,28 @@ + + + + video + + media-video@gentoo.org + + + + Enable manually-optimised routines using the AMD 3DNow!Ex SIMD + instruction set, present in modern AMD CPUs. (Check for + 3dnowext in /proc/cpuinfo to know whether your CPU supports it). + + Enables Adaptive Multi-Rate Audio support + Enables runtime CPU detection (useful for bindist, compatibility on other CPUs) + Enable Dirac video support (an advanced royalty-free video compression format) via the reference library: dirac. + Use external faac library for AAC encoding + Use external faad library for AAC decoding (instead of internal libavcodec support) + Use pre-calculated tables rather than calculating them on the fly. + Enables mmx2 support + Enables network streaming support + Force shared libraries to be built as PIC (this is slower) + Enable Dirac video support (an advanced royalty-free video compression format) via libschroedinger (high-speed implementation in C of the Dirac codec). + faster floating point optimization for SSSE3 capable chips (Intel Core 2 and later chips) + Enables VAAPI (Video Acceleration API) for hardware decoding + Enables VDPAU decoders (requires nVidia video cards to offload CPU processing to video card + + -- cgit v1.2.3-65-gdbad