[arch-commits] Commit in synfig/repos (10 files)

Bartłomiej Piotrowski bpiotrowski at archlinux.org
Fri Jan 20 14:37:22 UTC 2017


    Date: Friday, January 20, 2017 @ 14:37:21
  Author: bpiotrowski
Revision: 208134

archrelease: copy trunk to community-i686, community-x86_64

Added:
  synfig/repos/community-i686/PKGBUILD
    (from rev 208133, synfig/trunk/PKGBUILD)
  synfig/repos/community-i686/ffmpeg-3.0.patch
    (from rev 208133, synfig/trunk/ffmpeg-3.0.patch)
  synfig/repos/community-x86_64/PKGBUILD
    (from rev 208133, synfig/trunk/PKGBUILD)
  synfig/repos/community-x86_64/ffmpeg-3.0.patch
    (from rev 208133, synfig/trunk/ffmpeg-3.0.patch)
Deleted:
  synfig/repos/community-i686/PKGBUILD
  synfig/repos/community-i686/build-fix.patch
  synfig/repos/community-i686/ffmpeg-0.8.patch
  synfig/repos/community-x86_64/PKGBUILD
  synfig/repos/community-x86_64/build-fix.patch
  synfig/repos/community-x86_64/ffmpeg-0.8.patch

-----------------------------------+
 /PKGBUILD                         |  100 +++++++++++
 community-i686/PKGBUILD           |   47 -----
 community-i686/build-fix.patch    |   56 ------
 community-i686/ffmpeg-0.8.patch   |   60 ------
 community-i686/ffmpeg-3.0.patch   |  323 ++++++++++++++++++++++++++++++++++++
 community-x86_64/PKGBUILD         |   47 -----
 community-x86_64/build-fix.patch  |   56 ------
 community-x86_64/ffmpeg-0.8.patch |   60 ------
 community-x86_64/ffmpeg-3.0.patch |  323 ++++++++++++++++++++++++++++++++++++
 9 files changed, 746 insertions(+), 326 deletions(-)

Deleted: community-i686/PKGBUILD
===================================================================
--- community-i686/PKGBUILD	2017-01-20 14:37:13 UTC (rev 208133)
+++ community-i686/PKGBUILD	2017-01-20 14:37:21 UTC (rev 208134)
@@ -1,47 +0,0 @@
-# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
-# Contributor: Franco Iacomella <yaco at gnu.org>
-
-pkgname=synfig
-pkgver=1.0.2
-pkgrel=8
-pkgdesc="Professional vector animation program (CLI renderer only)"
-arch=(i686 x86_64)
-url="http://synfig.org"
-license=('GPL2')
-depends=('libxml++' 'libsigc++2.0' 'etl' 'imagemagick' 'ffmpeg-compat' 'fontconfig' 'libpng'
-	 'libtiff' 'libdv' 'libmng' 'cairo' 'pango' 'boost-libs' 'mlt')
-makedepends=('boost')
-optdepends=('openexr' 'libsigc++')
-conflicts=('synfig-core')
-replaces=('synfig-core')
-#source=(http://download.tuxfamily.org/synfig/releases/$pkgver/synfig-$pkgver.tar.gz
-source=(http://downloads.sourceforge.net/project/synfig/releases/$pkgver/source/synfig-$pkgver.tar.gz
-	build-fix.patch
-	ffmpeg-0.8.patch)
-md5sums=('a7b19f9eb22f2bd82067ebc1401b8808'
-         '16b852a3ff44765d8efd2ce597f5ca0e'
-         'ebf41046097cfd778dee9a9854561dae')
-
-prepare() {
-  cd $pkgname-$pkgver
-  patch -p1 -i "$srcdir/build-fix.patch"
-  patch -Np1 -i "$srcdir/ffmpeg-0.8.patch"
-  sed -i 's|.*set_remove_alpha.*||g' src/modules/mod_libavcodec/trgt_av.cpp
-}
-
-build() {
-  cd $pkgname-$pkgver
-  export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
-  LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,/usr/lib/ffmpeg-compat"
-  CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
-  CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS -std=gnu++11"
-  [ -f configure ] || { libtoolize --ltdl --copy --force && autoreconf --install --force; }
-  [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --with-libavcodec --with-libdv
-  make
-}
-
-package() {
-  cd $pkgname-$pkgver
-  make DESTDIR="$pkgdir" install
-}

Copied: synfig/repos/community-i686/PKGBUILD (from rev 208133, synfig/trunk/PKGBUILD)
===================================================================
--- community-i686/PKGBUILD	                        (rev 0)
+++ community-i686/PKGBUILD	2017-01-20 14:37:21 UTC (rev 208134)
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Contributor: Franco Iacomella <yaco at gnu.org>
+
+pkgname=synfig
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="Professional vector animation program (CLI renderer only)"
+arch=(i686 x86_64)
+url="http://synfig.org"
+license=('GPL2')
+depends=('libxml++' 'libsigc++2.0' 'etl' 'imagemagick' 'ffmpeg' 'fontconfig'
+         'libpng' 'libtiff' 'libdv' 'libmng' 'cairo' 'pango' 'boost-libs' 'mlt'
+         'fftw')
+makedepends=('boost')
+optdepends=('openexr' 'libsigc++')
+conflicts=('synfig-core')
+replaces=('synfig-core')
+#source=(http://download.tuxfamily.org/synfig/releases/$pkgver/synfig-$pkgver.tar.gz
+source=(http://downloads.sourceforge.net/project/synfig/releases/$pkgver/source/synfig-$pkgver.tar.gz
+        ffmpeg-3.0.patch)
+md5sums=('d44fea7a16572ec638f2ca9f765bdc39'
+         '62fb382cbf418f5e2f536ed73656cf89')
+
+prepare() {
+  cd $pkgname-$pkgver
+  patch -p1 -i "$srcdir"/ffmpeg-3.0.patch
+
+  autoreconf -fi
+}
+
+build() {
+  cd $pkgname-$pkgver
+
+  CXXFLAGS="$CXXFLAGS -std=gnu++11"
+  ./configure --prefix=/usr \
+    --sysconfdir=/etc \
+    --disable-static \
+    --with-imagemagick \
+    --with-magickpp \
+    --with-libavcodec \
+    --with-libdv
+
+  make
+}
+
+package() {
+  cd $pkgname-$pkgver
+  make DESTDIR="$pkgdir" install
+}

Deleted: community-i686/build-fix.patch
===================================================================
--- community-i686/build-fix.patch	2017-01-20 14:37:13 UTC (rev 208133)
+++ community-i686/build-fix.patch	2017-01-20 14:37:21 UTC (rev 208134)
@@ -1,56 +0,0 @@
-diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.cpp synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.cpp
---- synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.cpp	2015-03-28 13:15:00.000000000 +0300
-+++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.cpp	2015-04-28 16:56:11.568749053 +0300
-@@ -56,8 +56,8 @@
- /* === M E T H O D S ======================================================= */
- 
- 
--Importer_LibAVCodec::Importer_LibAVCodec(const char *file):
--	filename(file)
-+Importer_LibAVCodec::Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier):
-+	Importer(identifier)
- {
- }
- 
-diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.h synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.h
---- synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.h	2015-03-28 13:15:00.000000000 +0300
-+++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.h	2015-04-28 16:55:18.699192946 +0300
-@@ -46,7 +46,7 @@
- 	synfig::String filename;
- 
- public:
--	Importer_LibAVCodec(const char *filename);
-+	Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier);
- 	~Importer_LibAVCodec();
- 
- 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
-diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/trgt_av.cpp synfig-1.0-RC5.my/src/modules/mod_libavcodec/trgt_av.cpp
---- synfig-1.0-RC5/src/modules/mod_libavcodec/trgt_av.cpp	2015-03-28 13:15:00.000000000 +0300
-+++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/trgt_av.cpp	2015-04-28 16:46:54.720091106 +0300
-@@ -121,14 +121,14 @@
-     picture = avcodec_alloc_frame();
-     if (!picture)
-         return NULL;
--    size = avpicture_get_size(pix_fmt, width, height);
-+    size = avpicture_get_size((::PixelFormat)pix_fmt, width, height);
-     picture_buf = (uint8_t *)malloc(size);
-     if (!picture_buf) {
-         av_free(picture);
-         return NULL;
-     }
-     avpicture_fill((AVPicture *)picture, picture_buf,
--                   pix_fmt, width, height);
-+                   (::PixelFormat)pix_fmt, width, height);
-     return picture;
- }
- 
-diff -wbBur synfig-1.0.2/src/synfig/time.cpp synfig-1.0.2.my/src/synfig/time.cpp
---- synfig-1.0.2/src/synfig/time.cpp	2015-07-09 10:33:03.000000000 +0300
-+++ synfig-1.0.2.my/src/synfig/time.cpp	2015-10-12 13:54:58.382313903 +0300
-@@ -319,5 +319,5 @@
- bool
- Time::is_valid()const
- {
--	return !isnan(value_);
-+	return !::isnan(value_);
- }

Deleted: community-i686/ffmpeg-0.8.patch
===================================================================
--- community-i686/ffmpeg-0.8.patch	2017-01-20 14:37:13 UTC (rev 208133)
+++ community-i686/ffmpeg-0.8.patch	2017-01-20 14:37:21 UTC (rev 208134)
@@ -1,60 +0,0 @@
-diff -aur synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp
---- synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp	2011-09-29 10:51:41.000000000 +0200
-+++ synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp	2011-10-31 16:39:03.000000000 +0100
-@@ -441,7 +441,7 @@
- 		if( context->coded_frame )
- 			pkt.pts = context->coded_frame->pts;
- 		if( context->coded_frame && context->coded_frame->key_frame)
--			pkt.flags |= PKT_FLAG_KEY;
-+			pkt.flags |= AV_PKT_FLAG_KEY;
- 
- 		//kluge for raw picture format (they said they'd fix)
- 		if (formatc->oformat->flags & AVFMT_RAWPICTURE)
-@@ -463,7 +463,7 @@
- 				if( context->coded_frame )
- 					pkt.pts = context->coded_frame->pts;
- 				if( context->coded_frame && context->coded_frame->key_frame)
--					pkt.flags |= PKT_FLAG_KEY;
-+					pkt.flags |= AV_PKT_FLAG_KEY;
- 
- 				ret = av_write_frame(formatc, &pkt);
- 
-@@ -567,17 +567,17 @@
- 		if (typestring)
- 		{
- 			//formatptr guess_format(type, filename, MIME type)
--			format = guess_format(typestring,NULL,NULL);
-+			format = av_guess_format(typestring,NULL,NULL);
- 		}
- 		else
- 		{
--			format = guess_format(NULL, filename, NULL);
-+			format = av_guess_format(NULL, filename, NULL);
- 		}
- 
- 		if(!format)
- 		{
- 			synfig::warning("Unable to Guess the output, defaulting to mpeg");
--			format = guess_format("mpeg", NULL, NULL);
-+			format = av_guess_format("mpeg", NULL, NULL);
- 		}
- 
- 		if(!format)
-@@ -753,7 +753,7 @@
- 
- 		context = st->codec;
- 		context->codec_id = (CodecID)codec_id;
--		context->codec_type = CODEC_TYPE_VIDEO;
-+		context->codec_type = AVMEDIA_TYPE_VIDEO;
- 
- 		//PARAMETERS MUST BE PASSED IN SOMEHOW (ANOTHER FUNCTION PARAMETER???)
- 
-@@ -800,7 +800,7 @@
- 
- 		context = stream->codec;
- 		context->codec_id = (CodecID)codec_id;
--		context->codec_type = CODEC_TYPE_AUDIO;
-+		context->codec_type = AVMEDIA_TYPE_AUDIO;
- 
- 		/* put sample parameters */
- 		context->bit_rate = 64000;

Copied: synfig/repos/community-i686/ffmpeg-3.0.patch (from rev 208133, synfig/trunk/ffmpeg-3.0.patch)
===================================================================
--- community-i686/ffmpeg-3.0.patch	                        (rev 0)
+++ community-i686/ffmpeg-3.0.patch	2017-01-20 14:37:21 UTC (rev 208134)
@@ -0,0 +1,323 @@
+diff --git a/src/modules/mod_libavcodec/mptr.cpp b/src/modules/mod_libavcodec/mptr.cpp
+index 52d9a8f..79f568d 100644
+--- a/src/modules/mod_libavcodec/mptr.cpp
++++ b/src/modules/mod_libavcodec/mptr.cpp
+@@ -57,8 +57,8 @@ SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(Importer_LibAVCodec, false);
+ /* === M E T H O D S ======================================================= */
+ 
+ 
+-Importer_LibAVCodec::Importer_LibAVCodec(const char *file):
+-	filename(file)
++Importer_LibAVCodec::Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier):
++	Importer(identifier)
+ {
+ }
+ 
+diff --git a/src/modules/mod_libavcodec/mptr.h b/src/modules/mod_libavcodec/mptr.h
+index e2ffbc1..0d5365b 100644
+--- a/src/modules/mod_libavcodec/mptr.h
++++ b/src/modules/mod_libavcodec/mptr.h
+@@ -46,7 +46,7 @@ private:
+ 	synfig::String filename;
+ 
+ public:
+-	Importer_LibAVCodec(const char *filename);
++	Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier); 
+ 	~Importer_LibAVCodec();
+ 
+ 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
+diff --git a/src/modules/mod_libavcodec/trgt_av.cpp b/src/modules/mod_libavcodec/trgt_av.cpp
+index d5cc54c..30ae1dd 100644
+--- a/src/modules/mod_libavcodec/trgt_av.cpp
++++ b/src/modules/mod_libavcodec/trgt_av.cpp
+@@ -58,7 +58,6 @@ extern "C"
+ #	include <ffmpeg/swscale.h>
+ #endif
+ #endif
+-
+ }
+ 
+ #ifndef DISABLE_MODULE
+@@ -74,6 +73,22 @@ extern "C"
+ 
+ #ifndef DISABLE_MODULE
+ 
++static int encode_frame(AVCodecContext *c, AVFrame *frame)
++{
++    AVPacket pkt = { 0 };
++    int ret, got_output;
++
++    av_init_packet(&pkt);
++    av_init_packet(&pkt);
++    ret = avcodec_encode_video2(c, &pkt, frame, &got_output);
++    if (ret < 0)
++	return ret;
++
++    ret = pkt.size;
++    av_free_packet(&pkt);
++    return ret;
++}
++
+ #ifdef _WIN32
+ #define snprintf	_snprintf
+ #endif
+@@ -119,17 +134,17 @@ AVFrame *alloc_picture(int pix_fmt, int width, int height)
+     uint8_t *picture_buf;
+     int size;
+ 
+-    picture = avcodec_alloc_frame();
++    picture = av_frame_alloc();
+     if (!picture)
+         return NULL;
+-    size = avpicture_get_size(pix_fmt, width, height);
++    size = avpicture_get_size((AVPixelFormat)pix_fmt, width, height);
+     picture_buf = (uint8_t *)malloc(size);
+     if (!picture_buf) {
+         av_free(picture);
+         return NULL;
+     }
+     avpicture_fill((AVPicture *)picture, picture_buf,
+-                   pix_fmt, width, height);
++                   (AVPixelFormat)pix_fmt, width, height);
+     return picture;
+ }
+ 
+@@ -251,10 +266,10 @@ public:
+ 		if (context->frame_size <= 1) {
+ 			audio_input_frame_size = audiobuffer.size() / context->channels;
+ 			switch(stream->codec.codec_id) {
+-			case CODEC_ID_PCM_S16LE:
+-			case CODEC_ID_PCM_S16BE:
+-			case CODEC_ID_PCM_U16LE:
+-			case CODEC_ID_PCM_U16BE:
++			case AV_CODEC_ID_PCM_S16LE:
++			case AV_CODEC_ID_PCM_S16BE:
++			case AV_CODEC_ID_PCM_U16LE:
++			case AV_CODEC_ID_PCM_U16BE:
+ 				audio_input_frame_size >>= 1;
+ 				break;
+ 			default:
+@@ -347,7 +362,7 @@ public:
+ 		}
+ 
+ 		//try to open the codec
+-		if(avcodec_open(context, codec) < 0)
++		if(avcodec_open2(context, codec, NULL) < 0)
+ 		{
+ 			synfig::warning("open_video: could not open desired codec");
+ 			return 0;
+@@ -379,7 +394,7 @@ public:
+ 			(possibly translate directly to required coordinate systems later on... less error)
+ 		*/
+ 		encodable = NULL;
+-		if(context->pix_fmt != PIX_FMT_RGB24)
++		if(context->pix_fmt != AV_PIX_FMT_RGB24)
+ 		{
+ 			encodable = alloc_picture(context->pix_fmt, context->width, context->height);
+ 			if(!encodable)
+@@ -415,12 +430,12 @@ public:
+ 		}
+ 
+ 
+-		if ( pict && context->pix_fmt != PIX_FMT_RGB24 )
++		if ( pict && context->pix_fmt != AV_PIX_FMT_RGB24 )
+ 		{
+ 			//We're using RGBA at the moment, write custom conversion code later (get less accuracy errors)
+ #ifdef WITH_LIBSWSCALE
+ 			struct SwsContext* img_convert_ctx =
+-				sws_getContext(context->width, context->height, PIX_FMT_RGB24,
++				sws_getContext(context->width, context->height, AV_PIX_FMT_RGB24,
+ 					context->width, context->height, context->pix_fmt,
+ 					SWS_BICUBIC, NULL, NULL, NULL);
+ 
+@@ -432,7 +447,7 @@ public:
+ 			sws_freeContext (img_convert_ctx);
+ #else
+ 			img_convert((AVPicture *)encodable, context->pix_fmt,
+-						(AVPicture *)pict, PIX_FMT_RGB24,
++						(AVPicture *)pict, AV_PIX_FMT_RGB24,
+ 						context->width, context->height);
+ #endif
+ 
+@@ -447,7 +462,7 @@ public:
+ 		if( context->coded_frame )
+ 			pkt.pts = context->coded_frame->pts;
+ 		if( context->coded_frame && context->coded_frame->key_frame)
+-			pkt.flags |= PKT_FLAG_KEY;
++			pkt.flags |= AV_PKT_FLAG_KEY;
+ 
+ 		//kluge for raw picture format (they said they'd fix)
+ 		if (formatc->oformat->flags & AVFMT_RAWPICTURE)
+@@ -457,7 +472,7 @@ public:
+ 		else
+ 		{
+ 			//encode our given image
+-			size = avcodec_encode_video(context, &videobuffer[0], videobuffer.size(), pict);
++			size = encode_frame(context, pict);
+ 
+ 			//if greater than zero we've got stuff to write
+ 			if (size > 0)
+@@ -469,7 +484,7 @@ public:
+ 				if( context->coded_frame )
+ 					pkt.pts = context->coded_frame->pts;
+ 				if( context->coded_frame && context->coded_frame->key_frame)
+-					pkt.flags |= PKT_FLAG_KEY;
++					pkt.flags |= AV_PKT_FLAG_KEY;
+ 
+ 				ret = av_write_frame(formatc, &pkt);
+ 
+@@ -572,18 +587,18 @@ public:
+ 		//guess if we have a type string, otherwise use filename
+ 		if (typestring)
+ 		{
+-			//formatptr guess_format(type, filename, MIME type)
+-			format = guess_format(typestring,NULL,NULL);
++			//formatptr av_guess_format(type, filename, MIME type)
++			format = av_guess_format(typestring,NULL,NULL);
+ 		}
+ 		else
+ 		{
+-			format = guess_format(NULL, filename, NULL);
++			format = av_guess_format(NULL, filename, NULL);
+ 		}
+ 
+ 		if(!format)
+ 		{
+ 			synfig::warning("Unable to Guess the output, defaulting to mpeg");
+-			format = guess_format("mpeg", NULL, NULL);
++			format = av_guess_format("mpeg", NULL, NULL);
+ 		}
+ 
+ 		if(!format)
+@@ -610,7 +625,7 @@ public:
+ 		//audio_st = NULL;
+ 
+ 		//video stream
+-		if(format->video_codec != CODEC_ID_NONE)
++		if(format->video_codec != AV_CODEC_ID_NONE)
+ 		{
+ 			video_st = add_video_stream(format->video_codec,vInfo);
+ 			if(!video_st)
+@@ -620,7 +635,7 @@ public:
+ 		}
+ 
+ 		//audio stream
+-		/*if(format->audio_codec != CODEC_ID_NONE)
++		/*if(format->audio_codec != AV_CODEC_ID_NONE)
+ 		{
+ 			audio_st = add_audio_stream(format->audio_codec,aInfo);
+ 		}*/
+@@ -630,10 +645,10 @@ public:
+ 		video_st->codec->time_base= (AVRational){1,vInfo.fps};
+ 		video_st->codec->width = vInfo.w;
+ 		video_st->codec->height = vInfo.h;
+-		video_st->codec->pix_fmt = PIX_FMT_YUV420P;
++		video_st->codec->pix_fmt = AV_PIX_FMT_YUV420P;
+ 
+ 		//dump the formatting information as the file header
+-		dump_format(formatc, 0, filename, 1);
++		av_dump_format(formatc, 0, filename, 1);
+ 
+ 		//open codecs and allocate buffers
+ 		if(video_st)
+@@ -657,7 +672,7 @@ public:
+ 		if(!(format->flags & AVFMT_NOFILE))
+ 		{
+ 			//use libav's file open function (what does it do differently????)
+-			if(url_fopen(&formatc->pb, filename, URL_WRONLY) < 0)
++			if(avio_open(&formatc->pb, filename, AVIO_FLAG_WRITE) < 0)
+ 			{
+ 				synfig::warning("Unable to open file: %s", filename);
+ 				return 0;
+@@ -666,7 +681,7 @@ public:
+ 
+ 		//allocate the picture to render to
+ 		//may have to retrieve the width, height from the codec... for resizing...
+-		picture = alloc_picture(PIX_FMT_RGB24,vInfo.w,vInfo.h);//video_st->codec.width, video_st->codec.height);
++		picture = alloc_picture(AV_PIX_FMT_RGB24,vInfo.w,vInfo.h);//video_st->codec.width, video_st->codec.height);
+ 		if(!picture)
+ 		{
+ 			synfig::warning("Unable to allocate the temporary AVFrame surface");
+@@ -678,7 +693,7 @@ public:
+ 		//vInfo.h = video_st->codec.height;
+ 
+ 		//write the stream header
+-		av_write_header(formatc);
++		avformat_write_header(formatc, NULL);
+ 
+ 		return true;
+ 	}
+@@ -718,9 +733,9 @@ public:
+ 			{
+ 				/* close the output file */
+ #if LIBAVFORMAT_VERSION_INT >= (52<<16)
+-				url_fclose(formatc->pb);
++				avio_close(formatc->pb);
+ #else
+-				url_fclose(&formatc->pb);
++				avio_close(&formatc->pb);
+ #endif
+ 			}
+ 
+@@ -750,16 +765,17 @@ public:
+ 		AVCodecContext *context;
+ 		AVStream *st;
+ 
+-		st = av_new_stream(formatc, 0);
++		st = avformat_new_stream(formatc, NULL);
+ 		if(!st)
+ 		{
+ 			synfig::warning("video-add_stream: Unable to allocate stream");
+ 			return 0;
+ 		}
++		st->id = 0;
+ 
+ 		context = st->codec;
+-		context->codec_id = (CodecID)codec_id;
+-		context->codec_type = CODEC_TYPE_VIDEO;
++		context->codec_id = (AVCodecID)codec_id;
++		context->codec_type = AVMEDIA_TYPE_VIDEO;
+ 
+ 		//PARAMETERS MUST BE PASSED IN SOMEHOW (ANOTHER FUNCTION PARAMETER???)
+ 
+@@ -781,8 +797,8 @@ public:
+ 		context->gop_size = info.fps/4; /* emit one intra frame every twelve frames at most */
+ 
+ 		//HACK: MPEG requires b frames be set... any better way to do this?
+-		if (context->codec_id == CODEC_ID_MPEG1VIDEO ||
+-			context->codec_id == CODEC_ID_MPEG2VIDEO)
++		if (context->codec_id == AV_CODEC_ID_MPEG1VIDEO ||
++			context->codec_id == AV_CODEC_ID_MPEG2VIDEO)
+ 		{
+ 			/* just for testing, we also add B frames */
+ 			context->max_b_frames = 2;
+@@ -797,16 +813,17 @@ public:
+ 		AVCodecContext *context;
+ 		AVStream *stream;
+ 
+-		stream = av_new_stream(formatc, 1);
++		stream = avformat_new_stream(formatc, NULL);
+ 		if(!stream)
+ 		{
+ 			synfig::warning("could not alloc stream");
+ 			return 0;
+ 		}
++		stream->id = 1;
+ 
+ 		context = stream->codec;
+-		context->codec_id = (CodecID)codec_id;
+-		context->codec_type = CODEC_TYPE_AUDIO;
++		context->codec_id = (AVCodecID)codec_id;
++		context->codec_type = AVMEDIA_TYPE_AUDIO;
+ 
+ 		/* put sample parameters */
+ 		context->bit_rate = 64000;
+@@ -828,7 +845,7 @@ Target_LibAVCodec::Target_LibAVCodec(const char *Filename,
+ 		registered = true;
+ 		av_register_all();
+ 	}
+-	set_remove_alpha();
++	//set_remove_alpha();
+ 
+ 	data = new LibAVEncoder;
+ }

Deleted: community-x86_64/PKGBUILD
===================================================================
--- community-x86_64/PKGBUILD	2017-01-20 14:37:13 UTC (rev 208133)
+++ community-x86_64/PKGBUILD	2017-01-20 14:37:21 UTC (rev 208134)
@@ -1,47 +0,0 @@
-# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
-# Contributor: Franco Iacomella <yaco at gnu.org>
-
-pkgname=synfig
-pkgver=1.0.2
-pkgrel=8
-pkgdesc="Professional vector animation program (CLI renderer only)"
-arch=(i686 x86_64)
-url="http://synfig.org"
-license=('GPL2')
-depends=('libxml++' 'libsigc++2.0' 'etl' 'imagemagick' 'ffmpeg-compat' 'fontconfig' 'libpng'
-	 'libtiff' 'libdv' 'libmng' 'cairo' 'pango' 'boost-libs' 'mlt')
-makedepends=('boost')
-optdepends=('openexr' 'libsigc++')
-conflicts=('synfig-core')
-replaces=('synfig-core')
-#source=(http://download.tuxfamily.org/synfig/releases/$pkgver/synfig-$pkgver.tar.gz
-source=(http://downloads.sourceforge.net/project/synfig/releases/$pkgver/source/synfig-$pkgver.tar.gz
-	build-fix.patch
-	ffmpeg-0.8.patch)
-md5sums=('a7b19f9eb22f2bd82067ebc1401b8808'
-         '16b852a3ff44765d8efd2ce597f5ca0e'
-         'ebf41046097cfd778dee9a9854561dae')
-
-prepare() {
-  cd $pkgname-$pkgver
-  patch -p1 -i "$srcdir/build-fix.patch"
-  patch -Np1 -i "$srcdir/ffmpeg-0.8.patch"
-  sed -i 's|.*set_remove_alpha.*||g' src/modules/mod_libavcodec/trgt_av.cpp
-}
-
-build() {
-  cd $pkgname-$pkgver
-  export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH
-  LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,/usr/lib/ffmpeg-compat"
-  CFLAGS="$CFLAGS -D__STDC_CONSTANT_MACROS"
-  CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS -std=gnu++11"
-  [ -f configure ] || { libtoolize --ltdl --copy --force && autoreconf --install --force; }
-  [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --with-libavcodec --with-libdv
-  make
-}
-
-package() {
-  cd $pkgname-$pkgver
-  make DESTDIR="$pkgdir" install
-}

Copied: synfig/repos/community-x86_64/PKGBUILD (from rev 208133, synfig/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD	                        (rev 0)
+++ community-x86_64/PKGBUILD	2017-01-20 14:37:21 UTC (rev 208134)
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Contributor: Franco Iacomella <yaco at gnu.org>
+
+pkgname=synfig
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="Professional vector animation program (CLI renderer only)"
+arch=(i686 x86_64)
+url="http://synfig.org"
+license=('GPL2')
+depends=('libxml++' 'libsigc++2.0' 'etl' 'imagemagick' 'ffmpeg' 'fontconfig'
+         'libpng' 'libtiff' 'libdv' 'libmng' 'cairo' 'pango' 'boost-libs' 'mlt'
+         'fftw')
+makedepends=('boost')
+optdepends=('openexr' 'libsigc++')
+conflicts=('synfig-core')
+replaces=('synfig-core')
+#source=(http://download.tuxfamily.org/synfig/releases/$pkgver/synfig-$pkgver.tar.gz
+source=(http://downloads.sourceforge.net/project/synfig/releases/$pkgver/source/synfig-$pkgver.tar.gz
+        ffmpeg-3.0.patch)
+md5sums=('d44fea7a16572ec638f2ca9f765bdc39'
+         '62fb382cbf418f5e2f536ed73656cf89')
+
+prepare() {
+  cd $pkgname-$pkgver
+  patch -p1 -i "$srcdir"/ffmpeg-3.0.patch
+
+  autoreconf -fi
+}
+
+build() {
+  cd $pkgname-$pkgver
+
+  CXXFLAGS="$CXXFLAGS -std=gnu++11"
+  ./configure --prefix=/usr \
+    --sysconfdir=/etc \
+    --disable-static \
+    --with-imagemagick \
+    --with-magickpp \
+    --with-libavcodec \
+    --with-libdv
+
+  make
+}
+
+package() {
+  cd $pkgname-$pkgver
+  make DESTDIR="$pkgdir" install
+}

Deleted: community-x86_64/build-fix.patch
===================================================================
--- community-x86_64/build-fix.patch	2017-01-20 14:37:13 UTC (rev 208133)
+++ community-x86_64/build-fix.patch	2017-01-20 14:37:21 UTC (rev 208134)
@@ -1,56 +0,0 @@
-diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.cpp synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.cpp
---- synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.cpp	2015-03-28 13:15:00.000000000 +0300
-+++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.cpp	2015-04-28 16:56:11.568749053 +0300
-@@ -56,8 +56,8 @@
- /* === M E T H O D S ======================================================= */
- 
- 
--Importer_LibAVCodec::Importer_LibAVCodec(const char *file):
--	filename(file)
-+Importer_LibAVCodec::Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier):
-+	Importer(identifier)
- {
- }
- 
-diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.h synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.h
---- synfig-1.0-RC5/src/modules/mod_libavcodec/mptr.h	2015-03-28 13:15:00.000000000 +0300
-+++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/mptr.h	2015-04-28 16:55:18.699192946 +0300
-@@ -46,7 +46,7 @@
- 	synfig::String filename;
- 
- public:
--	Importer_LibAVCodec(const char *filename);
-+	Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier);
- 	~Importer_LibAVCodec();
- 
- 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
-diff -wbBur synfig-1.0-RC5/src/modules/mod_libavcodec/trgt_av.cpp synfig-1.0-RC5.my/src/modules/mod_libavcodec/trgt_av.cpp
---- synfig-1.0-RC5/src/modules/mod_libavcodec/trgt_av.cpp	2015-03-28 13:15:00.000000000 +0300
-+++ synfig-1.0-RC5.my/src/modules/mod_libavcodec/trgt_av.cpp	2015-04-28 16:46:54.720091106 +0300
-@@ -121,14 +121,14 @@
-     picture = avcodec_alloc_frame();
-     if (!picture)
-         return NULL;
--    size = avpicture_get_size(pix_fmt, width, height);
-+    size = avpicture_get_size((::PixelFormat)pix_fmt, width, height);
-     picture_buf = (uint8_t *)malloc(size);
-     if (!picture_buf) {
-         av_free(picture);
-         return NULL;
-     }
-     avpicture_fill((AVPicture *)picture, picture_buf,
--                   pix_fmt, width, height);
-+                   (::PixelFormat)pix_fmt, width, height);
-     return picture;
- }
- 
-diff -wbBur synfig-1.0.2/src/synfig/time.cpp synfig-1.0.2.my/src/synfig/time.cpp
---- synfig-1.0.2/src/synfig/time.cpp	2015-07-09 10:33:03.000000000 +0300
-+++ synfig-1.0.2.my/src/synfig/time.cpp	2015-10-12 13:54:58.382313903 +0300
-@@ -319,5 +319,5 @@
- bool
- Time::is_valid()const
- {
--	return !isnan(value_);
-+	return !::isnan(value_);
- }

Deleted: community-x86_64/ffmpeg-0.8.patch
===================================================================
--- community-x86_64/ffmpeg-0.8.patch	2017-01-20 14:37:13 UTC (rev 208133)
+++ community-x86_64/ffmpeg-0.8.patch	2017-01-20 14:37:21 UTC (rev 208134)
@@ -1,60 +0,0 @@
-diff -aur synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp
---- synfig-0.63.02/src/modules/mod_libavcodec/trgt_av.cpp	2011-09-29 10:51:41.000000000 +0200
-+++ synfig-0.63.02.new/src/modules/mod_libavcodec/trgt_av.cpp	2011-10-31 16:39:03.000000000 +0100
-@@ -441,7 +441,7 @@
- 		if( context->coded_frame )
- 			pkt.pts = context->coded_frame->pts;
- 		if( context->coded_frame && context->coded_frame->key_frame)
--			pkt.flags |= PKT_FLAG_KEY;
-+			pkt.flags |= AV_PKT_FLAG_KEY;
- 
- 		//kluge for raw picture format (they said they'd fix)
- 		if (formatc->oformat->flags & AVFMT_RAWPICTURE)
-@@ -463,7 +463,7 @@
- 				if( context->coded_frame )
- 					pkt.pts = context->coded_frame->pts;
- 				if( context->coded_frame && context->coded_frame->key_frame)
--					pkt.flags |= PKT_FLAG_KEY;
-+					pkt.flags |= AV_PKT_FLAG_KEY;
- 
- 				ret = av_write_frame(formatc, &pkt);
- 
-@@ -567,17 +567,17 @@
- 		if (typestring)
- 		{
- 			//formatptr guess_format(type, filename, MIME type)
--			format = guess_format(typestring,NULL,NULL);
-+			format = av_guess_format(typestring,NULL,NULL);
- 		}
- 		else
- 		{
--			format = guess_format(NULL, filename, NULL);
-+			format = av_guess_format(NULL, filename, NULL);
- 		}
- 
- 		if(!format)
- 		{
- 			synfig::warning("Unable to Guess the output, defaulting to mpeg");
--			format = guess_format("mpeg", NULL, NULL);
-+			format = av_guess_format("mpeg", NULL, NULL);
- 		}
- 
- 		if(!format)
-@@ -753,7 +753,7 @@
- 
- 		context = st->codec;
- 		context->codec_id = (CodecID)codec_id;
--		context->codec_type = CODEC_TYPE_VIDEO;
-+		context->codec_type = AVMEDIA_TYPE_VIDEO;
- 
- 		//PARAMETERS MUST BE PASSED IN SOMEHOW (ANOTHER FUNCTION PARAMETER???)
- 
-@@ -800,7 +800,7 @@
- 
- 		context = stream->codec;
- 		context->codec_id = (CodecID)codec_id;
--		context->codec_type = CODEC_TYPE_AUDIO;
-+		context->codec_type = AVMEDIA_TYPE_AUDIO;
- 
- 		/* put sample parameters */
- 		context->bit_rate = 64000;

Copied: synfig/repos/community-x86_64/ffmpeg-3.0.patch (from rev 208133, synfig/trunk/ffmpeg-3.0.patch)
===================================================================
--- community-x86_64/ffmpeg-3.0.patch	                        (rev 0)
+++ community-x86_64/ffmpeg-3.0.patch	2017-01-20 14:37:21 UTC (rev 208134)
@@ -0,0 +1,323 @@
+diff --git a/src/modules/mod_libavcodec/mptr.cpp b/src/modules/mod_libavcodec/mptr.cpp
+index 52d9a8f..79f568d 100644
+--- a/src/modules/mod_libavcodec/mptr.cpp
++++ b/src/modules/mod_libavcodec/mptr.cpp
+@@ -57,8 +57,8 @@ SYNFIG_IMPORTER_SET_SUPPORTS_FILE_SYSTEM_WRAPPER(Importer_LibAVCodec, false);
+ /* === M E T H O D S ======================================================= */
+ 
+ 
+-Importer_LibAVCodec::Importer_LibAVCodec(const char *file):
+-	filename(file)
++Importer_LibAVCodec::Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier):
++	Importer(identifier)
+ {
+ }
+ 
+diff --git a/src/modules/mod_libavcodec/mptr.h b/src/modules/mod_libavcodec/mptr.h
+index e2ffbc1..0d5365b 100644
+--- a/src/modules/mod_libavcodec/mptr.h
++++ b/src/modules/mod_libavcodec/mptr.h
+@@ -46,7 +46,7 @@ private:
+ 	synfig::String filename;
+ 
+ public:
+-	Importer_LibAVCodec(const char *filename);
++	Importer_LibAVCodec(const synfig::FileSystem::Identifier &identifier); 
+ 	~Importer_LibAVCodec();
+ 
+ 	virtual bool get_frame(synfig::Surface &surface, const synfig::RendDesc &renddesc, synfig::Time time, synfig::ProgressCallback *callback);
+diff --git a/src/modules/mod_libavcodec/trgt_av.cpp b/src/modules/mod_libavcodec/trgt_av.cpp
+index d5cc54c..30ae1dd 100644
+--- a/src/modules/mod_libavcodec/trgt_av.cpp
++++ b/src/modules/mod_libavcodec/trgt_av.cpp
+@@ -58,7 +58,6 @@ extern "C"
+ #	include <ffmpeg/swscale.h>
+ #endif
+ #endif
+-
+ }
+ 
+ #ifndef DISABLE_MODULE
+@@ -74,6 +73,22 @@ extern "C"
+ 
+ #ifndef DISABLE_MODULE
+ 
++static int encode_frame(AVCodecContext *c, AVFrame *frame)
++{
++    AVPacket pkt = { 0 };
++    int ret, got_output;
++
++    av_init_packet(&pkt);
++    av_init_packet(&pkt);
++    ret = avcodec_encode_video2(c, &pkt, frame, &got_output);
++    if (ret < 0)
++	return ret;
++
++    ret = pkt.size;
++    av_free_packet(&pkt);
++    return ret;
++}
++
+ #ifdef _WIN32
+ #define snprintf	_snprintf
+ #endif
+@@ -119,17 +134,17 @@ AVFrame *alloc_picture(int pix_fmt, int width, int height)
+     uint8_t *picture_buf;
+     int size;
+ 
+-    picture = avcodec_alloc_frame();
++    picture = av_frame_alloc();
+     if (!picture)
+         return NULL;
+-    size = avpicture_get_size(pix_fmt, width, height);
++    size = avpicture_get_size((AVPixelFormat)pix_fmt, width, height);
+     picture_buf = (uint8_t *)malloc(size);
+     if (!picture_buf) {
+         av_free(picture);
+         return NULL;
+     }
+     avpicture_fill((AVPicture *)picture, picture_buf,
+-                   pix_fmt, width, height);
++                   (AVPixelFormat)pix_fmt, width, height);
+     return picture;
+ }
+ 
+@@ -251,10 +266,10 @@ public:
+ 		if (context->frame_size <= 1) {
+ 			audio_input_frame_size = audiobuffer.size() / context->channels;
+ 			switch(stream->codec.codec_id) {
+-			case CODEC_ID_PCM_S16LE:
+-			case CODEC_ID_PCM_S16BE:
+-			case CODEC_ID_PCM_U16LE:
+-			case CODEC_ID_PCM_U16BE:
++			case AV_CODEC_ID_PCM_S16LE:
++			case AV_CODEC_ID_PCM_S16BE:
++			case AV_CODEC_ID_PCM_U16LE:
++			case AV_CODEC_ID_PCM_U16BE:
+ 				audio_input_frame_size >>= 1;
+ 				break;
+ 			default:
+@@ -347,7 +362,7 @@ public:
+ 		}
+ 
+ 		//try to open the codec
+-		if(avcodec_open(context, codec) < 0)
++		if(avcodec_open2(context, codec, NULL) < 0)
+ 		{
+ 			synfig::warning("open_video: could not open desired codec");
+ 			return 0;
+@@ -379,7 +394,7 @@ public:
+ 			(possibly translate directly to required coordinate systems later on... less error)
+ 		*/
+ 		encodable = NULL;
+-		if(context->pix_fmt != PIX_FMT_RGB24)
++		if(context->pix_fmt != AV_PIX_FMT_RGB24)
+ 		{
+ 			encodable = alloc_picture(context->pix_fmt, context->width, context->height);
+ 			if(!encodable)
+@@ -415,12 +430,12 @@ public:
+ 		}
+ 
+ 
+-		if ( pict && context->pix_fmt != PIX_FMT_RGB24 )
++		if ( pict && context->pix_fmt != AV_PIX_FMT_RGB24 )
+ 		{
+ 			//We're using RGBA at the moment, write custom conversion code later (get less accuracy errors)
+ #ifdef WITH_LIBSWSCALE
+ 			struct SwsContext* img_convert_ctx =
+-				sws_getContext(context->width, context->height, PIX_FMT_RGB24,
++				sws_getContext(context->width, context->height, AV_PIX_FMT_RGB24,
+ 					context->width, context->height, context->pix_fmt,
+ 					SWS_BICUBIC, NULL, NULL, NULL);
+ 
+@@ -432,7 +447,7 @@ public:
+ 			sws_freeContext (img_convert_ctx);
+ #else
+ 			img_convert((AVPicture *)encodable, context->pix_fmt,
+-						(AVPicture *)pict, PIX_FMT_RGB24,
++						(AVPicture *)pict, AV_PIX_FMT_RGB24,
+ 						context->width, context->height);
+ #endif
+ 
+@@ -447,7 +462,7 @@ public:
+ 		if( context->coded_frame )
+ 			pkt.pts = context->coded_frame->pts;
+ 		if( context->coded_frame && context->coded_frame->key_frame)
+-			pkt.flags |= PKT_FLAG_KEY;
++			pkt.flags |= AV_PKT_FLAG_KEY;
+ 
+ 		//kluge for raw picture format (they said they'd fix)
+ 		if (formatc->oformat->flags & AVFMT_RAWPICTURE)
+@@ -457,7 +472,7 @@ public:
+ 		else
+ 		{
+ 			//encode our given image
+-			size = avcodec_encode_video(context, &videobuffer[0], videobuffer.size(), pict);
++			size = encode_frame(context, pict);
+ 
+ 			//if greater than zero we've got stuff to write
+ 			if (size > 0)
+@@ -469,7 +484,7 @@ public:
+ 				if( context->coded_frame )
+ 					pkt.pts = context->coded_frame->pts;
+ 				if( context->coded_frame && context->coded_frame->key_frame)
+-					pkt.flags |= PKT_FLAG_KEY;
++					pkt.flags |= AV_PKT_FLAG_KEY;
+ 
+ 				ret = av_write_frame(formatc, &pkt);
+ 
+@@ -572,18 +587,18 @@ public:
+ 		//guess if we have a type string, otherwise use filename
+ 		if (typestring)
+ 		{
+-			//formatptr guess_format(type, filename, MIME type)
+-			format = guess_format(typestring,NULL,NULL);
++			//formatptr av_guess_format(type, filename, MIME type)
++			format = av_guess_format(typestring,NULL,NULL);
+ 		}
+ 		else
+ 		{
+-			format = guess_format(NULL, filename, NULL);
++			format = av_guess_format(NULL, filename, NULL);
+ 		}
+ 
+ 		if(!format)
+ 		{
+ 			synfig::warning("Unable to Guess the output, defaulting to mpeg");
+-			format = guess_format("mpeg", NULL, NULL);
++			format = av_guess_format("mpeg", NULL, NULL);
+ 		}
+ 
+ 		if(!format)
+@@ -610,7 +625,7 @@ public:
+ 		//audio_st = NULL;
+ 
+ 		//video stream
+-		if(format->video_codec != CODEC_ID_NONE)
++		if(format->video_codec != AV_CODEC_ID_NONE)
+ 		{
+ 			video_st = add_video_stream(format->video_codec,vInfo);
+ 			if(!video_st)
+@@ -620,7 +635,7 @@ public:
+ 		}
+ 
+ 		//audio stream
+-		/*if(format->audio_codec != CODEC_ID_NONE)
++		/*if(format->audio_codec != AV_CODEC_ID_NONE)
+ 		{
+ 			audio_st = add_audio_stream(format->audio_codec,aInfo);
+ 		}*/
+@@ -630,10 +645,10 @@ public:
+ 		video_st->codec->time_base= (AVRational){1,vInfo.fps};
+ 		video_st->codec->width = vInfo.w;
+ 		video_st->codec->height = vInfo.h;
+-		video_st->codec->pix_fmt = PIX_FMT_YUV420P;
++		video_st->codec->pix_fmt = AV_PIX_FMT_YUV420P;
+ 
+ 		//dump the formatting information as the file header
+-		dump_format(formatc, 0, filename, 1);
++		av_dump_format(formatc, 0, filename, 1);
+ 
+ 		//open codecs and allocate buffers
+ 		if(video_st)
+@@ -657,7 +672,7 @@ public:
+ 		if(!(format->flags & AVFMT_NOFILE))
+ 		{
+ 			//use libav's file open function (what does it do differently????)
+-			if(url_fopen(&formatc->pb, filename, URL_WRONLY) < 0)
++			if(avio_open(&formatc->pb, filename, AVIO_FLAG_WRITE) < 0)
+ 			{
+ 				synfig::warning("Unable to open file: %s", filename);
+ 				return 0;
+@@ -666,7 +681,7 @@ public:
+ 
+ 		//allocate the picture to render to
+ 		//may have to retrieve the width, height from the codec... for resizing...
+-		picture = alloc_picture(PIX_FMT_RGB24,vInfo.w,vInfo.h);//video_st->codec.width, video_st->codec.height);
++		picture = alloc_picture(AV_PIX_FMT_RGB24,vInfo.w,vInfo.h);//video_st->codec.width, video_st->codec.height);
+ 		if(!picture)
+ 		{
+ 			synfig::warning("Unable to allocate the temporary AVFrame surface");
+@@ -678,7 +693,7 @@ public:
+ 		//vInfo.h = video_st->codec.height;
+ 
+ 		//write the stream header
+-		av_write_header(formatc);
++		avformat_write_header(formatc, NULL);
+ 
+ 		return true;
+ 	}
+@@ -718,9 +733,9 @@ public:
+ 			{
+ 				/* close the output file */
+ #if LIBAVFORMAT_VERSION_INT >= (52<<16)
+-				url_fclose(formatc->pb);
++				avio_close(formatc->pb);
+ #else
+-				url_fclose(&formatc->pb);
++				avio_close(&formatc->pb);
+ #endif
+ 			}
+ 
+@@ -750,16 +765,17 @@ public:
+ 		AVCodecContext *context;
+ 		AVStream *st;
+ 
+-		st = av_new_stream(formatc, 0);
++		st = avformat_new_stream(formatc, NULL);
+ 		if(!st)
+ 		{
+ 			synfig::warning("video-add_stream: Unable to allocate stream");
+ 			return 0;
+ 		}
++		st->id = 0;
+ 
+ 		context = st->codec;
+-		context->codec_id = (CodecID)codec_id;
+-		context->codec_type = CODEC_TYPE_VIDEO;
++		context->codec_id = (AVCodecID)codec_id;
++		context->codec_type = AVMEDIA_TYPE_VIDEO;
+ 
+ 		//PARAMETERS MUST BE PASSED IN SOMEHOW (ANOTHER FUNCTION PARAMETER???)
+ 
+@@ -781,8 +797,8 @@ public:
+ 		context->gop_size = info.fps/4; /* emit one intra frame every twelve frames at most */
+ 
+ 		//HACK: MPEG requires b frames be set... any better way to do this?
+-		if (context->codec_id == CODEC_ID_MPEG1VIDEO ||
+-			context->codec_id == CODEC_ID_MPEG2VIDEO)
++		if (context->codec_id == AV_CODEC_ID_MPEG1VIDEO ||
++			context->codec_id == AV_CODEC_ID_MPEG2VIDEO)
+ 		{
+ 			/* just for testing, we also add B frames */
+ 			context->max_b_frames = 2;
+@@ -797,16 +813,17 @@ public:
+ 		AVCodecContext *context;
+ 		AVStream *stream;
+ 
+-		stream = av_new_stream(formatc, 1);
++		stream = avformat_new_stream(formatc, NULL);
+ 		if(!stream)
+ 		{
+ 			synfig::warning("could not alloc stream");
+ 			return 0;
+ 		}
++		stream->id = 1;
+ 
+ 		context = stream->codec;
+-		context->codec_id = (CodecID)codec_id;
+-		context->codec_type = CODEC_TYPE_AUDIO;
++		context->codec_id = (AVCodecID)codec_id;
++		context->codec_type = AVMEDIA_TYPE_AUDIO;
+ 
+ 		/* put sample parameters */
+ 		context->bit_rate = 64000;
+@@ -828,7 +845,7 @@ Target_LibAVCodec::Target_LibAVCodec(const char *Filename,
+ 		registered = true;
+ 		av_register_all();
+ 	}
+-	set_remove_alpha();
++	//set_remove_alpha();
+ 
+ 	data = new LibAVEncoder;
+ }



More information about the arch-commits mailing list