-DIST gst-libav-1.2.4.tar.xz 4580144 SHA256 2a69480d63fc2db93249d9e2e229ab3541bbc2db881b0f64de13d0bfc7d1f037 SHA512 64b24f0995865bc736946ad0709b37d6557ce1b91359371c7aaf48d02a0cb486f3bf90b72f483c8ccb661cd5fb637564809bc92d070ad901576bae5b17db0273 WHIRLPOOL 94948887c9ff642ab7e87695acb19b2a210946dd1938776d7d653017fc5231c9144e48c3d467f8c893513a29976d4e8b88457ed44bb0849cdb6f721e1ea576b0
DIST gst-libav-1.4.5.tar.xz 5220508 SHA256 605c62624604f3bb5c870844cc1f2711779cc533b004c2aa1d8c0d58557afbbc SHA512 a2f9250a51440358d205ef160119498d52cf4944fe810e736e4561f2cdbb8dabad6220d6e4da507f013c42bea69ce72acc373982642278de0a03605bbcd4f75f WHIRLPOOL 075ad91101def8ee8958eaf3051390a76efa3860a4d6796b7f5f86f9b175ca493aa3094e59b24b19c59025337683178f43346e887d7b5efe46b0f9aeadcd28d2
+++ /dev/null
-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;
+++ /dev/null
---- ext/libav/gstavviddec.c
-+++ ext/libav/gstavviddec.c
-@@ -523,6 +523,7 @@ open_failed:
-
- typedef struct
- {
-+ GstFFMpegVidDec *ffmpegdec;
- GstVideoCodecFrame *frame;
- gboolean mapped;
- GstVideoFrame vframe;
-@@ -530,13 +531,17 @@ typedef struct
- } GstFFMpegVidDecVideoFrame;
-
- static GstFFMpegVidDecVideoFrame *
--gst_ffmpegviddec_video_frame_new (GstVideoCodecFrame * frame)
-+gst_ffmpegviddec_video_frame_new (GstFFMpegVidDec * ffmpegdec,
-+ GstVideoCodecFrame * frame)
- {
- GstFFMpegVidDecVideoFrame *dframe;
-
- dframe = g_slice_new0 (GstFFMpegVidDecVideoFrame);
-+ dframe->ffmpegdec = ffmpegdec;
- dframe->frame = frame;
-
-+ GST_DEBUG_OBJECT (ffmpegdec, "new video frame %p", dframe);
-+
- return dframe;
- }
-
-@@ -544,6 +549,8 @@ static void
- gst_ffmpegviddec_video_frame_free (GstFFMpegVidDec * ffmpegdec,
- GstFFMpegVidDecVideoFrame * frame)
- {
-+ GST_DEBUG_OBJECT (ffmpegdec, "free video frame %p", frame);
-+
- if (frame->mapped)
- gst_video_frame_unmap (&frame->vframe);
- gst_video_decoder_release_frame (GST_VIDEO_DECODER (ffmpegdec), frame->frame);
-@@ -551,6 +558,14 @@ gst_ffmpegviddec_video_frame_free (GstFFMpegVidDec * ffmpegdec,
- g_slice_free (GstFFMpegVidDecVideoFrame, frame);
- }
-
-+static void
-+dummy_free_buffer (void *opaque, uint8_t * data)
-+{
-+ GstFFMpegVidDecVideoFrame *frame = opaque;
-+
-+ gst_ffmpegviddec_video_frame_free (frame->ffmpegdec, frame);
-+}
-+
- /* called when ffmpeg wants us to allocate a buffer to write the decoded frame
- * into. We try to give it memory from our pool */
- static int
-@@ -589,7 +604,8 @@ gst_ffmpegviddec_get_buffer (AVCodecContext * context, AVFrame * picture)
- goto duplicate_frame;
-
- /* GstFFMpegVidDecVideoFrame receives the frame ref */
-- picture->opaque = dframe = gst_ffmpegviddec_video_frame_new (frame);
-+ picture->opaque = dframe =
-+ gst_ffmpegviddec_video_frame_new (ffmpegdec, frame);
-
- GST_DEBUG_OBJECT (ffmpegdec, "storing opaque %p", dframe);
-
-@@ -695,12 +711,20 @@ invalid_frame:
- fallback:
- {
- int c;
-+ gboolean first = TRUE;
- int ret = avcodec_default_get_buffer (context, picture);
-
- GST_LOG_OBJECT (ffmpegdec, "performing fallback alloc");
-- for (c = 0; c < AV_NUM_DATA_POINTERS; c++)
-+ for (c = 0; c < AV_NUM_DATA_POINTERS; c++) {
- ffmpegdec->stride[c] = picture->linesize[c];
-
-+ if (picture->buf[c] == NULL && first) {
-+ picture->buf[c] =
-+ av_buffer_create (NULL, 0, dummy_free_buffer, dframe, 0);
-+ first = FALSE;
-+ }
-+ }
-+
- return ret;
- }
- duplicate_frame:
-@@ -1684,8 +1718,8 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
- avcodec_align_dimensions2 (ffmpegdec->context, &width, &height,
- linesize_align);
- edge =
-- ffmpegdec->context->
-- flags & CODEC_FLAG_EMU_EDGE ? 0 : avcodec_get_edge_width ();
-+ ffmpegdec->
-+ context->flags & CODEC_FLAG_EMU_EDGE ? 0 : avcodec_get_edge_width ();
- /* increase the size for the padding */
- width += edge << 1;
- height += edge << 1;
+++ /dev/null
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit eutils flag-o-matic multilib-minimal
-
-MY_PN="gst-libav"
-DESCRIPTION="FFmpeg based gstreamer plugin"
-HOMEPAGE="http://gstreamer.freedesktop.org/modules/gst-libav.html"
-SRC_URI="http://gstreamer.freedesktop.org/src/${MY_PN}/${MY_PN}-${PV}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="1.0"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="libav +orc"
-
-RDEPEND="
- >=media-libs/gstreamer-1.2.3:1.0[${MULTILIB_USEDEP}]
- >=media-libs/gst-plugins-base-1.2.3:1.0[${MULTILIB_USEDEP}]
- libav? (
- <media-video/libav-10:0=[${MULTILIB_USEDEP}]
- >=media-video/libav-9.12:0=[${MULTILIB_USEDEP}] )
- !libav? ( >=media-video/ffmpeg-1.2.6-r1:0=[${MULTILIB_USEDEP}] )
- orc? ( >=dev-lang/orc-0.4.17[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.12
- >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- # 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}/${PN}-1.2.4-ffmpeg2.patch"
- epatch "${FILESDIR}/${PN}-1.2.4-fix-memory-leak.patch" #494282
- fi
-}
-
-multilib_src_configure() {
- GST_PLUGINS_BUILD=""
- # always use system ffmpeg/libav if possible
- ECONF_SOURCE=${S} \
- econf \
- --disable-maintainer-mode \
- --with-package-name="Gentoo GStreamer ebuild" \
- --with-package-origin="https://www.gentoo.org" \
- --disable-fatal-warnings \
- --with-system-libav \
- $(use_enable orc)
-}
-
-multilib_src_compile() {
- # Don't build with -Werror
- emake ERROR_CFLAGS=
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --modules
-}
-
-pkg_postinst() {
- if ! use libav; then
- elog "Please note that upstream uses media-video/libav"
- elog "rather than media-video/ffmpeg. If you encounter any"
- elog "issues try to move from ffmpeg to libav."
- fi
-}
+++ /dev/null
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit eutils flag-o-matic multilib-minimal
-
-MY_PN="gst-libav"
-DESCRIPTION="FFmpeg based gstreamer plugin"
-HOMEPAGE="http://gstreamer.freedesktop.org/modules/gst-libav.html"
-SRC_URI="http://gstreamer.freedesktop.org/src/${MY_PN}/${MY_PN}-${PV}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="1.0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="+orc"
-
-RDEPEND="
- >=media-libs/gstreamer-1.2.3:1.0[${MULTILIB_USEDEP}]
- >=media-libs/gst-plugins-base-1.2.3:1.0[${MULTILIB_USEDEP}]
- >=virtual/ffmpeg-9-r1[${MULTILIB_USEDEP}]
- !!>=media-video/libav-10
- orc? ( >=dev-lang/orc-0.4.17[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.12
- >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- # 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}/${PN}-1.2.4-ffmpeg2.patch"
- epatch "${FILESDIR}/${PN}-1.2.4-fix-memory-leak.patch" #494282
- fi
-}
-
-multilib_src_configure() {
- GST_PLUGINS_BUILD=""
- # always use system ffmpeg/libav if possible
- ECONF_SOURCE=${S} \
- econf \
- --disable-maintainer-mode \
- --with-package-name="Gentoo GStreamer ebuild" \
- --with-package-origin="https://www.gentoo.org" \
- --disable-fatal-warnings \
- --with-system-libav \
- $(use_enable orc)
-}
-
-multilib_src_compile() {
- # Don't build with -Werror
- emake ERROR_CFLAGS=
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --modules
-}
-
-pkg_postinst() {
- if has_version "media-video/ffmpeg"; then
- elog "Please note that upstream uses media-video/libav"
- elog "rather than media-video/ffmpeg. If you encounter any"
- elog "issues try to move from ffmpeg to libav."
- fi
-}
+++ /dev/null
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-inherit eutils flag-o-matic multilib-minimal
-
-MY_PN="gst-libav"
-DESCRIPTION="FFmpeg based gstreamer plugin"
-HOMEPAGE="http://gstreamer.freedesktop.org/modules/gst-libav.html"
-SRC_URI="http://gstreamer.freedesktop.org/src/${MY_PN}/${MY_PN}-${PV}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="1.0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="+orc"
-
-RDEPEND="
- >=media-libs/gstreamer-1.4.0:1.0[${MULTILIB_USEDEP}]
- >=media-libs/gst-plugins-base-1.4.0:1.0[${MULTILIB_USEDEP}]
- || ( >=media-video/ffmpeg-2.2:0[${MULTILIB_USEDEP}] >=media-video/libav-9[${MULTILIB_USEDEP}] )
- orc? ( >=dev-lang/orc-0.4.17[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- >=dev-util/gtk-doc-am-1.12
- >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
-"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- # https://bugzilla.gnome.org/show_bug.cgi?id=743984
- epatch "${FILESDIR}/${PN}-1.4.5-libav9.patch"
-}
-
-multilib_src_configure() {
- GST_PLUGINS_BUILD=""
- # always use system ffmpeg/libav if possible
- ECONF_SOURCE=${S} \
- econf \
- --disable-maintainer-mode \
- --with-package-name="Gentoo GStreamer ebuild" \
- --with-package-origin="https://www.gentoo.org" \
- --disable-fatal-warnings \
- --with-system-libav \
- $(use_enable orc)
-}
-
-multilib_src_compile() {
- # Don't build with -Werror
- emake ERROR_CFLAGS=
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --modules
-}