diff options
author | Alexis Ballier <aballier@gentoo.org> | 2013-10-12 08:12:45 +0000 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2013-10-12 08:12:45 +0000 |
commit | d781b99b290c5ef81dc1725db184d14015fb702c (patch) | |
tree | ff938d85f57f9a32242b6f3c4377c2694bf3faaf | |
parent | remove old (diff) | |
download | gentoo-2-d781b99b290c5ef81dc1725db184d14015fb702c.tar.gz gentoo-2-d781b99b290c5ef81dc1725db184d14015fb702c.tar.bz2 gentoo-2-d781b99b290c5ef81dc1725db184d14015fb702c.zip |
fix build with ffmpeg2 (again)
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 160F534A)
3 files changed, 136 insertions, 2 deletions
diff --git a/media-plugins/gst-plugins-libav/ChangeLog b/media-plugins/gst-plugins-libav/ChangeLog index a61d207b4de2..14a73652b150 100644 --- a/media-plugins/gst-plugins-libav/ChangeLog +++ b/media-plugins/gst-plugins-libav/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-plugins/gst-plugins-libav # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-libav/ChangeLog,v 1.30 2013/10/11 05:18:46 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-libav/ChangeLog,v 1.31 2013/10/12 08:12:45 aballier Exp $ + + 12 Oct 2013; Alexis Ballier <aballier@gentoo.org> + gst-plugins-libav-1.2.0.ebuild, +files/gst-plugins-libav-1.2.0-ffmpeg2.patch: + fix build with ffmpeg2 (again) 11 Oct 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: diff --git a/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.2.0-ffmpeg2.patch b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.2.0-ffmpeg2.patch new file mode 100644 index 000000000000..3deeea061512 --- /dev/null +++ b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.2.0-ffmpeg2.patch @@ -0,0 +1,120 @@ +Index: gst-libav-1.2.0/ext/libav/gstavauddec.c +=================================================================== +--- gst-libav-1.2.0.orig/ext/libav/gstavauddec.c ++++ gst-libav-1.2.0/ext/libav/gstavauddec.c +@@ -460,7 +460,7 @@ gst_ffmpegauddec_audio_frame (GstFFMpegA + GstBuffer ** outbuf, GstFlowReturn * ret) + { + gint len = -1; +- gint have_data = AVCODEC_MAX_AUDIO_FRAME_SIZE; ++ gint have_data = 0; + AVPacket packet; + AVFrame frame; + +Index: gst-libav-1.2.0/ext/libav/gstavaudenc.c +=================================================================== +--- gst-libav-1.2.0.orig/ext/libav/gstavaudenc.c ++++ gst-libav-1.2.0/ext/libav/gstavaudenc.c +@@ -289,7 +289,6 @@ gst_ffmpegaudenc_set_format (GstAudioEnc + ffmpegaudenc->context->coder_type = 0; + ffmpegaudenc->context->context_model = 0; + ffmpegaudenc->context->scenechange_threshold = 0; +- ffmpegaudenc->context->inter_threshold = 0; + + /* fetch pix_fmt and so on */ + gst_ffmpeg_audioinfo_to_context (info, ffmpegaudenc->context); +Index: gst-libav-1.2.0/ext/libav/gstavcfg.c +=================================================================== +--- gst-libav-1.2.0.orig/ext/libav/gstavcfg.c ++++ gst-libav-1.2.0/ext/libav/gstavcfg.c +@@ -171,13 +171,10 @@ gst_ffmpeg_idct_algo_get_type (void) + {FF_IDCT_INT, "JPEG reference Integer", "int"}, + {FF_IDCT_SIMPLE, "Simple", "simple"}, + {FF_IDCT_SIMPLEMMX, "Simple MMX", "simplemmx"}, +- {FF_IDCT_LIBMPEG2MMX, "LIBMPEG2MMX", "libmpeg2mmx"}, + {FF_IDCT_ARM, "ARM", "arm"}, + {FF_IDCT_ALTIVEC, "ALTIVEC", "altivec"}, + {FF_IDCT_SH4, "SH4", "sh4"}, + {FF_IDCT_SIMPLEARM, "SIMPLEARM", "simplearm"}, +- {FF_IDCT_H264, "H264", "h264"}, +- {FF_IDCT_VP3, "VP3", "vp3"}, + {FF_IDCT_IPP, "IPP", "ipp"}, + {FF_IDCT_XVIDMMX, "XVIDMMX", "xvidmmx"}, + {0, NULL, NULL}, +@@ -274,9 +271,6 @@ gst_ffmpeg_flags_get_type (void) + "global-headers"}, + {CODEC_FLAG_AC_PRED, "H263 Advanced Intra Coding / MPEG4 AC prediction", + "aic"}, +- {CODEC_FLAG_CBP_RD, "Rate Distoration Optimization for CBP", "cbp-rd"}, +- {CODEC_FLAG_QP_RD, "Rate Distoration Optimization for QP selection", +- "qp-rd"}, + {CODEC_FLAG_CLOSED_GOP, "Closed GOP", "closedgop"}, + {0, NULL, NULL}, + }; +@@ -564,18 +558,6 @@ gst_ffmpeg_cfg_init (void) + -100, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + gst_ffmpeg_add_pspec (pspec, max_key_interval, FALSE, mpeg, NULL); + +- pspec = g_param_spec_int ("luma-elim-threshold", +- "Luma Elimination Threshold", +- "Luma Single Coefficient Elimination Threshold", +- -99, 99, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); +- gst_ffmpeg_add_pspec (pspec, config.luma_elim_threshold, FALSE, mpeg, NULL); +- +- pspec = g_param_spec_int ("chroma-elim-threshold", +- "Chroma Elimination Threshold", +- "Chroma Single Coefficient Elimination Threshold", +- -99, 99, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); +- gst_ffmpeg_add_pspec (pspec, config.chroma_elim_threshold, FALSE, mpeg, NULL); +- + pspec = g_param_spec_float ("lumi-masking", "Luminance Masking", + "Luminance Masking", -1.0f, 1.0f, 0.0f, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); +Index: gst-libav-1.2.0/ext/libav/gstavcodecmap.c +=================================================================== +--- gst-libav-1.2.0.orig/ext/libav/gstavcodecmap.c ++++ gst-libav-1.2.0/ext/libav/gstavcodecmap.c +@@ -788,12 +788,10 @@ gst_ffmpeg_codecid_to_caps (enum AVCodec + break; + } + +- /* FIXME: context->sub_id must be filled in during decoding */ + caps = + gst_ff_vid_caps_new (context, NULL, codec_id, encode, + "video/x-pn-realvideo", "rmversion", G_TYPE_INT, version, NULL); + if (context) { +- gst_caps_set_simple (caps, "format", G_TYPE_INT, context->sub_id, NULL); + if (context->extradata_size >= 8) { + gst_caps_set_simple (caps, + "subformat", G_TYPE_INT, GST_READ_UINT32_BE (context->extradata), +@@ -2892,18 +2890,6 @@ gst_ffmpeg_caps_with_codecid (enum AVCod + } + break; + +- case AV_CODEC_ID_RV10: +- case AV_CODEC_ID_RV20: +- case AV_CODEC_ID_RV30: +- case AV_CODEC_ID_RV40: +- { +- gint format; +- +- if (gst_structure_get_int (str, "format", &format)) +- context->sub_id = format; +- +- break; +- } + case AV_CODEC_ID_COOK: + case AV_CODEC_ID_RA_288: + case AV_CODEC_ID_RA_144: +Index: gst-libav-1.2.0/ext/libav/gstavvidenc.c +=================================================================== +--- gst-libav-1.2.0.orig/ext/libav/gstavvidenc.c ++++ gst-libav-1.2.0/ext/libav/gstavvidenc.c +@@ -338,7 +338,6 @@ gst_ffmpegvidenc_set_format (GstVideoEnc + ffmpegenc->context->coder_type = 0; + ffmpegenc->context->context_model = 0; + ffmpegenc->context->scenechange_threshold = 0; +- ffmpegenc->context->inter_threshold = 0; + + /* and last but not least the pass; CBR, 2-pass, etc */ + ffmpegenc->context->flags |= ffmpegenc->pass; diff --git a/media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0.ebuild b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0.ebuild index 4f461642de01..3904f410e59b 100644 --- a/media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0.ebuild +++ b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0.ebuild,v 1.1 2013/09/29 21:15:29 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0.ebuild,v 1.2 2013/10/12 08:12:45 aballier Exp $ EAPI="5" @@ -31,6 +31,16 @@ S="${WORKDIR}/${MY_PN}-${PV}" src_prepare() { sed -e 's/sleep 15//' -i configure.ac configure || die + + # compatibility with recent releases + # TODO: likely apply them with libav-10 when it's out but there will + # probably be an upstream gst-libav release compatible at that time. + if has_version '>=media-video/ffmpeg-2.0' ; then + sed -i -e 's/ CODEC_ID/ AV_CODEC_ID/g' \ + -e 's/ CodecID/ AVCodecID/g' \ + ext/libav/*.{c,h} || die + epatch "${FILESDIR}/${P}-ffmpeg2.patch" + fi } src_configure() { |