summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2013-06-22 16:21:32 +0000
committerTomas Chvatal <scarabeus@gentoo.org>2013-06-22 16:21:32 +0000
commit9e21a06f8786d672469ab33c144de14e3500407e (patch)
tree78ef3f183d50418d0de4c1b68db52426b8455b12 /media-video/cinelerra
parentVersion bump, fixes bugs 451150 and 473542. Remove old. (diff)
downloadgentoo-2-9e21a06f8786d672469ab33c144de14e3500407e.tar.gz
gentoo-2-9e21a06f8786d672469ab33c144de14e3500407e.tar.bz2
gentoo-2-9e21a06f8786d672469ab33c144de14e3500407e.zip
Fix libav9 build wrt bug#443216.
(Portage version: 2.2.0_alpha184/cvs/Linux x86_64, signed Manifest commit with key 8EEE3BE8)
Diffstat (limited to 'media-video/cinelerra')
-rw-r--r--media-video/cinelerra/ChangeLog6
-rw-r--r--media-video/cinelerra/cinelerra-20120707.ebuild7
-rw-r--r--media-video/cinelerra/files/cinelerra-libav9.patch93
3 files changed, 102 insertions, 4 deletions
diff --git a/media-video/cinelerra/ChangeLog b/media-video/cinelerra/ChangeLog
index e92259f32f53..ea1ab49249ea 100644
--- a/media-video/cinelerra/ChangeLog
+++ b/media-video/cinelerra/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-video/cinelerra
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra/ChangeLog,v 1.62 2013/06/19 02:47:13 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra/ChangeLog,v 1.63 2013/06/22 16:21:31 scarabeus Exp $
+
+ 22 Jun 2013; Tomáš Chvátal <scarabeus@gentoo.org>
+ +files/cinelerra-libav9.patch, cinelerra-20120707.ebuild:
+ Fix libav9 build wrt bug#443216.
19 Jun 2013; Alexis Ballier <aballier@gentoo.org> -cinelerra-20111223.ebuild:
remove old
diff --git a/media-video/cinelerra/cinelerra-20120707.ebuild b/media-video/cinelerra/cinelerra-20120707.ebuild
index 186c5f800771..52abdc11b38c 100644
--- a/media-video/cinelerra/cinelerra-20120707.ebuild
+++ b/media-video/cinelerra/cinelerra-20120707.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra/cinelerra-20120707.ebuild,v 1.4 2013/04/11 09:10:43 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra/cinelerra-20120707.ebuild,v 1.5 2013/06/22 16:21:31 scarabeus Exp $
EAPI=5
inherit autotools eutils multilib flag-o-matic
@@ -56,13 +56,14 @@ src_prepare() {
"${FILESDIR}"/${PN}-ffmpeg.patch \
"${FILESDIR}"/${PN}-underlinking.patch \
"${FILESDIR}"/${PN}-ffmpeg-0.11.patch \
- "${FILESDIR}"/${PN}-std_and_str_h.patch
+ "${FILESDIR}"/${PN}-std_and_str_h.patch \
+ "${FILESDIR}"/${PN}-libav9.patch
eautoreconf
}
src_configure() {
- append-flags -D__STDC_CONSTANT_MACROS #321945
+ append-cppflags -D__STDC_CONSTANT_MACROS #321945
append-ldflags -Wl,-z,noexecstack #212959
econf \
diff --git a/media-video/cinelerra/files/cinelerra-libav9.patch b/media-video/cinelerra/files/cinelerra-libav9.patch
new file mode 100644
index 000000000000..47a4d6f231e1
--- /dev/null
+++ b/media-video/cinelerra/files/cinelerra-libav9.patch
@@ -0,0 +1,93 @@
+diff -urN cinelerra-20120707/cinelerra/ffmpeg.C /tmp/cinelerra-20120707/cinelerra/ffmpeg.C
+--- cinelerra-20120707/cinelerra/ffmpeg.C 2013-06-22 18:07:43.632978553 +0200
++++ /tmp/cinelerra-20120707/cinelerra/ffmpeg.C 2013-06-22 18:07:21.668979334 +0200
+@@ -32,9 +32,9 @@
+ return 1;
+ }
+
+- context = avcodec_alloc_context();
++ context = avcodec_alloc_context3(NULL);
+
+- if (avcodec_open(context, codec)) {
++ if (avcodec_open2(context, codec, NULL)) {
+ printf("FFMPEG::init avcodec_open() failed\n");
+ }
+
+diff -urN cinelerra-20120707/cinelerra/fileac3.C /tmp/cinelerra-20120707/cinelerra/fileac3.C
+--- cinelerra-20120707/cinelerra/fileac3.C 2013-06-22 18:07:43.632978553 +0200
++++ /tmp/cinelerra-20120707/cinelerra/fileac3.C 2013-06-22 18:07:21.668979334 +0200
+@@ -91,11 +91,11 @@
+ eprintf("codec not found.\n");
+ return 1;
+ }
+- codec_context = avcodec_alloc_context();
++ codec_context = avcodec_alloc_context3(NULL);
+ codec_context->bit_rate = asset->ac3_bitrate * 1000;
+ codec_context->sample_rate = asset->sample_rate;
+ codec_context->channels = asset->channels;
+- if(avcodec_open(codec_context, codec))
++ if(avcodec_open2(codec_context, codec, NULL))
+ {
+ eprintf("failed to open codec.\n");
+ return 1;
+diff -urN cinelerra-20120707/quicktime/mpeg4.c /tmp/cinelerra-20120707/quicktime/mpeg4.c
+--- cinelerra-20120707/quicktime/mpeg4.c 2013-06-22 18:07:43.633978553 +0200
++++ /tmp/cinelerra-20120707/quicktime/mpeg4.c 2013-06-22 18:07:21.690979334 +0200
+@@ -642,7 +642,7 @@
+ return 1;
+ }
+
+- codec->encoder_context[current_field] = avcodec_alloc_context();
++ codec->encoder_context[current_field] = avcodec_alloc_context3(NULL);
+ AVCodecContext *context = codec->encoder_context[current_field];
+
+ context->width = width_i;
+@@ -676,8 +676,6 @@
+ context->error_resilience = FF_ER_CAREFUL;
+ #elif LIBAVCODEC_VERSION_INT < ((54<<16)+(0<<8)+0)
+ context->error_recognition = FF_ER_CAREFUL;
+-#else
+- context->err_recognition |= AV_EF_CAREFUL;
+ #endif
+ context->error_concealment = 3;
+ context->frame_skip_cmp = FF_CMP_DCTMAX;
+diff -urN cinelerra-20120707/quicktime/qtffmpeg.c /tmp/cinelerra-20120707/quicktime/qtffmpeg.c
+--- cinelerra-20120707/quicktime/qtffmpeg.c 2013-06-22 18:07:43.633978553 +0200
++++ /tmp/cinelerra-20120707/quicktime/qtffmpeg.c 2013-06-22 18:07:21.690979334 +0200
+@@ -67,7 +67,7 @@
+ return 0;
+ }
+
+- AVCodecContext *context = ptr->decoder_context[i] = avcodec_alloc_context();
++ AVCodecContext *context = ptr->decoder_context[i] = avcodec_alloc_context3(NULL);
+ static char fake_data[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ context->width = ptr->width_i;
+ context->height = ptr->height_i;
+@@ -93,8 +93,8 @@
+ {
+ context->thread_count = cpus;
+ }
+- if(avcodec_open(context,
+- ptr->decoder[i]) < 0)
++ if(avcodec_open2(context,
++ ptr->decoder[i], NULL) < 0)
+ {
+ printf("quicktime_new_ffmpeg: avcodec_open failed.\n");
+ quicktime_delete_ffmpeg(ptr);
+diff -urN cinelerra-20120707/quicktime/wma.c /tmp/cinelerra-20120707/quicktime/wma.c
+--- cinelerra-20120707/quicktime/wma.c 2013-06-22 18:07:43.634978553 +0200
++++ /tmp/cinelerra-20120707/quicktime/wma.c 2013-06-22 18:07:21.690979334 +0200
+@@ -76,10 +76,10 @@
+ printf("init_decode: avcodec_find_decoder returned NULL.\n");
+ return 1;
+ }
+- codec->decoder_context = avcodec_alloc_context();
++ codec->decoder_context = avcodec_alloc_context3(NULL);
+ codec->decoder_context->sample_rate = trak->mdia.minf.stbl.stsd.table[0].sample_rate;
+ codec->decoder_context->channels = track_map->channels;
+- if(avcodec_open(codec->decoder_context, codec->decoder) < 0)
++ if(avcodec_open2(codec->decoder_context, codec->decoder, NULL) < 0)
+ {
+ printf("init_decode: avcodec_open failed.\n");
+ return 1;
+