diff options
author | Alexis Ballier <aballier@gentoo.org> | 2008-03-01 20:15:53 +0000 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2008-03-01 20:15:53 +0000 |
commit | 3f447610bc78f936a8f111eb9681099124776331 (patch) | |
tree | 6cef24c569e14dcf7fca9a16bbd013ea1fbe9713 /media-video | |
parent | alpha stable wrt #208255 (diff) | |
download | historical-3f447610bc78f936a8f111eb9681099124776331.tar.gz historical-3f447610bc78f936a8f111eb9681099124776331.tar.bz2 historical-3f447610bc78f936a8f111eb9681099124776331.zip |
version bump, workaround cinelerra's inability to set the ratecontrol method by restoring the old default, thanks to Paul de Vries <phs.de.vries@gmail.com> for reporting in bug #211206
Package-Manager: portage-2.1.4.4
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/cinelerra-cvs/ChangeLog | 11 | ||||
-rw-r--r-- | media-video/cinelerra-cvs/Manifest | 16 | ||||
-rw-r--r-- | media-video/cinelerra-cvs/cinelerra-cvs-20080301.ebuild | 108 | ||||
-rw-r--r-- | media-video/cinelerra-cvs/files/cinelerra-cvs-defaultx264tocqp.patch | 12 | ||||
-rw-r--r-- | media-video/cinelerra-cvs/files/cinelerra-cvs-swscaler.patch | 159 |
5 files changed, 304 insertions, 2 deletions
diff --git a/media-video/cinelerra-cvs/ChangeLog b/media-video/cinelerra-cvs/ChangeLog index e10c4d643bf2..8aa64ed31900 100644 --- a/media-video/cinelerra-cvs/ChangeLog +++ b/media-video/cinelerra-cvs/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for media-video/cinelerra-cvs # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra-cvs/ChangeLog,v 1.39 2008/01/26 00:03:04 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra-cvs/ChangeLog,v 1.40 2008/03/01 20:15:52 aballier Exp $ + +*cinelerra-cvs-20080301 (01 Mar 2008) + + 01 Mar 2008; Alexis Ballier <aballier@gentoo.org> + +files/cinelerra-cvs-defaultx264tocqp.patch, + +files/cinelerra-cvs-swscaler.patch, +cinelerra-cvs-20080301.ebuild: + version bump, workaround cinelerra's inability to set the ratecontrol method + by restoring the old default, thanks to Paul de Vries + <phs.de.vries@gmail.com> for reporting in bug #211206 26 Jan 2008; Alexis Ballier <aballier@gentoo.org> cinelerra-cvs-20080115.ebuild: diff --git a/media-video/cinelerra-cvs/Manifest b/media-video/cinelerra-cvs/Manifest index adb23f614f5d..09aa60f2a070 100644 --- a/media-video/cinelerra-cvs/Manifest +++ b/media-video/cinelerra-cvs/Manifest @@ -1,6 +1,20 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX cinelerra-compilewarnings.diff 1424 RMD160 0c801e2cfc778a76681b7a976e47d18f0d8bb75a SHA1 c052d67f9de343189a2e63cf763c48644b42328e SHA256 387ee6e80a0e1f2905d27ba204fb2bda3753f16aa45bc7a16b82d6d51ad462d5 AUX cinelerra-cvs-20080115-swscaler.patch 5012 RMD160 8ebc7520dc58b96fbe903964a05b5884b496ee90 SHA1 a0d15e358b5bdebc05194eb0966b98c25ec00d19 SHA256 acae0382cd23e8b4371151e5084aa0e0873f9e1c405f90fd7f2487fbb393ceb6 +AUX cinelerra-cvs-defaultx264tocqp.patch 405 RMD160 a89e2be0b15581d880a4cc086fcd9f233ee97391 SHA1 88810ed033a030f48e0264b48dd28526ad517698 SHA256 13082a69d87805cd743fc2fe7eae66e16a87eba763e17524da3b03a23d1483ac +AUX cinelerra-cvs-swscaler.patch 5012 RMD160 8ebc7520dc58b96fbe903964a05b5884b496ee90 SHA1 a0d15e358b5bdebc05194eb0966b98c25ec00d19 SHA256 acae0382cd23e8b4371151e5084aa0e0873f9e1c405f90fd7f2487fbb393ceb6 DIST cinelerra-cvs-20080115.tar.bz2 31231763 RMD160 41bc0a88e12f91aabca278ea05dde04d6632a3e0 SHA1 70eff234992d61d9a049ef7f26a04faefddb7671 SHA256 3ada71b7632379e9aca2ff335a038f73e36965e97df23551f788cc307081957c +DIST cinelerra-cvs-20080301.tar.bz2 31202811 RMD160 9d04e04854206006572ebebff888af21bde947d3 SHA1 efc530ac8b88ade1acc3437b5edebe6eb3dc0fc9 SHA256 bf5ed3594eff305333d808eb414e75714c7b783ef85e95a0db838fcfb6c0d149 EBUILD cinelerra-cvs-20080115.ebuild 2934 RMD160 903af6598e839203638a609bcec17fc1d8c358f3 SHA1 d039ca1617bcec8c58e436b1e8e10eafe07a6495 SHA256 e0060302299e338684c058a22cc9f780686c0936e8faed3e32fdcd589862cbe4 -MISC ChangeLog 6185 RMD160 c3206cb92814233cfb6ab408f07f356d6b50f545 SHA1 5ca521988fa979226d56f678b91df99b4cfe2006 SHA256 f0f034278dc5037067c5f1a8d7c30dd8def5b158edfe04dd9ce9138f0a3183f1 +EBUILD cinelerra-cvs-20080301.ebuild 2986 RMD160 ee91678162795a8a4af7d0e2e86c31384739011c SHA1 feda76e33c37ee5ae9051f891e8b5a6f83680079 SHA256 dc7fa00c3a799367432d212bd5d394979b7bb818ced0b9578d8c49ed8872cd13 +MISC ChangeLog 6586 RMD160 597300d47c96c8cc9ced1ae8a48bbb51134d3a7d SHA1 832899f9f4c4c186f16b1ffcd5a0b9b228997d36 SHA256 47e3206c61df5568a3259bfef9e0e5dd7d692867f9d9ed991ec2eac3bdd1bd7c MISC metadata.xml 159 RMD160 21717801992314b5fc85dfeb6da77bf71fc54c7e SHA1 26b6ea95dc60c40d9b482830ce7e7c54233a7698 SHA256 38df217d3a650829cd34e6c74bd2710a01751ccd5511b5be296e3f48dd4d81cb +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.7 (GNU/Linux) + +iD8DBQFHybmFvFcC4BYPU0oRAk3aAKC+PiNGnSO7eaYZbOPXt/zzsRTxLwCgulFC +YgOEJKhGdMPso5iMl9Elqy4= +=FWlU +-----END PGP SIGNATURE----- diff --git a/media-video/cinelerra-cvs/cinelerra-cvs-20080301.ebuild b/media-video/cinelerra-cvs/cinelerra-cvs-20080301.ebuild new file mode 100644 index 000000000000..7e312ab00e12 --- /dev/null +++ b/media-video/cinelerra-cvs/cinelerra-cvs-20080301.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/cinelerra-cvs/cinelerra-cvs-20080301.ebuild,v 1.1 2008/03/01 20:15:52 aballier Exp $ + +WANT_AUTOMAKE=1.9 +WANT_AUTOCONF=2.5 + +inherit toolchain-funcs eutils flag-o-matic autotools + +#filter-flags "-fPIC -fforce-addr" + +DESCRIPTION="Cinelerra - Professional Video Editor - Unofficial CVS-version" +HOMEPAGE="http://cvs.cinelerra.org/" +SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="3dnow alsa esd mmx oss static truetype ieee1394 css altivec opengl" +RDEPEND="media-libs/libpng + >=media-libs/libdv-1.0.0 + media-libs/faad2 + media-libs/faac + media-libs/a52dec + media-libs/libsndfile + media-libs/tiff + media-video/ffmpeg + media-sound/lame + >=sci-libs/fftw-3.0.1 + >=media-libs/x264-svn-20060302 + ieee1394? ( media-libs/libiec61883 >=sys-libs/libraw1394-1.2.0 \ + >=sys-libs/libavc1394-0.5.0 ) + media-video/mjpegtools + alsa? ( media-libs/alsa-lib ) + esd? ( >=media-sound/esound-0.2.34 ) + truetype? ( >=media-libs/freetype-2.1.10 ) + opengl? ( virtual/opengl ) + >=media-libs/openexr-1.2.2 + >=media-libs/libvorbis-1.1.0 + >=media-libs/libogg-1.1 + >=media-libs/libtheora-1.0_alpha4-r1 + x11-libs/libX11 + x11-libs/libXv + x11-libs/libXxf86vm + x11-libs/libXext + x11-libs/libXvMC + x11-libs/libXft" + +DEPEND="${RDEPEND} + dev-util/pkgconfig + x86? ( dev-lang/nasm )" + +S="${WORKDIR}/${PN}" + +pkg_setup() { + if [[ "$(gcc-major-version)" -lt "4" ]]; then + eerror "You need to have gcc 4 or better" + eerror "Please follow : http://www.gentoo.org/doc/en/gcc-upgrading.xml" + eerror "And have a look at bug #128659" + die "You must use gcc 4 or better." + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/${PN}-swscaler.patch" + epatch "${FILESDIR}/cinelerra-compilewarnings.diff" + epatch "${FILESDIR}/${PN}-defaultx264tocqp.patch" + AT_M4DIR="m4" eautoreconf +} + +src_compile() { + econf \ + `use_enable static` \ + `use_enable alsa` \ + `use_enable esd` \ + `use_enable oss` \ + `use_enable mmx` \ + `use_enable 3dnow` \ + --with-plugindir=/usr/$(get_libdir)/cinelerra \ + `use_enable truetype freetype2` \ + `use_enable ieee1394 firewire` \ + `use_enable css` \ + `use_enable opengl` \ + `use_enable altivec` \ + --with-external-ffmpeg \ + --with-buildinfo=cust/"Gentoo - SVN r1053" \ + || die "configure failed" + emake || die "make failed" +} + +src_install() { + emake DESTDIR="${D}" install || die + dohtml -a png,html,texi,sdw -r doc/* + # workaround + rm -fR "${D}/usr/include" + mv "${D}/usr/bin/mpeg3cat" "${D}/usr/bin/mpeg3cat.hv" + mv "${D}/usr/bin/mpeg3dump" "${D}/usr/bin/mpeg3dump.hv" + mv "${D}/usr/bin/mpeg3toc" "${D}/usr/bin/mpeg3toc.hv" + ln -s /usr/bin/mpeg2enc "${D}/usr/$(get_libdir)/cinelerra/mpeg2enc.plugin" +} + +pkg_postinst () { + elog "Please note that this is unofficial and somewhat experimental code." + elog "See cvs.cinelerra.org for a list of changes to the official cinelerra" + elog "release." +} diff --git a/media-video/cinelerra-cvs/files/cinelerra-cvs-defaultx264tocqp.patch b/media-video/cinelerra-cvs/files/cinelerra-cvs-defaultx264tocqp.patch new file mode 100644 index 000000000000..88e98ebdb9ae --- /dev/null +++ b/media-video/cinelerra-cvs/files/cinelerra-cvs-defaultx264tocqp.patch @@ -0,0 +1,12 @@ +Index: cinelerra-cvs/quicktime/qth264.c +=================================================================== +--- cinelerra-cvs.orig/quicktime/qth264.c ++++ cinelerra-cvs/quicktime/qth264.c +@@ -506,6 +506,7 @@ static quicktime_h264_codec_t* init_comm + + codec = (quicktime_h264_codec_t*)codec_base->priv; + x264_param_default(&codec->param); ++ codec->param.rc.i_rc_method = X264_RC_CQP; + + + return codec; diff --git a/media-video/cinelerra-cvs/files/cinelerra-cvs-swscaler.patch b/media-video/cinelerra-cvs/files/cinelerra-cvs-swscaler.patch new file mode 100644 index 000000000000..255ce4dd9f2b --- /dev/null +++ b/media-video/cinelerra-cvs/files/cinelerra-cvs-swscaler.patch @@ -0,0 +1,159 @@ +Index: cinelerra-cvs/cinelerra/ffmpeg.C +=================================================================== +--- cinelerra-cvs.orig/cinelerra/ffmpeg.C ++++ cinelerra-cvs/cinelerra/ffmpeg.C +@@ -140,6 +140,11 @@ int FFMPEG::convert_cmodel(VFrame *frame + PixelFormat pix_fmt_out = + color_model_to_pix_fmt(frame_out->get_color_model()); + ++#ifdef HAVE_SWSCALER ++ // We need a context for swscale ++ struct SwsContext *convert_ctx; ++#endif ++ + // do conversion within libavcodec if possible + if (pix_fmt_in != PIX_FMT_NB && pix_fmt_out != PIX_FMT_NB) { + // set up a temporary pictures from frame_in and frame_out +@@ -147,7 +152,9 @@ int FFMPEG::convert_cmodel(VFrame *frame + init_picture_from_frame(&picture_in, frame_in); + init_picture_from_frame(&picture_out, frame_out); + +- int result = img_convert(&picture_out, ++ int result; ++#ifndef HAVE_SWSCALER ++ result = img_convert(&picture_out, + pix_fmt_out, + &picture_in, + pix_fmt_in, +@@ -156,6 +163,28 @@ int FFMPEG::convert_cmodel(VFrame *frame + if (result) { + printf("FFMPEG::convert_cmodel img_convert() failed\n"); + } ++#else ++ convert_ctx = sws_getContext(frame_in->get_w(), frame_in->get_h(),pix_fmt_in, ++ frame_out->get_w(),frame_out->get_h(),pix_fmt_out, ++ SWS_BICUBIC, NULL, NULL, NULL); ++ ++ if(convert_ctx == NULL){ ++ printf("FFMPEG::convert_cmodel : swscale context initialization failed\n"); ++ return 1; ++ } ++ ++ result = sws_scale(convert_ctx, ++ picture_in.data, picture_in.linesize, ++ 0, 0, ++ picture_out.data, picture_out.linesize); ++ ++ ++ sws_freeContext(convert_ctx); ++ ++ if(result){ ++ printf("FFMPEG::convert_cmodel sws_scale() failed\n"); ++ } ++#endif + return result; + } + +@@ -203,13 +232,19 @@ int FFMPEG::convert_cmodel(AVPicture *pi + + // set up a temporary picture_out from frame_out + AVPicture picture_out; ++#ifdef HAVE_SWSCALER ++ // We need a context for swscale ++ struct SwsContext *convert_ctx; ++#endif + init_picture_from_frame(&picture_out, frame_out); + int cmodel_out = frame_out->get_color_model(); + PixelFormat pix_fmt_out = color_model_to_pix_fmt(cmodel_out); + + // do conversion within libavcodec if possible + if (pix_fmt_out != PIX_FMT_NB) { +- int result = img_convert(&picture_out, ++ int result; ++#ifndef HAVE_SWSCALER ++ result = img_convert(&picture_out, + pix_fmt_out, + picture_in, + pix_fmt_in, +@@ -218,6 +253,28 @@ int FFMPEG::convert_cmodel(AVPicture *pi + if (result) { + printf("FFMPEG::convert_cmodel img_convert() failed\n"); + } ++#else ++ convert_ctx = sws_getContext(width_in, height_in,pix_fmt_in, ++ frame_out->get_w(),frame_out->get_h(),pix_fmt_out, ++ SWS_BICUBIC, NULL, NULL, NULL); ++ ++ if(convert_ctx == NULL){ ++ printf("FFMPEG::convert_cmodel : swscale context initialization failed\n"); ++ return 1; ++ } ++ ++ result = sws_scale(convert_ctx, ++ picture_in->data, picture_in->linesize, ++ 0, 0, ++ picture_out.data, picture_out.linesize); ++ ++ ++ sws_freeContext(convert_ctx); ++ ++ if(result){ ++ printf("FFMPEG::convert_cmodel sws_scale() failed\n"); ++ } ++#endif + return result; + } + +Index: cinelerra-cvs/cinelerra/ffmpeg.h +=================================================================== +--- cinelerra-cvs.orig/cinelerra/ffmpeg.h ++++ cinelerra-cvs/cinelerra/ffmpeg.h +@@ -3,6 +3,9 @@ + + extern "C" { + #include <avcodec.h> ++#ifdef HAVE_SWSCALER ++#include <swscale.h> ++#endif + }; + + #include "asset.h" +Index: cinelerra-cvs/configure.in +=================================================================== +--- cinelerra-cvs.orig/configure.in ++++ cinelerra-cvs/configure.in +@@ -341,10 +341,33 @@ AC_SUBST(CPU_CFLAGS) + ############ external ffmpeg + AC_ARG_WITH([external-ffmpeg], AC_HELP_STRING([--with-external-ffmpeg], [use external ffmpeg library])) + ++AH_TEMPLATE(HAVE_SWSCALER, [Define to 1 if swscaler is available in ffmpeg.]) ++ + if test "x$with_external_ffmpeg" = "xyes"; then +- PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc]) ++ PKG_CHECK_MODULES([FFMPEG_TEMP], [libavcodec libpostproc]) + FFMPEG_FOLDER="" + FFMPEG_EXTERNALTEXT="External ffmpeg" ++ ++ dnl -------------------------------------------------------------- ++ dnl check if libavcodec contains img_convert ++ dnl that means that libswscale is compiled in ++ ++ AC_MSG_CHECKING(for ffmpeg swscale support) ++ saved_LIBS="$LIBS" ++ LIBS="$saved_LIBS $FFMPEG_TEMP_LIBS" ++ AC_TRY_LINK([#include <ffmpeg/avcodec.h>], ++ [img_convert(0, 0, 0,0,0,0)], ++ enable_ffmpeg_swscale=no,enable_ffmpeg_swscale=yes) ++ LIBS="$saved_LIBS" ++ AC_MSG_RESULT($enable_ffmpeg_swscale) ++ ++ if test x"$enable_ffmpeg_swscale" == xyes; then ++ AC_DEFINE(HAVE_SWSCALER) ++ PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc libswscale]) ++ else ++ PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc]) ++ fi ++ + else + FFMPEG_FOLDER=ffmpeg + FFMPEG_CFLAGS="-I\$(top_srcdir)/quicktime/ffmpeg/libavcodec" |