summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--multimedia/cinelerra/cinelerra-v4l1_removal.patch126
-rw-r--r--multimedia/cinelerra/cinelerra.SlackBuild10
-rw-r--r--multimedia/cinelerra/cinelerra.info4
-rw-r--r--multimedia/cinelerra/patches/cinelerra-ffmpeg-0.11.patch156
-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 285720dc41..0000000000
--- 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 d4c95b7c4a..5e2f369ca0 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 e6204adb05..fd2eab98d0 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 0000000000..6d59cc8408
--- /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 fa67e732b5..6f7962fb1a 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