summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2008-10-06 22:25:52 +0000
committerAlexis Ballier <aballier@gentoo.org>2008-10-06 22:25:52 +0000
commit31ce0e94a4ea7d78884954e2f40f5ebf4a9d9dfb (patch)
treebc2783a242f1f804201b8218c1d0c6341c3908c6 /media-video/cinelerra
parentadd upstream patch to fix build against ffmpeg trunk (diff)
downloadgentoo-2-31ce0e94a4ea7d78884954e2f40f5ebf4a9d9dfb.tar.gz
gentoo-2-31ce0e94a4ea7d78884954e2f40f5ebf4a9d9dfb.tar.bz2
gentoo-2-31ce0e94a4ea7d78884954e2f40f5ebf4a9d9dfb.zip
add fix from upstream to build with ffmpeg trunk
(Portage version: 2.2_rc11/cvs/Linux 2.6.26.5 x86_64)
Diffstat (limited to 'media-video/cinelerra')
-rw-r--r--media-video/cinelerra/ChangeLog6
-rw-r--r--media-video/cinelerra/cinelerra-20080717.ebuild5
-rw-r--r--media-video/cinelerra/files/cinelerra-ffmpeg.patch53
3 files changed, 61 insertions, 3 deletions
diff --git a/media-video/cinelerra/ChangeLog b/media-video/cinelerra/ChangeLog
index 788c35a9c0d4..061aa7c0526d 100644
--- a/media-video/cinelerra/ChangeLog
+++ b/media-video/cinelerra/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-video/cinelerra
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra/ChangeLog,v 1.31 2008/07/18 10:34:24 hanno Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra/ChangeLog,v 1.32 2008/10/06 22:25:52 aballier Exp $
+
+ 06 Oct 2008; Alexis Ballier <aballier@gentoo.org>
+ +files/cinelerra-ffmpeg.patch, cinelerra-20080717.ebuild:
+ add fix from upstream to build with ffmpeg trunk
18 Jul 2008; Hanno Boeck <hanno@gentoo.org> cinelerra-20080717.ebuild:
Activate nasm dependency on mmx use flag.
diff --git a/media-video/cinelerra/cinelerra-20080717.ebuild b/media-video/cinelerra/cinelerra-20080717.ebuild
index 21d102b4ce39..e8d718692ecb 100644
--- a/media-video/cinelerra/cinelerra-20080717.ebuild
+++ b/media-video/cinelerra/cinelerra-20080717.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra/cinelerra-20080717.ebuild,v 1.2 2008/07/18 10:34:24 hanno Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra/cinelerra-20080717.ebuild,v 1.3 2008/10/06 22:25:52 aballier Exp $
-inherit autotools multilib
+inherit autotools multilib eutils
DESCRIPTION="Cinelerra - Professional Video Editor - Unofficial CVS-version"
HOMEPAGE="http://www.cinelerra.org/"
@@ -59,6 +59,7 @@ pkg_setup() {
src_unpack() {
unpack ${A}
cd "${S}"
+ epatch "${FILESDIR}/${PN}-ffmpeg.patch"
AT_M4DIR="m4" eautoreconf
}
diff --git a/media-video/cinelerra/files/cinelerra-ffmpeg.patch b/media-video/cinelerra/files/cinelerra-ffmpeg.patch
new file mode 100644
index 000000000000..2c03c91dceda
--- /dev/null
+++ b/media-video/cinelerra/files/cinelerra-ffmpeg.patch
@@ -0,0 +1,53 @@
+commit 51a020685ef40489cdfdd16e7dcb9e7b5dbb64d5
+Author: Frans de Boer <frans@fransdb.nl>
+Date: Sun Sep 28 23:38:48 2008 +0200
+
+ Fix for new FFmpeg API.
+
+ This patch was proposed by Rafael2k and augmented by Nicolas to
+ cope with FFmpeg version 51 as well as version 52.
+
+diff --git a/quicktime/mpeg4.c b/quicktime/mpeg4.c
+index d418f66..bab1ac0 100644
+--- a/quicktime/mpeg4.c
++++ b/quicktime/mpeg4.c
+@@ -671,7 +671,11 @@ static int encode(quicktime_t *file, unsigned char **row_pointers, int track)
+
+ context->b_quant_factor = 1.25;
+ context->b_quant_offset = 1.25;
++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ context->error_resilience = FF_ER_CAREFUL;
++#else
++ context->error_recognition = FF_ER_CAREFUL;
++#endif
+ context->error_concealment = 3;
+ context->frame_skip_cmp = FF_CMP_DCTMAX;
+ context->ildct_cmp = FF_CMP_VSAD;
+diff --git a/quicktime/wma.c b/quicktime/wma.c
+index 6ceefe5..07348a4 100644
+--- a/quicktime/wma.c
++++ b/quicktime/wma.c
+@@ -187,11 +187,21 @@ printf("decode 2 %x %llx %llx\n", chunk_size, chunk_offset, chunk_offset + chunk
+
+ // Decode chunk into work buffer.
+ pthread_mutex_lock(&ffmpeg_lock);
++#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+ result = avcodec_decode_audio(codec->decoder_context,
+ (int16_t*)(codec->work_buffer + codec->output_size * sample_size),
+- &bytes_decoded,
+- codec->packet_buffer,
++ &bytes_decoded,
++ codec->packet_buffer,
+ chunk_size);
++#else
++ bytes_decoded = AVCODEC_MAX_AUDIO_FRAME_SIZE;
++ result = avcodec_decode_audio2(codec->decoder_context,
++ (int16_t*)(codec->work_buffer + codec->output_size * sample_size),
++ &bytes_decoded,
++ codec->packet_buffer,
++ chunk_size);
++#endif
++
+ pthread_mutex_unlock(&ffmpeg_lock);
+ if(bytes_decoded <= 0)
+ {