diff options
author | 2007-08-07 23:31:21 +0000 | |
---|---|---|
committer | 2007-08-07 23:31:21 +0000 | |
commit | 087d8b7374f1eac6987f6b07cd3cd4bd0393dd43 (patch) | |
tree | 3b2031556c6a9f35d56ee2869b65ffd3e68f1410 /media-gfx | |
parent | Marked ppc stable. (diff) | |
download | gentoo-2-087d8b7374f1eac6987f6b07cd3cd4bd0393dd43.tar.gz gentoo-2-087d8b7374f1eac6987f6b07cd3cd4bd0393dd43.tar.bz2 gentoo-2-087d8b7374f1eac6987f6b07cd3cd4bd0393dd43.zip |
Make blender use swscale
(Portage version: 2.1.3.3)
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/blender/ChangeLog | 6 | ||||
-rw-r--r-- | media-gfx/blender/blender-2.44.ebuild | 4 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.44-swscale.patch | 41 |
3 files changed, 48 insertions, 3 deletions
diff --git a/media-gfx/blender/ChangeLog b/media-gfx/blender/ChangeLog index e14d2ea82009..f1fef7a8ecd1 100644 --- a/media-gfx/blender/ChangeLog +++ b/media-gfx/blender/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-gfx/blender # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.118 2007/07/22 10:04:27 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.119 2007/08/07 23:31:21 lu_zero Exp $ + + 07 Aug 2007; Luca Barbato <lu_zero@gentoo.org> + +files/blender-2.44-swscale.patch, blender-2.44.ebuild: + make blender use swscale 22 Jul 2007; Donnie Berkholz <dberkholz@gentoo.org>; blender-2.41-r1.ebuild, blender-2.42.ebuild, blender-2.42a-r1.ebuild, diff --git a/media-gfx/blender/blender-2.44.ebuild b/media-gfx/blender/blender-2.44.ebuild index 44605b822653..8ac326dfb4b3 100644 --- a/media-gfx/blender/blender-2.44.ebuild +++ b/media-gfx/blender/blender-2.44.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.44.ebuild,v 1.4 2007/07/22 10:04:27 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.44.ebuild,v 1.5 2007/08/07 23:31:21 lu_zero Exp $ inherit multilib flag-o-matic eutils python @@ -54,12 +54,12 @@ src_unpack() { unpack ${A} cd ${S}/release/plugins chmod 755 bmake - rmdir include cp -pPR ${S}/source/blender/blenpluginapi include cd ${S} epatch ${FILESDIR}/blender-2.37-dirs.patch epatch ${FILESDIR}/blender-2.44-scriptsdir.patch + epatch ${FILESDIR}/blender-2.44-swscale.patch if use ffmpeg ; then cd ${S}/extern diff --git a/media-gfx/blender/files/blender-2.44-swscale.patch b/media-gfx/blender/files/blender-2.44-swscale.patch new file mode 100644 index 000000000000..08bdb65bae98 --- /dev/null +++ b/media-gfx/blender/files/blender-2.44-swscale.patch @@ -0,0 +1,41 @@ +Index: writeffmpeg.c +=================================================================== +--- blender.orig/source/blender/blenkernel/intern/writeffmpeg.c (revision 11354) ++++ blender/source/blender/blenkernel/intern/writeffmpeg.c (working copy) +@@ -32,6 +32,7 @@ + #include <ffmpeg/avformat.h> + #include <ffmpeg/avcodec.h> + #include <ffmpeg/rational.h> ++#include <ffmpeg/swscale.h> + + #if LIBAVFORMAT_VERSION_INT < (49 << 16) + #define FFMPEG_OLD_FRAME_RATE 1 +@@ -258,6 +259,7 @@ + static AVFrame* generate_video_frame(uint8_t* pixels) + { + uint8_t* rendered_frame; ++ static struct SwsContext *img_convert_ctx; + + AVCodecContext* c = get_codec_from_stream(video_stream); + int width = c->width; +@@ -317,8 +319,18 @@ + } + + if (c->pix_fmt != PIX_FMT_RGBA32) { +- img_convert((AVPicture*)current_frame, c->pix_fmt, +- (AVPicture*)rgb_frame, PIX_FMT_RGBA32, width, height); ++ if (img_convert_ctx == NULL) ++ img_convert_ctx = sws_getContext(c->width, c->height, ++ PIX_FMT_RGBA32, ++ c->width, c->height, ++ c->pix_fmt, ++ SWS_BICUBIC, ++ NULL, NULL, NULL); ++ sws_scale(img_convert_ctx, rgb_frame->data, ++ rgb_frame->linesize, 0, c->height, ++ current_frame->data, current_frame->linesize); ++// img_convert((AVPicture*)current_frame, c->pix_fmt, ++// (AVPicture*)rgb_frame, PIX_FMT_RGBA32, width, height); + delete_picture(rgb_frame); + } + return current_frame; |