slackbuilds_ponce/multimedia/cinelerra/patches/04-cinelerra-ffmpeg-0.11.patch
Matteo Bernardini 791a83b86e multimedia/cinelerra: Added some patches from Gentoo.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
2013-11-19 01:10:59 -06:00

156 lines
5.5 KiB
Diff

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