multimedia/cinelerra: Updated for version cv_2.2.

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
Matteo Bernardini 2012-09-16 07:02:24 +02:00 committed by dsomero
parent 43c6222a6b
commit cdd811af8e
5 changed files with 172 additions and 142 deletions

View file

@ -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"

View file

@ -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 \

View file

@ -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=""

View file

@ -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();
}

View file

@ -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