diff options
author | Alexis Ballier <aballier@gentoo.org> | 2018-04-20 09:47:37 +0200 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2018-04-20 09:47:45 +0200 |
commit | 01012eb22472e49c9acc51f256dd56de65f9efac (patch) | |
tree | f6ebfbe427fa8a82682b1de6069c932033106af8 /media-video | |
parent | media-video/mplayer: upstream fix to build with ffmpeg4 (diff) | |
download | gentoo-01012eb22472e49c9acc51f256dd56de65f9efac.tar.gz gentoo-01012eb22472e49c9acc51f256dd56de65f9efac.tar.bz2 gentoo-01012eb22472e49c9acc51f256dd56de65f9efac.zip |
media-video/cinelerra: fix buidl with ffmepg4
Package-Manager: Portage-2.3.31, Repoman-2.3.9
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/cinelerra/cinelerra-2.3.ebuild | 6 | ||||
-rw-r--r-- | media-video/cinelerra/files/ffmpeg4.patch | 83 |
2 files changed, 88 insertions, 1 deletions
diff --git a/media-video/cinelerra/cinelerra-2.3.ebuild b/media-video/cinelerra/cinelerra-2.3.ebuild index 9bb4a4e74fda..f3c12f6b4513 100644 --- a/media-video/cinelerra/cinelerra-2.3.ebuild +++ b/media-video/cinelerra/cinelerra-2.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -77,6 +77,10 @@ src_prepare() { epatch "${WORKDIR}"/${P}-patchset/${PN}-ffmpeg29.patch fi + if has_version '>=media-video/ffmpeg-3.5' ; then + epatch "${FILESDIR}/ffmpeg4.patch" + fi + eautoreconf } diff --git a/media-video/cinelerra/files/ffmpeg4.patch b/media-video/cinelerra/files/ffmpeg4.patch new file mode 100644 index 000000000000..982073e138bc --- /dev/null +++ b/media-video/cinelerra/files/ffmpeg4.patch @@ -0,0 +1,83 @@ +Index: CinelerraCV-2.3/quicktime/mpeg4.c +=================================================================== +--- CinelerraCV-2.3.orig/quicktime/mpeg4.c ++++ CinelerraCV-2.3/quicktime/mpeg4.c +@@ -625,7 +625,6 @@ static int encode(quicktime_t *file, uns + // ffmpeg section + { + AVDictionary ** opts = NULL; +- static char *video_rc_eq="tex^qComp"; + codec->encode_initialized[current_field] = 1; + if(!ffmpeg_initialized) + { +@@ -650,7 +649,6 @@ static int encode(quicktime_t *file, uns + context->pix_fmt = AV_PIX_FMT_YUV420P; + context->bit_rate = codec->bitrate / codec->total_fields; + context->bit_rate_tolerance = codec->bitrate_tolerance; +- context->rc_eq = video_rc_eq; + context->rc_max_rate = 0; + context->rc_min_rate = 0; + context->rc_buffer_size = 0; +@@ -658,8 +656,6 @@ static int encode(quicktime_t *file, uns + (!codec->fix_bitrate ? codec->quantizer : 2); + context->qmax = + (!codec->fix_bitrate ? codec->quantizer : 31); +- context->lmin = 2 * FF_QP2LAMBDA; +- context->lmax = 31 * FF_QP2LAMBDA; + context->mb_lmin = 2 * FF_QP2LAMBDA; + context->mb_lmax = 31 * FF_QP2LAMBDA; + context->max_qdiff = 3; +@@ -680,8 +676,6 @@ static int encode(quicktime_t *file, uns + context->frame_skip_cmp = FF_CMP_DCTMAX; + context->ildct_cmp = FF_CMP_VSAD; + context->intra_dc_precision = 0; +- context->intra_quant_bias = FF_DEFAULT_QUANT_BIAS; +- context->inter_quant_bias = FF_DEFAULT_QUANT_BIAS; + context->i_quant_factor = -0.8; + context->i_quant_offset = 0.0; + context->mb_decision = FF_MB_DECISION_SIMPLE; +@@ -689,18 +683,14 @@ static int encode(quicktime_t *file, uns + context->me_sub_cmp = FF_CMP_SAD; + context->me_cmp = FF_CMP_SAD; + context->me_pre_cmp = FF_CMP_SAD; +- context->me_method = ME_EPZS; + context->me_subpel_quality = 8; + context->me_penalty_compensation = 256; + context->me_range = 0; +- context->me_threshold = 0; +- context->mb_threshold = 0; + context->nsse_weight= 8; + context->profile= FF_PROFILE_UNKNOWN; +- context->rc_buffer_aggressivity = 1.0; + context->level= FF_LEVEL_UNKNOWN; + av_dict_set(opts, "umv", "1", 0); +- context->flags |= CODEC_FLAG_AC_PRED; ++ context->flags |= AV_CODEC_FLAG_AC_PRED; + + // All the forbidden settings can be extracted from libavcodec/mpegvideo.c of ffmpeg... + +@@ -709,7 +699,7 @@ static int encode(quicktime_t *file, uns + codec->ffmpeg_id == AV_CODEC_ID_H263 || + codec->ffmpeg_id == AV_CODEC_ID_H263P || + codec->ffmpeg_id == AV_CODEC_ID_FLV1) +- context->flags |= CODEC_FLAG_4MV; ++ context->flags |= AV_CODEC_FLAG_4MV; + // Not compatible with Win + // context->flags |= CODEC_FLAG_QPEL; + +@@ -723,12 +713,12 @@ static int encode(quicktime_t *file, uns + } + + if(!codec->fix_bitrate) +- context->flags |= CODEC_FLAG_QSCALE; ++ context->flags |= AV_CODEC_FLAG_QSCALE; + + if(codec->interlaced) + { +- context->flags |= CODEC_FLAG_INTERLACED_DCT; +- context->flags |= CODEC_FLAG_INTERLACED_ME; ++ context->flags |= AV_CODEC_FLAG_INTERLACED_DCT; ++ context->flags |= AV_CODEC_FLAG_INTERLACED_ME; + } + + |