diff options
-rw-r--r-- | multimedia/cinelerra/cinelerra-v4l1_removal.patch | 126 | ||||
-rw-r--r-- | multimedia/cinelerra/cinelerra.SlackBuild | 10 | ||||
-rw-r--r-- | multimedia/cinelerra/cinelerra.info | 4 | ||||
-rw-r--r-- | multimedia/cinelerra/patches/cinelerra-ffmpeg-0.11.patch | 156 | ||||
-rw-r--r-- | multimedia/cinelerra/patches/cinelerra-ffmpeg.patch (renamed from multimedia/cinelerra/ffmpeg.patch) | 18 |
5 files changed, 172 insertions, 142 deletions
diff --git a/multimedia/cinelerra/cinelerra-v4l1_removal.patch b/multimedia/cinelerra/cinelerra-v4l1_removal.patch deleted file mode 100644 index 285720dc41b39..0000000000000 --- a/multimedia/cinelerra/cinelerra-v4l1_removal.patch +++ /dev/null @@ -1,126 +0,0 @@ -http://bugs.cinelerra.org/ticket/949 -https://bugs.gentoo.org/show_bug.cgi?id=361709 - -diff -Nru cinelerra.orig//cinelerra/channelpicker.C cinelerra/cinelerra/channelpicker.C ---- cinelerra.orig//cinelerra/channelpicker.C 2010-11-24 18:18:03.000000000 -0500 -+++ cinelerra/cinelerra/channelpicker.C 2011-02-17 13:31:30.147880002 -0500 -@@ -39,7 +39,7 @@ - #include "recordgui.h" - #include "recordmonitor.h" - #include "theme.h" --#include "vdevicebuz.h" -+//#include "vdevicebuz.h" - #include "vdeviceprefs.h" - #include "videodevice.h" - -@@ -280,7 +280,7 @@ - // printf("PrefsChannelPicker::PrefsChannelPicker 1\n"); - this->mwindow = mwindow; - this->prefs = prefs; -- VDeviceBUZ::get_inputs(&input_sources); -+// VDeviceBUZ::get_inputs(&input_sources); - } - - PrefsChannelPicker::~PrefsChannelPicker() -diff -Nru cinelerra.orig//cinelerra/Makefile.am cinelerra/cinelerra/Makefile.am ---- cinelerra.orig//cinelerra/Makefile.am 2010-11-24 18:18:03.000000000 -0500 -+++ cinelerra/cinelerra/Makefile.am 2011-02-17 13:31:30.147880002 -0500 -@@ -305,10 +305,8 @@ - vattachmentpoint.C \ - vautomation.C \ - vdevicebase.C \ -- vdevicebuz.C \ - vdevicedvb.C \ - vdeviceprefs.C \ -- vdevicev4l.C \ - vdevicev4l2.C \ - vdevicev4l2jpeg.C \ - vdevicex11.C \ -diff -Nru cinelerra.orig//cinelerra/reversemake cinelerra/cinelerra/reversemake ---- cinelerra.orig//cinelerra/reversemake 2010-11-24 18:18:03.000000000 -0500 -+++ cinelerra/cinelerra/reversemake 2011-02-17 13:31:30.151880002 -0500 -@@ -32,10 +32,8 @@ - make $OBJDIR/vedits.o - make $OBJDIR/vedit.o - make $OBJDIR/vdevicex11.o --make $OBJDIR/vdevicev4l.o - make $OBJDIR/vdeviceprefs.o - make $OBJDIR/vdevicelml.o --make $OBJDIR/vdevicebuz.o - make $OBJDIR/vdevicebase.o - make $OBJDIR/vdevice1394.o - make $OBJDIR/vautomation.o -diff -Nru cinelerra.orig//cinelerra/videodevice.C cinelerra/cinelerra/videodevice.C ---- cinelerra.orig//cinelerra/videodevice.C 2010-11-24 18:18:03.000000000 -0500 -+++ cinelerra/cinelerra/videodevice.C 2011-02-17 13:41:53.239880001 -0500 -@@ -39,9 +39,9 @@ - #ifdef HAVE_FIREWIRE - #include "vdevice1394.h" - #endif --#include "vdevicebuz.h" -+//#include "vdevicebuz.h" - #include "vdevicedvb.h" --#include "vdevicev4l.h" -+//#include "vdevicev4l.h" - #include "vdevicev4l2.h" - #include "vdevicev4l2jpeg.h" - #include "vdevicex11.h" -@@ -203,7 +203,6 @@ - result = input_base->open_input(); - break; - -- - #ifdef HAVE_VIDEO4LINUX2 - case VIDEO4LINUX2: - new_device_base(); -@@ -250,8 +249,8 @@ - { - switch(in_config->driver) - { -- case VIDEO4LINUX: -- return input_base = new VDeviceV4L(this); -+ //case VIDEO4LINUX: -+ // return input_base = new VDeviceV4L(this); - - #ifdef HAVE_VIDEO4LINUX2 - case VIDEO4LINUX2: -@@ -264,8 +263,8 @@ - case SCREENCAPTURE: - return input_base = new VDeviceX11(this, 0); - -- case CAPTURE_BUZ: -- return input_base = new VDeviceBUZ(this); -+ //case CAPTURE_BUZ: -+ // return input_base = new VDeviceBUZ(this); - - #ifdef HAVE_FIREWIRE - case CAPTURE_FIREWIRE: -@@ -662,9 +661,9 @@ - //printf("VideoDevice::open_output 1 %d\n", out_config->driver); - switch(out_config->driver) - { -- case PLAYBACK_BUZ: -- output_base = new VDeviceBUZ(this); -- break; -+ //case PLAYBACK_BUZ: -+ // output_base = new VDeviceBUZ(this); -+ // break; - case PLAYBACK_X11: - case PLAYBACK_X11_XV: - case PLAYBACK_X11_GL: -diff -Nru cinelerra.orig//cinelerra/videodevice.h cinelerra/cinelerra/videodevice.h ---- cinelerra.orig//cinelerra/videodevice.h 2010-11-24 18:18:03.000000000 -0500 -+++ cinelerra/cinelerra/videodevice.h 2011-02-17 13:31:30.167880002 -0500 -@@ -40,9 +40,9 @@ - #include "thread.h" - #include "picture.inc" - #include "vdevicebase.inc" --#include "vdevicebuz.inc" -+//#include "vdevicebuz.inc" - #include "vdevicelml.inc" --#include "vdevicev4l.inc" -+//#include "vdevicev4l.inc" - #include "vdevicex11.inc" - #include "videoconfig.inc" - #include "videowindow.inc" - diff --git a/multimedia/cinelerra/cinelerra.SlackBuild b/multimedia/cinelerra/cinelerra.SlackBuild index d4c95b7c4a77e..5e2f369ca08d9 100644 --- a/multimedia/cinelerra/cinelerra.SlackBuild +++ b/multimedia/cinelerra/cinelerra.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=cinelerra -VERSION=${VERSION:-cv_2.1.5} +VERSION=${VERSION:-cv_2.2} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -66,7 +66,7 @@ rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* cd $PRGNAM chown -R root:root . find . \ @@ -75,13 +75,13 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Patches (from gentoo repository) for drop v4l1 support and fix from upstream to build with ffmpeg trunk. +# Patches (from gentoo repository) # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/cinelerra/files/ -patch -p1 < $CWD/ffmpeg.patch -patch -p1 < $CWD/cinelerra-v4l1_removal.patch +for i in $CWD/patches/* ; do patch -p1 < $i ; done ./autogen.sh +LDFLAGS="-ldl" \ CFLAGS="$SLKCFLAGS -D__STDC_CONSTANT_MACROS" \ CXXFLAGS="$SLKCFLAGS -D__STDC_CONSTANT_MACROS" \ ./configure \ diff --git a/multimedia/cinelerra/cinelerra.info b/multimedia/cinelerra/cinelerra.info index e6204adb05174..fd2eab98d0815 100644 --- a/multimedia/cinelerra/cinelerra.info +++ b/multimedia/cinelerra/cinelerra.info @@ -1,7 +1,7 @@ PRGNAM="cinelerra" -VERSION="cv_2.1.5" +VERSION="cv_2.2" HOMEPAGE="http://cinelerra.org/" -DOWNLOAD="http://www.ginoepri.com/linux/cinelerra-cv_2.1.5.tar.gz" +DOWNLOAD="" MD5SUM="e79452b6a6682005fa7b90248aebe32f" DOWNLOAD_x86_64="" MD5SUM_x86_64="" diff --git a/multimedia/cinelerra/patches/cinelerra-ffmpeg-0.11.patch b/multimedia/cinelerra/patches/cinelerra-ffmpeg-0.11.patch new file mode 100644 index 0000000000000..6d59cc8408ed7 --- /dev/null +++ b/multimedia/cinelerra/patches/cinelerra-ffmpeg-0.11.patch @@ -0,0 +1,156 @@ +Let it build with ffmpeg-0.11 + +Index: cinelerra-20111223/cinelerra/ffmpeg.C +=================================================================== +--- cinelerra-20111223.orig/cinelerra/ffmpeg.C ++++ cinelerra-20111223/cinelerra/ffmpeg.C +@@ -23,7 +23,6 @@ FFMPEG::FFMPEG(Asset *asset) { + + int FFMPEG::init(char *codec_string) { + +- avcodec_init(); + avcodec_register_all(); + + CodecID id = codec_id(codec_string); +Index: cinelerra-20111223/cinelerra/fileac3.C +=================================================================== +--- cinelerra-20111223.orig/cinelerra/fileac3.C ++++ cinelerra-20111223/cinelerra/fileac3.C +@@ -84,7 +84,6 @@ int FileAC3::open_file(int rd, int wr) + + if(wr) + { +- avcodec_init(); + avcodec_register_all(); + codec = avcodec_find_encoder(CODEC_ID_AC3); + if(!codec) +Index: cinelerra-20111223/configure.in +=================================================================== +--- cinelerra-20111223.orig/configure.in ++++ cinelerra-20111223/configure.in +@@ -338,7 +338,7 @@ AC_SUBST(CPU_CFLAGS) + AC_ARG_WITH([external-ffmpeg], AC_HELP_STRING([--with-external-ffmpeg], [use external ffmpeg library])) + + if test "x$with_external_ffmpeg" = "xyes"; then +- PKG_CHECK_MODULES([FFMPEG_TEMP], [libavcodec libpostproc]) ++ PKG_CHECK_MODULES([FFMPEG_TEMP], [libavcodec libpostproc libavutil]) + FFMPEG_FOLDER="" + FFMPEG_EXTERNALTEXT="External ffmpeg" + +@@ -356,10 +356,10 @@ if test "x$with_external_ffmpeg" = "xyes + AC_MSG_RESULT($enable_ffmpeg_swscale) + if test x"$enable_ffmpeg_swscale" = xyes; then + dnl AC_DEFINE(HAVE_SWSCALER) +- PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc libswscale]) ++ PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc libswscale libavutil]) + FFMPEG_CFLAGS="$FFMPEG_CFLAGS -I/usr/include/libavcodec -I/usr/include/libswscale -DHAVE_SWSCALER" + else +- PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc]) ++ PKG_CHECK_MODULES([FFMPEG], [libavcodec libpostproc libavutil]) + fi + FFMPEG_EXTERNALTEXT="External ffmpeg" + else +Index: cinelerra-20111223/quicktime/mpeg4.c +=================================================================== +--- cinelerra-20111223.orig/quicktime/mpeg4.c ++++ cinelerra-20111223/quicktime/mpeg4.c +@@ -8,6 +8,7 @@ + + + #include "libavcodec/avcodec.h" ++#include "libavutil/dict.h" + #include "colormodels.h" + #include "funcprotos.h" + #include "qtffmpeg.h" +@@ -624,12 +625,12 @@ static int encode(quicktime_t *file, uns + else + // ffmpeg section + { ++ AVDictionary ** opts = NULL; + static char *video_rc_eq="tex^qComp"; + codec->encode_initialized[current_field] = 1; + if(!ffmpeg_initialized) + { + ffmpeg_initialized = 1; +- avcodec_init(); + avcodec_register_all(); + } + +@@ -673,8 +674,10 @@ static int encode(quicktime_t *file, uns + context->b_quant_offset = 1.25; + #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) + context->error_resilience = FF_ER_CAREFUL; +-#else ++#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; +@@ -699,7 +702,7 @@ static int encode(quicktime_t *file, uns + context->profile= FF_PROFILE_UNKNOWN; + context->rc_buffer_aggressivity = 1.0; + context->level= FF_LEVEL_UNKNOWN; +- context->flags |= CODEC_FLAG_H263P_UMV; ++ av_dict_set(opts, "umv", "1", 0); + context->flags |= CODEC_FLAG_AC_PRED; + + // All the forbidden settings can be extracted from libavcodec/mpegvideo.c of ffmpeg... +@@ -717,10 +720,8 @@ static int encode(quicktime_t *file, uns + (codec->ffmpeg_id == CODEC_ID_MPEG4 || + codec->ffmpeg_id == CODEC_ID_MPEG1VIDEO || + codec->ffmpeg_id == CODEC_ID_MPEG2VIDEO || +- codec->ffmpeg_id == CODEC_ID_H263P || +- codec->ffmpeg_id == CODEC_FLAG_H263P_SLICE_STRUCT)) ++ codec->ffmpeg_id == CODEC_ID_H263P )) + { +- avcodec_thread_init(context, file->cpus); + context->thread_count = file->cpus; + } + +@@ -740,7 +741,7 @@ static int encode(quicktime_t *file, uns + * codec->fix_bitrate, + * codec->quantizer); + */ +- avcodec_open(context, codec->encoder[current_field]); ++ avcodec_open2(context, codec->encoder[current_field], opts); + + avcodec_get_frame_defaults(&codec->picture[current_field]); + +Index: cinelerra-20111223/quicktime/qtffmpeg.c +=================================================================== +--- cinelerra-20111223.orig/quicktime/qtffmpeg.c ++++ cinelerra-20111223/quicktime/qtffmpeg.c +@@ -54,7 +54,6 @@ quicktime_ffmpeg_t* quicktime_new_ffmpeg + if(!ffmpeg_initialized) + { + ffmpeg_initialized = 1; +- avcodec_init(); + avcodec_register_all(); + } + +@@ -90,10 +89,8 @@ quicktime_ffmpeg_t* quicktime_new_ffmpeg + (ffmpeg_id == CODEC_ID_MPEG4 || + ffmpeg_id == CODEC_ID_MPEG1VIDEO || + ffmpeg_id == CODEC_ID_MPEG2VIDEO || +- ffmpeg_id == CODEC_ID_H263P || +- ffmpeg_id == CODEC_FLAG_H263P_SLICE_STRUCT)) ++ ffmpeg_id == CODEC_ID_H263P )) + { +- avcodec_thread_init(context, cpus); + context->thread_count = cpus; + } + if(avcodec_open(context, +Index: cinelerra-20111223/quicktime/wma.c +=================================================================== +--- cinelerra-20111223.orig/quicktime/wma.c ++++ cinelerra-20111223/quicktime/wma.c +@@ -67,7 +67,6 @@ static int init_decode(quicktime_audio_m + if(!ffmpeg_initialized) + { + ffmpeg_initialized = 1; +- avcodec_init(); + avcodec_register_all(); + } + diff --git a/multimedia/cinelerra/ffmpeg.patch b/multimedia/cinelerra/patches/cinelerra-ffmpeg.patch index fa67e732b5b6d..6f7962fb1a54e 100644 --- a/multimedia/cinelerra/ffmpeg.patch +++ b/multimedia/cinelerra/patches/cinelerra-ffmpeg.patch @@ -1,9 +1,9 @@ Fix build with ffmpeg/libav trunk / 0.7 -Index: cinelerra/cinelerra/ffmpeg.C +Index: cinelerra-20101104/cinelerra/ffmpeg.C =================================================================== ---- cinelerra.orig/cinelerra/ffmpeg.C -+++ cinelerra/cinelerra/ffmpeg.C +--- cinelerra-20101104.orig/cinelerra/ffmpeg.C ++++ cinelerra-20101104/cinelerra/ffmpeg.C @@ -364,12 +364,15 @@ int FFMPEG::decode(uint8_t *data, long d // NOTE: frame must already have data space allocated @@ -23,10 +23,10 @@ Index: cinelerra/cinelerra/ffmpeg.C if (length < 0) { printf("FFMPEG::decode error decoding frame\n"); -Index: cinelerra/quicktime/qtffmpeg.c +Index: cinelerra-20101104/quicktime/qtffmpeg.c =================================================================== ---- cinelerra.orig/quicktime/qtffmpeg.c -+++ cinelerra/quicktime/qtffmpeg.c +--- cinelerra-20101104.orig/quicktime/qtffmpeg.c ++++ cinelerra-20101104/quicktime/qtffmpeg.c @@ -181,6 +181,7 @@ static int decode_wrapper(quicktime_t *f if(!result) @@ -52,10 +52,10 @@ Index: cinelerra/quicktime/qtffmpeg.c -Index: cinelerra/quicktime/wma.c +Index: cinelerra-20101104/quicktime/wma.c =================================================================== ---- cinelerra.orig/quicktime/wma.c -+++ cinelerra/quicktime/wma.c +--- cinelerra-20101104.orig/quicktime/wma.c ++++ cinelerra-20101104/quicktime/wma.c @@ -195,11 +195,14 @@ printf("decode 2 %x %llx %llx\n", chunk_ chunk_size); #else |