diff options
author | Heinz Wiesinger <pprkut@slackbuilds.org> | 2013-11-03 12:01:45 +0100 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2013-11-04 00:46:03 -0600 |
commit | b922de3c1feb6bdd69db8d52151d9df51964f885 (patch) | |
tree | febff71258c19d7e4ce0fb70594bb9de08bb5e6b /multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch | |
parent | 53d4d93210e67f9f67ca40bdcea5121bcedb899d (diff) |
multimedia/transcode: Fix building with new ffmpeg.
Signed-off-by: Heinz Wiesinger <pprkut@slackbuilds.org>
Diffstat (limited to 'multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch')
-rw-r--r-- | multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch | 279 |
1 files changed, 224 insertions, 55 deletions
diff --git a/multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch b/multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch index 1f4d7d5f66446..871d073feadea 100644 --- a/multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch +++ b/multimedia/transcode/transcode-1.1.7-ffmpeg-0.11.patch @@ -1,91 +1,260 @@ -Source: written by Ionut Biru <ibiru@archlinux.org>, from ArchLinux -Upstream: no -URLs: http://mailman.archlinux.org/pipermail/arch-commits/2012-July/172438.html -Reason: Fix compilation with media/ffmpeg[>=0.11] -diff -Naur transcode-1.1.7/export/export_ffmpeg.c fixed-tc/export/export_ffmpeg.c ---- transcode-1.1.7/export/export_ffmpeg.c 2011-11-19 11:50:27.000000000 -0500 -+++ fixed-tc/export/export_ffmpeg.c 2012-07-05 16:22:41.095346080 -0400 -@@ -180,7 +180,7 @@ - +Fix build with ffmpeg 0.11. +https://bugs.gentoo.org/show_bug.cgi?id=419551 +Author: Brennan Shacklett +diff -urN transcode-1.1.7-orig/encode/encode_lavc.c transcode-1.1.7/encode/encode_lavc.c +--- transcode-1.1.7-orig/encode/encode_lavc.c 2011-11-19 08:50:27.000000000 -0800 ++++ transcode-1.1.7/encode/encode_lavc.c 2012-07-03 10:47:03.528009149 -0700 +@@ -114,6 +114,7 @@ + + AVFrame ff_venc_frame; + AVCodecContext ff_vcontext; ++ AVDictionary ** ff_opts; + + AVCodec *ff_vcodec; + +@@ -1036,14 +1037,10 @@ + SET_FLAG(pd, mv0); + SET_FLAG(pd, cbp); + SET_FLAG(pd, qpel); +- SET_FLAG(pd, alt); +- SET_FLAG(pd, vdpart); + SET_FLAG(pd, naq); + SET_FLAG(pd, ilme); + SET_FLAG(pd, ildct); + SET_FLAG(pd, aic); +- SET_FLAG(pd, aiv); +- SET_FLAG(pd, umv); + SET_FLAG(pd, psnr); + SET_FLAG(pd, trell); + SET_FLAG(pd, gray); +@@ -1064,6 +1061,18 @@ + pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_DCT; + pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME; + } ++ if (pd->confdata.flags.alt) { ++ av_dict_set(pd->ff_opts, "alternate_scan", "1", 0); ++ } ++ if (pd->confdata.flags.vdpart) { ++ av_dict_set(pd->ff_opts, "data_partitioning", "1", 0); ++ } ++ if (pd->confdata.flags.umv) { ++ av_dict_set(pd->ff_opts, "umv", "1", 0); ++ } ++ if (pd->confdata.flags.aiv) { ++ av_dict_set(pd->ff_opts, "aiv", "1", 0); ++ } + } + + #undef SET_FLAG +@@ -1184,18 +1193,18 @@ + { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 }, + { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD }, + { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL }, +- { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN }, ++ { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 }, + { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME }, + { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_DCT }, + { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_NORMALIZE_AQP }, +- { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART }, ++ { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, 1 }, + #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) + { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC }, + #else + { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED }, + #endif +- { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIV }, +- { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV }, ++ { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, 1 }, ++ { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, 1 }, + { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR }, + #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) + { "trell", PAUX(flags.trell), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT }, +@@ -1387,7 +1396,7 @@ + pd->confdata.thread_count, + (pd->confdata.thread_count > 1) ?"s" :""); + } +- avcodec_thread_init(&pd->ff_vcontext, pd->confdata.thread_count); ++ pd->ff_vcontext.thread_count = pd->confdata.thread_count; + + pd->ff_vcodec = avcodec_find_encoder(FF_VCODEC_ID(pd)); + if (pd->ff_vcodec == NULL) { +@@ -1397,11 +1406,11 @@ + } + + TC_LOCK_LIBAVCODEC; +- ret = avcodec_open(&pd->ff_vcontext, pd->ff_vcodec); ++ ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, pd->ff_opts); + TC_UNLOCK_LIBAVCODEC; + + if (ret < 0) { +- tc_log_error(MOD_NAME, "avcodec_open() failed"); ++ tc_log_error(MOD_NAME, "avcodec_open2() failed"); + goto failed; + } + /* finally, pass up the extradata, if any */ +diff -urN transcode-1.1.7-orig/export/export_ffmpeg.c transcode-1.1.7/export/export_ffmpeg.c +--- transcode-1.1.7-orig/export/export_ffmpeg.c 2011-11-19 08:50:27.000000000 -0800 ++++ transcode-1.1.7/export/export_ffmpeg.c 2012-07-03 13:15:23.918019415 -0700 +@@ -122,6 +122,7 @@ + static AVFrame *lavc_convert_frame = NULL; + + static AVCodec *lavc_venc_codec = NULL; ++static AVDictionary **lavc_venc_opts = NULL; + static AVFrame *lavc_venc_frame = NULL; + static AVCodecContext *lavc_venc_context; + static avi_t *avifile = NULL; +@@ -180,7 +181,7 @@ + + /* START: COPIED FROM ffmpeg-0.5_p22846(ffmpeg.c, cmdutils.c) */ -#include <libavcodec/opt.h> +#include <libavutil/opt.h> #include <libavutil/avstring.h> #include <libswscale/swscale.h> - -@@ -470,7 +470,6 @@ + +@@ -470,7 +471,6 @@ } - + TC_LOCK_LIBAVCODEC; - avcodec_init(); avcodec_register_all(); TC_UNLOCK_LIBAVCODEC; - -@@ -634,7 +633,6 @@ + +@@ -634,7 +634,7 @@ lavc_param_rc_max_rate = 2516; lavc_param_rc_buffer_size = 224 * 8; lavc_param_rc_buffer_aggressivity = 99; - lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET; - ++ lavc_param_scan_offset = 1; + break; - -@@ -674,7 +673,6 @@ - + +@@ -674,7 +674,7 @@ + lavc_param_rc_buffer_size = 224 * 8; lavc_param_rc_buffer_aggressivity = 99; - lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET; - ++ lavc_param_scan_offset = 1; + break; - -diff -Naur transcode-1.1.7/export/ffmpeg_cfg.c fixed-tc/export/ffmpeg_cfg.c ---- transcode-1.1.7/export/ffmpeg_cfg.c 2011-11-19 11:50:27.000000000 -0500 -+++ fixed-tc/export/ffmpeg_cfg.c 2012-07-05 15:26:29.112103273 -0400 -@@ -160,9 +160,7 @@ + +@@ -887,7 +887,7 @@ + lavc_venc_context->thread_count); + } + +- avcodec_thread_init(lavc_venc_context, lavc_param_threads); ++ lavc_venc_context->thread_count = lavc_param_threads; + + if (lavc_param_intra_matrix) { + char *tmp; +@@ -1065,15 +1065,10 @@ + lavc_venc_context->flags |= lavc_param_closedgop; + lavc_venc_context->flags |= lavc_param_trunc; + lavc_venc_context->flags |= lavc_param_aic; +- lavc_venc_context->flags |= lavc_param_umv; + lavc_venc_context->flags |= lavc_param_v4mv; +- lavc_venc_context->flags |= lavc_param_data_partitioning; + lavc_venc_context->flags |= lavc_param_cbp; + lavc_venc_context->flags |= lavc_param_mv0; + lavc_venc_context->flags |= lavc_param_qp_rd; +- lavc_venc_context->flags |= lavc_param_scan_offset; +- lavc_venc_context->flags |= lavc_param_ss; +- lavc_venc_context->flags |= lavc_param_alt; + lavc_venc_context->flags |= lavc_param_ilme; + #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) + lavc_venc_context->flags |= lavc_param_trell; +@@ -1203,7 +1198,6 @@ + + lavc_venc_context->me_method = ME_ZERO + lavc_param_vme; + +- + /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */ + if (lavc_param_video_preset) { + avcodec_opts[AVMEDIA_TYPE_VIDEO] = lavc_venc_context; +@@ -1241,20 +1235,39 @@ + } + } + ++ if (lavc_param_scan_offset) { ++ av_dict_set(lavc_venc_opts, "scan_offset", "1", 0); ++ } ++ ++ if (lavc_param_ss) { ++ av_dict_set(lavc_venc_opts, "structured_slices", "1", 0); ++ } ++ ++ if (lavc_param_alt) { ++ av_dict_set(lavc_venc_opts, "alternate_scan", "1", 0); ++ } ++ ++ if (lavc_param_umv) { ++ av_dict_set(lavc_venc_opts, "umv", "1", 0); ++ } ++ ++ if (lavc_param_data_partitioning) { ++ av_dict_set(lavc_venc_opts, "vdpart", "1", 0); ++ } + + //-- open codec -- + //---------------- + TC_LOCK_LIBAVCODEC; +- ret = avcodec_open(lavc_venc_context, lavc_venc_codec); ++ ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, lavc_venc_opts); + TC_UNLOCK_LIBAVCODEC; + if (ret < 0) { + tc_log_warn(MOD_NAME, "could not open FFMPEG codec"); + return TC_EXPORT_ERROR; + } + +- if (lavc_venc_context->codec->encode == NULL) { ++ if (av_codec_is_encoder(lavc_venc_context->codec) == 0) { + tc_log_warn(MOD_NAME, "could not open FFMPEG codec " +- "(lavc_venc_context->codec->encode == NULL)"); ++ "(av_codec_is_encoder(lavc_venc_context->codec) == 0)"); + return TC_EXPORT_ERROR; + } + +diff -urN transcode-1.1.7-orig/export/ffmpeg_cfg.c transcode-1.1.7/export/ffmpeg_cfg.c +--- transcode-1.1.7-orig/export/ffmpeg_cfg.c 2011-11-19 08:50:27.000000000 -0800 ++++ transcode-1.1.7/export/ffmpeg_cfg.c 2012-07-03 10:09:25.011003254 -0700 +@@ -160,9 +160,9 @@ {"vcelim", &lavc_param_chroma_elim_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99}, {"vpsize", &lavc_param_packet_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000}, {"vstrict", &lavc_param_strict, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99}, - {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART}, ++ {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, 1}, // {"keyint", &lavc_param_keyint, TCCONF_TYPE_INT, 0, 0, 0}, - {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART}, ++ {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY}, {"mpeg_quant", &lavc_param_mpeg_quant, TCCONF_TYPE_FLAG, 0, 0, 1}, {"vi_qfactor", &lavc_param_vi_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0}, {"vi_qoffset", &lavc_param_vi_qoffset, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0}, -@@ -211,7 +211,6 @@ +@@ -211,7 +211,7 @@ #else {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED}, #endif - {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV}, ++ {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, 1}, {"ibias", &lavc_param_ibias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512}, {"pbias", &lavc_param_pbias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512}, {"coder", &lavc_param_coder, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10}, -@@ -223,9 +223,6 @@ +@@ -223,9 +223,9 @@ {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000}, {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QP_RD}, {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16}, - {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_SLICE_STRUCT}, - {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_SVCD_SCAN_OFFSET}, - {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN}, ++ {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1}, ++ {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1}, ++ {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, 1}, {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME}, {"inter_threshold", &lavc_param_inter_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000}, {"sc_threshold", &lavc_param_sc_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000}, -diff -Naur transcode-1.1.7/filter/filter_pp.c fixed-tc/filter/filter_pp.c ---- transcode-1.1.7/filter/filter_pp.c 2011-11-19 11:50:27.000000000 -0500 -+++ fixed-tc/filter/filter_pp.c 2012-07-05 15:26:28.945436613 -0400 -@@ -38,8 +38,8 @@ - - /* FIXME: these use the filter ID as an index--the ID can grow - * arbitrarily large, so this needs to be fixed */ --static pp_mode_t *mode[100]; --static pp_context_t *context[100]; -+static pp_mode *mode[100]; -+static pp_context *context[100]; - static int width[100], height[100]; - static int pre[100]; - -diff -Naur transcode-1.1.7/import/decode_lavc.c fixed-tc/import/decode_lavc.c ---- transcode-1.1.7/import/decode_lavc.c 2011-11-19 11:50:27.000000000 -0500 -+++ fixed-tc/import/decode_lavc.c 2012-07-05 15:26:28.842103278 -0400 +diff -urN transcode-1.1.7-orig/import/decode_lavc.c transcode-1.1.7/import/decode_lavc.c +--- transcode-1.1.7-orig/import/decode_lavc.c 2011-11-19 08:50:27.000000000 -0800 ++++ transcode-1.1.7/import/decode_lavc.c 2012-07-03 10:21:46.085005182 -0700 @@ -181,7 +181,7 @@ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) lavc_dec_context->error_resilience = 2; @@ -95,9 +264,9 @@ diff -Naur transcode-1.1.7/import/decode_lavc.c fixed-tc/import/decode_lavc.c #endif lavc_dec_context->error_concealment = 3; lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT; -diff -Naur transcode-1.1.7/import/import_ffmpeg.c fixed-tc/import/import_ffmpeg.c ---- transcode-1.1.7/import/import_ffmpeg.c 2011-11-19 11:50:27.000000000 -0500 -+++ fixed-tc/import/import_ffmpeg.c 2012-07-05 15:26:28.848769946 -0400 +diff -urN transcode-1.1.7-orig/import/import_ffmpeg.c transcode-1.1.7/import/import_ffmpeg.c +--- transcode-1.1.7-orig/import/import_ffmpeg.c 2011-11-19 08:50:27.000000000 -0800 ++++ transcode-1.1.7/import/import_ffmpeg.c 2012-07-03 10:19:36.936004841 -0700 @@ -314,7 +314,7 @@ #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) lavc_dec_context->error_resilience = 2; @@ -107,13 +276,13 @@ diff -Naur transcode-1.1.7/import/import_ffmpeg.c fixed-tc/import/import_ffmpeg. #endif lavc_dec_context->error_concealment = 3; lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT; -diff -Naur transcode-1.1.7/import/probe_ffmpeg.c fixed-tc/import/probe_ffmpeg.c ---- transcode-1.1.7/import/probe_ffmpeg.c 2011-11-19 11:50:27.000000000 -0500 -+++ fixed-tc/import/probe_ffmpeg.c 2012-07-05 15:26:28.838769947 -0400 +diff -urN transcode-1.1.7-orig/import/probe_ffmpeg.c transcode-1.1.7/import/probe_ffmpeg.c +--- transcode-1.1.7-orig/import/probe_ffmpeg.c 2011-11-19 08:50:27.000000000 -0800 ++++ transcode-1.1.7/import/probe_ffmpeg.c 2012-07-03 10:41:42.782008306 -0700 @@ -99,8 +99,8 @@ - + TC_INIT_LIBAVCODEC; - + - ret = av_open_input_file(&lavf_dmx_context, ipipe->name, - NULL, 0, NULL); + ret = avformat_open_input(&lavf_dmx_context, ipipe->name, @@ -121,11 +290,11 @@ diff -Naur transcode-1.1.7/import/probe_ffmpeg.c fixed-tc/import/probe_ffmpeg.c if (ret != 0) { tc_log_error(__FILE__, "unable to open '%s'" " (libavformat failure)", -diff -Naur transcode-1.1.7/libtc/tcavcodec.h fixed-tc/libtc/tcavcodec.h ---- transcode-1.1.7/libtc/tcavcodec.h 2011-11-19 11:50:27.000000000 -0500 -+++ fixed-tc/libtc/tcavcodec.h 2012-07-05 15:26:28.828769951 -0400 +diff -urN transcode-1.1.7-orig/libtc/tcavcodec.h transcode-1.1.7/libtc/tcavcodec.h +--- transcode-1.1.7-orig/libtc/tcavcodec.h 2011-11-19 08:50:27.000000000 -0800 ++++ transcode-1.1.7/libtc/tcavcodec.h 2012-07-03 10:34:43.648007213 -0700 @@ -53,7 +53,6 @@ - + #define TC_INIT_LIBAVCODEC do { \ TC_LOCK_LIBAVCODEC; \ - avcodec_init(); \ |