[arch-commits] Commit in cinelerra-cv/trunk (PKGBUILD ffmpeg2.0.patch)

Jelle van der Waa jelle at nymeria.archlinux.org
Mon Jul 22 19:49:48 UTC 2013


    Date: Monday, July 22, 2013 @ 21:49:48
  Author: jelle
Revision: 94408

upgpkg: cinelerra-cv 1:2.2-17

ffmpeg 2.0 rebuild

Added:
  cinelerra-cv/trunk/ffmpeg2.0.patch
Modified:
  cinelerra-cv/trunk/PKGBUILD

-----------------+
 PKGBUILD        |   19 ++++++++--
 ffmpeg2.0.patch |   98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-07-22 19:23:28 UTC (rev 94407)
+++ PKGBUILD	2013-07-22 19:49:48 UTC (rev 94408)
@@ -7,7 +7,7 @@
 pkgname=cinelerra-cv
 pkgver=2.2
 _gitrel=2.2.0
-pkgrel=16
+pkgrel=17
 epoch=1
 pkgdesc="Professional video editing and compositing environment"
 arch=('x86_64' 'i686')
@@ -20,6 +20,7 @@
 options=('!libtool')
 source=("$pkgname::git+git://git.cinelerra.org/CinelerraCV.git#branch=rel$_gitrel"
         'v4l1_removal.patch'
+        'ffmpeg2.0.patch'
         'cinelerra-std_and_str_h.patch'
         'ffmpeg_api.patch')
 md5sums=('SKIP'
@@ -46,6 +47,9 @@
   # new ffmpeg api patch
   patch -Np1 -i "$srcdir/ffmpeg_api.patch"
 
+  # fix avcodec_alloc_context and alloc_open 
+  patch -Np1 -i "$srcdir/ffmpeg2.0.patch"
+
   # TODO: check if this is still needed (not sure what it does) --schiv
   sed -i -e '/Debian/d' admin/nasm
 
@@ -55,8 +59,12 @@
 
   # fix some pngs that break with newer libpng
   # see https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024872.html
-  msg2 "Fixing PNGs, please wait..."
-  find -name '*.png' -exec optipng -quiet -force -fix {} +
+#  msg2 "Fixing PNGs, please wait..."
+#find -name '*.png' -exec optipng -quiet -force -fix {} +
+
+  #  FFmpeg 2.0 related replacements
+  find -type f -exec sed -i 's/AVCODEC_MAX_AUDIO_FRAME_SIZE/192000/' {} \; 
+  find -type f -exec sed -i 's/CodecID/AVCodecID/' {} \; 
 }
 
 build() {
@@ -88,3 +96,8 @@
 }
 
 # vim:set ts=2 sw=2 et:
+md5sums=('SKIP'
+         'bfa85e20809429d88eba4ab83e569612'
+         '8d003f144b1c5e1cbbf13791fabb67cc'
+         '02d8222e596133bbc05eaad15bef242c'
+         'b05ec2fb54e7d02f6167525417802111')

Added: ffmpeg2.0.patch
===================================================================
--- ffmpeg2.0.patch	                        (rev 0)
+++ ffmpeg2.0.patch	2013-07-22 19:49:48 UTC (rev 94408)
@@ -0,0 +1,98 @@
+diff --git a/cinelerra/ffmpeg.C b/cinelerra/ffmpeg.C
+index 6ab6047..f1cd308 100644
+--- a/cinelerra/ffmpeg.C
++++ b/cinelerra/ffmpeg.C
+@@ -33,9 +33,9 @@ int FFMPEG::init(char *codec_string) {
+ 		return 1;
+ 	}
+ 
+-	context = avcodec_alloc_context();
++	context = avcodec_alloc_context3(codec);
+ 
+-	if (avcodec_open(context, codec)) {
++	if (avcodec_open2(context, codec,NULL)) {
+ 		printf("FFMPEG::init avcodec_open() failed\n");
+ 	}
+ 
+diff --git a/cinelerra/fileac3.C b/cinelerra/fileac3.C
+index a1ef61e..383f377 100644
+--- a/cinelerra/fileac3.C
++++ b/cinelerra/fileac3.C
+@@ -92,11 +92,11 @@ int FileAC3::open_file(int rd, int wr)
+ 			eprintf("codec not found.\n");
+ 			return 1;
+ 		}
+-		codec_context = avcodec_alloc_context();
++		codec_context = avcodec_alloc_context3(codec);
+ 		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 --git a/quicktime/mpeg4.c b/quicktime/mpeg4.c
+index 81cb72b..02c4a92 100644
+--- a/quicktime/mpeg4.c
++++ b/quicktime/mpeg4.c
+@@ -641,7 +641,7 @@ static int encode(quicktime_t *file, unsigned char **row_pointers, int track)
+ 				return 1;
+ 			}
+ 
+-			codec->encoder_context[current_field] = avcodec_alloc_context();
++			codec->encoder_context[current_field] = avcodec_alloc_context3(codec->encoder[current_field]);
+ 			AVCodecContext *context = codec->encoder_context[current_field];
+ 
+ 			context->width = width_i;
+@@ -740,7 +740,7 @@ static int encode(quicktime_t *file, unsigned char **row_pointers, int track)
+  * codec->fix_bitrate,
+  * codec->quantizer);
+  */
+-			avcodec_open(context, codec->encoder[current_field]);
++			avcodec_open2(context, codec->encoder[current_field],NULL);
+ 
+    			avcodec_get_frame_defaults(&codec->picture[current_field]);
+ 
+diff --git a/quicktime/qtffmpeg.c b/quicktime/qtffmpeg.c
+index 8c532c2..4f0bacb 100644
+--- a/quicktime/qtffmpeg.c
++++ b/quicktime/qtffmpeg.c
+@@ -68,7 +68,9 @@ quicktime_ffmpeg_t* quicktime_new_ffmpeg(int cpus,
+ 			return 0;
+ 		}
+ 
+-		AVCodecContext *context = ptr->decoder_context[i] = avcodec_alloc_context();
++		//AVCodecContext *context = ptr->decoder_context[i] = avcodec_alloc_context();
++		AVCodecContext *context = avcodec_alloc_context3(ptr->decoder[i]);
++		ptr->decoder_context[i] = context;
+ 		static char fake_data[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+ 		context->width = ptr->width_i;
+ 		context->height = ptr->height_i;
+@@ -96,8 +98,7 @@ quicktime_ffmpeg_t* quicktime_new_ffmpeg(int cpus,
+ 			avcodec_thread_init(context, cpus);
+ 			context->thread_count = cpus;
+ 		}
+-		if(avcodec_open(context, 
+-			ptr->decoder[i]) < 0)
++		if(avcodec_open2(context,(ptr->decoder[i]) < 0,NULL))
+ 		{
+ 			printf("quicktime_new_ffmpeg: avcodec_open failed.\n");
+ 			quicktime_delete_ffmpeg(ptr);
+diff --git a/quicktime/wma.c b/quicktime/wma.c
+index c045741..6a6588b 100644
+--- a/quicktime/wma.c
++++ b/quicktime/wma.c
+@@ -77,10 +77,10 @@ static int init_decode(quicktime_audio_map_t *track_map,
+ 			printf("init_decode: avcodec_find_decoder returned NULL.\n");
+ 			return 1;
+ 		}
+-		codec->decoder_context = avcodec_alloc_context();
++		codec->decoder_context = avcodec_alloc_context3(codec->decoder);
+ 		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;




More information about the arch-commits mailing list