summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/ffmpeg2theora')
-rw-r--r--media-video/ffmpeg2theora/Manifest1
-rw-r--r--media-video/ffmpeg2theora/ffmpeg2theora-0.29-r1.ebuild51
-rw-r--r--media-video/ffmpeg2theora/ffmpeg2theora-0.29-r2.ebuild52
-rw-r--r--media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-ffmpeg2.patch40
-rw-r--r--media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch24
-rw-r--r--media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch21
-rw-r--r--media-video/ffmpeg2theora/metadata.xml11
7 files changed, 200 insertions, 0 deletions
diff --git a/media-video/ffmpeg2theora/Manifest b/media-video/ffmpeg2theora/Manifest
new file mode 100644
index 000000000000..ef0a9fd8f7b5
--- /dev/null
+++ b/media-video/ffmpeg2theora/Manifest
@@ -0,0 +1 @@
+DIST ffmpeg2theora-0.29.tar.bz2 90143 SHA256 214110e2a5afdd8ff8e0be18152e893dbff5dabc1ae1d1124e64d9f93eae946d SHA512 5e5cf1dbc6807a15b3a3e8526955ef341357b6a3106a6449a54b5dc09c652a9df34b5e93c9cbf05e1efad87542364cb8335e173a59a184aa2ff38ec4b536a725 WHIRLPOOL d093a0b0a5d90f6b9a3d959ff662e5e8c9f8ca36d51122f0c293d2189493bdf6daa710fa94be0fdca0d63166c3102dba82da1e533e1876e62f3ed4ec47b65bea
diff --git a/media-video/ffmpeg2theora/ffmpeg2theora-0.29-r1.ebuild b/media-video/ffmpeg2theora/ffmpeg2theora-0.29-r1.ebuild
new file mode 100644
index 000000000000..0296d485629d
--- /dev/null
+++ b/media-video/ffmpeg2theora/ffmpeg2theora-0.29-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils toolchain-funcs scons-utils
+
+DESCRIPTION="A simple converter to create Ogg Theora files"
+HOMEPAGE="http://www.v2v.cc/~j/ffmpeg2theora/"
+SRC_URI="http://www.v2v.cc/~j/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+IUSE="kate"
+
+RDEPEND="
+ || ( media-video/ffmpeg:0 media-libs/libpostproc <media-video/libav-0.8.2-r1 )
+ >=virtual/ffmpeg-0.10
+ >=media-libs/libvorbis-1.1
+ >=media-libs/libogg-1.1
+ >=media-libs/libtheora-1.1[encode]
+ kate? ( >=media-libs/libkate-0.3.7 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-swr.patch \
+ "${FILESDIR}"/${P}-ffmpeg2.patch \
+ "${FILESDIR}"/${P}-underlinking.patch
+}
+
+src_configure() {
+ myesconsargs=(
+ APPEND_CCFLAGS="${CFLAGS}"
+ APPEND_LINKFLAGS="${LDFLAGS}"
+ prefix=/usr
+ mandir=PREFIX/share/man
+ libkate=$(usex kate 1 0)
+ )
+}
+
+src_compile() {
+ escons
+}
+
+src_install() {
+ escons destdir="${D}" install
+ dodoc AUTHORS ChangeLog README subtitles.txt TODO
+}
diff --git a/media-video/ffmpeg2theora/ffmpeg2theora-0.29-r2.ebuild b/media-video/ffmpeg2theora/ffmpeg2theora-0.29-r2.ebuild
new file mode 100644
index 000000000000..5e58da482b73
--- /dev/null
+++ b/media-video/ffmpeg2theora/ffmpeg2theora-0.29-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs scons-utils
+
+DESCRIPTION="A simple converter to create Ogg Theora files"
+HOMEPAGE="http://www.v2v.cc/~j/ffmpeg2theora/"
+SRC_URI="http://www.v2v.cc/~j/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="kate libav"
+
+RDEPEND="
+ !libav? ( media-video/ffmpeg:0= )
+ libav? ( media-libs/libpostproc:0=
+ media-video/libav:0= )
+ >=media-libs/libvorbis-1.1
+ >=media-libs/libogg-1.1
+ >=media-libs/libtheora-1.1[encode]
+ kate? ( >=media-libs/libkate-0.3.7 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-swr.patch \
+ "${FILESDIR}"/${P}-ffmpeg2.patch \
+ "${FILESDIR}"/${P}-underlinking.patch
+}
+
+src_configure() {
+ myesconsargs=(
+ APPEND_CCFLAGS="${CFLAGS}"
+ APPEND_LINKFLAGS="${LDFLAGS}"
+ prefix=/usr
+ mandir=PREFIX/share/man
+ libkate=$(usex kate 1 0)
+ )
+}
+
+src_compile() {
+ escons
+}
+
+src_install() {
+ escons destdir="${D}" install
+ dodoc AUTHORS ChangeLog README subtitles.txt TODO
+}
diff --git a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-ffmpeg2.patch b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-ffmpeg2.patch
new file mode 100644
index 000000000000..a9ca9042d2f6
--- /dev/null
+++ b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-ffmpeg2.patch
@@ -0,0 +1,40 @@
+commit d3435a6a83dc656379de9e6523ecf8d565da6ca6
+Author: Jan Gerber <j@xiph.org>
+Date: Sun May 26 15:25:42 2013 +0200
+
+ don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE
+
+diff --git a/src/ffmpeg2theora.c b/src/ffmpeg2theora.c
+index cde63b9..8bebf28 100644
+--- a/src/ffmpeg2theora.c
++++ b/src/ffmpeg2theora.c
+@@ -47,6 +47,9 @@
+ #include "ffmpeg2theora.h"
+ #include "avinfo.h"
+
++#define MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
++
++
+ #define LENGTH(x) (sizeof(x) / sizeof(*x))
+
+ enum {
+@@ -1069,8 +1072,8 @@ void ff2theora_output(ff2theora this) {
+ int first = 1;
+ int audio_eos = 0, video_eos = 0, audio_done = 0, video_done = 0;
+ int ret;
+- int16_t *audio_buf=av_malloc(4*AVCODEC_MAX_AUDIO_FRAME_SIZE);
+- int16_t *resampled=av_malloc(4*AVCODEC_MAX_AUDIO_FRAME_SIZE);
++ int16_t *audio_buf=av_malloc(4*MAX_AUDIO_FRAME_SIZE);
++ int16_t *resampled=av_malloc(4*MAX_AUDIO_FRAME_SIZE);
+ int16_t *audio_p=NULL;
+ int no_frames;
+ int no_samples;
+@@ -1531,7 +1534,7 @@ void ff2theora_output(ff2theora this) {
+ while((audio_eos && !audio_done) || avpkt.size > 0 ) {
+ int samples=0;
+ int samples_out=0;
+- int data_size = 4*AVCODEC_MAX_AUDIO_FRAME_SIZE;
++ int data_size = 4*MAX_AUDIO_FRAME_SIZE;
+ int bytes_per_sample = av_get_bytes_per_sample(aenc->sample_fmt);
+
+ if (avpkt.size > 0) {
diff --git a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch
new file mode 100644
index 000000000000..b1117a87ea6f
--- /dev/null
+++ b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch
@@ -0,0 +1,24 @@
+commit a72baecd4dc7b01c0785b481460dde0fbab9a90a
+Author: Jan Gerber <j@xiph.org>
+Date: Fri Nov 23 20:21:54 2012 +0100
+
+ only depend on libswresample for local branch
+
+ libav does not have libswresample so its not in ubuntu.
+
+diff --git a/SConstruct b/SConstruct
+index 90520c3..01d234a 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -152,10 +152,10 @@ if not env.GetOption('clean'):
+ "libavcodec >= 52.30.0",
+ "libpostproc",
+ "libswscale",
+- "libswresample",
+ "libavutil",
+ ]
+ if os.path.exists("./ffmpeg"):
++ FFMPEG_LIBS.append('libswresample')
+ pkg_path = list(set(map(os.path.dirname, glob('./ffmpeg/*/*.pc'))))
+ pkg_path.append(os.environ.get('PKG_CONFIG_PATH', ''))
+ os.environ['PKG_CONFIG_PATH'] = ':'.join(pkg_path)
diff --git a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch
new file mode 100644
index 000000000000..dc877603913a
--- /dev/null
+++ b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch
@@ -0,0 +1,21 @@
+For example, pow() from mathlib is used directly in src/ffmpeg2theora.c:
+
+<snip>
+v = pow(v, g) * 255.0; // mplayer's vf_eq2.c multiplies with 256 here, strange...
+</snip>
+
+For build failure and log, see Gentoo bug #504698
+
+--- SConstruct
++++ SConstruct
+@@ -206,9 +206,8 @@
+ if env['crossmingw']:
+ env.Append(CCFLAGS=['-Wl,-subsystem,windows'])
+ env.Append(LIBS=['m'])
+- elif env['static']:
+- env.Append(LIBS=['m', 'dl'])
+
++ env.Append(LIBS=['m', 'dl'])
+
+ env = conf.Finish()
+
diff --git a/media-video/ffmpeg2theora/metadata.xml b/media-video/ffmpeg2theora/metadata.xml
new file mode 100644
index 000000000000..6c1f70ed2108
--- /dev/null
+++ b/media-video/ffmpeg2theora/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>video</herd>
+ <maintainer>
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="kate">Adds support for Ogg Kate subtitles via libkate.</flag>
+ </use>
+</pkgmetadata>