diff options
author | Gregory M. Tuner <gmt@be-evil.net> | 2014-01-17 00:45:21 -0800 |
---|---|---|
committer | Gregory M. Tuner <gmt@be-evil.net> | 2014-01-17 00:45:21 -0800 |
commit | b68ca7b47d320e720dca1dbea1f7881c7eedf735 (patch) | |
tree | e33299da603422469764ce76b7ed330019be5af7 /media-plugins/gst-plugins-libav | |
parent | media-plugins/gst-plugins-a52dec:0.10: emul-linux-x86-gstplugins compatibility (diff) | |
download | gmt-b68ca7b47d320e720dca1dbea1f7881c7eedf735.tar.gz gmt-b68ca7b47d320e720dca1dbea1f7881c7eedf735.tar.bz2 gmt-b68ca7b47d320e720dca1dbea1f7881c7eedf735.zip |
media-plugins/gst-plugins-libav: clone upstream
Signed-off-by: Gregory M. Tuner <gmt@be-evil.net>
Diffstat (limited to 'media-plugins/gst-plugins-libav')
9 files changed, 587 insertions, 0 deletions
diff --git a/media-plugins/gst-plugins-libav/ChangeLog b/media-plugins/gst-plugins-libav/ChangeLog new file mode 100644 index 0000000..88ccc78 --- /dev/null +++ b/media-plugins/gst-plugins-libav/ChangeLog @@ -0,0 +1,164 @@ +# 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.38 2013/10/22 07:21:03 ago Exp $ + + 22 Oct 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: + Stable for sparc, wrt bug #480908 + + 16 Oct 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: + Stable for ia64, wrt bug #480908 + + 16 Oct 2013; Jeroen Roovers <jer@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: + Stable for HPPA (bug #480908). + + 15 Oct 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: + Stable for alpha, wrt bug #480908 + + 14 Oct 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: + Stable for arm, wrt bug #480908 + + 13 Oct 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: + Stable for ppc64, wrt bug #480908 + + 12 Oct 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: + Stable for ppc, wrt bug #480908 + + 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: + Stable for x86, wrt bug #480908 + + 10 Oct 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128-r1.ebuild: + Stable for amd64, wrt bug #480908 + +*gst-plugins-libav-1.2.0 (29 Sep 2013) + + 29 Sep 2013; Gilles Dartiguelongue <eva@gentoo.org> + +gst-plugins-libav-1.2.0.ebuild: + Version bump. + +*gst-plugins-libav-1.1.0_pre20130128-r1 (06 Aug 2013) + + 06 Aug 2013; Alexis Ballier <aballier@gentoo.org> + +gst-plugins-libav-1.1.0_pre20130128-r1.ebuild, + +files/gst-plugins-libav-1.1.0_pre20130128-ffmpeg2.patch: + fix build with ffmpeg-2 + + 28 Jul 2013; Alexis Ballier <aballier@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + keyword ~amd64-fbsd + + 29 Jun 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for ppc, wrt bug #464538 + + 29 Jun 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for sparc, wrt bug #464538 + + 26 Jun 2013; Jeroen Roovers <jer@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for HPPA (bug #464538). + + 26 Jun 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for arm, wrt bug #464538 + + 26 Jun 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for ia64, wrt bug #464538 + + 26 Jun 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for alpha, wrt bug #464538 + + 25 Jun 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for x86, wrt bug #464538 + + 25 Jun 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for amd64, wrt bug #464538 + + 25 Jun 2013; Agostino Sarubbo <ago@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild: + Stable for ppc64, wrt bug #464538 + + 23 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for alpha, wrt bug #458188 + + 23 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for hppa, wrt bug #458188 + + 23 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for sparc, wrt bug #458188 + + 22 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for arm, wrt bug #458188 + + 22 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for ia64, wrt bug #458188 + + 21 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for ppc64, wrt bug #458188 + + 21 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for ppc, wrt bug #458188 + + 21 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for x86, wrt bug #458188 + + 21 Feb 2013; Agostino Sarubbo <ago@gentoo.org> gst-plugins-libav-1.0.5.ebuild: + Stable for amd64, wrt bug #458188 + + 15 Feb 2013; Alexis Ballier <aballier@gentoo.org> + gst-plugins-libav-1.1.0_pre20130128.ebuild, + +files/gst-plugins-libav-1.1.0_pre20130128-coma.patch, + +files/gst-plugins-libav-1.1.0_pre20130128-compat.patch: + Fix build with ffmpeg 0.10 / libav 0.8, and fix a problem with muxers with + coma in their name + +*gst-plugins-libav-1.1.0_pre20130128 (03 Feb 2013) + + 03 Feb 2013; Alexandre Rostovtsev <tetromino@gentoo.org> + gst-plugins-libav-1.0.3.ebuild, gst-plugins-libav-1.0.5.ebuild, + +gst-plugins-libav-1.1.0_pre20130128.ebuild, + +files/gst-plugins-libav-1.1.0_pre20130128-gbr-color.patch: + Add gst-plugins-libav-1.1 prerelease for libav-9 and ffmpeg-1.1 compatibility + (bug #423717). Pin gst-plugins-libav-1.0.x to libav-0.8 and ffmpeg-0.10. + +*gst-plugins-libav-1.0.5 (21 Jan 2013) + + 21 Jan 2013; Gilles Dartiguelongue <eva@gentoo.org> + +gst-plugins-libav-1.0.5.ebuild: + Version bump. Do not use gst-plugins10, it was not useful here. + + 20 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> metadata.xml: + Switch to global orc USE flag. + + 09 Dec 2012; Alexandre Rostovtsev <tetromino@gentoo.org> + gst-plugins-libav-1.0.3.ebuild: + Restore accidentally dropped keywords (should have been copied from + gst-plugins-ffmpeg). + + 05 Dec 2012; Gilles Dartiguelongue <eva@gentoo.org> + gst-plugins-libav-1.0.3.ebuild: + Drop direct ffmpeg and libav dependency, virtual should now provide minimum + required versions. + +*gst-plugins-libav-1.0.3 (05 Dec 2012) + + 05 Dec 2012; Gilles Dartiguelongue <eva@gentoo.org> + +gst-plugins-libav-1.0.3.ebuild, +metadata.xml: + Initial ebuild, upstream renamed gst-ffmpeg. diff --git a/media-plugins/gst-plugins-libav/Manifest b/media-plugins/gst-plugins-libav/Manifest new file mode 100644 index 0000000..32f891a --- /dev/null +++ b/media-plugins/gst-plugins-libav/Manifest @@ -0,0 +1,9 @@ +AUX gst-plugins-libav-1.1.0_pre20130128-coma.patch 517 SHA256 3f2d856668aabf8872588a9bdfb6f28296b7b7f6cf5e9a2dd77cb3ee0ecddf4f SHA512 ab89eb9642ecb66a16503d136adf41c42bd41f1021546952580f2b6e8a558916234aebb35bce6af04de5b90e2ccd8695864ef0f44f0013eed904b06ec60c1a61 WHIRLPOOL e36c3ee9a663eb284b191a8bd83e45c346c685bfdc45d96dfe14a31a7918cd1e55aa11228139cb7cb811617e0563cc2f9d0c89fd68c3a37f0641330e045b5d37 +AUX gst-plugins-libav-1.1.0_pre20130128-compat.patch 1810 SHA256 e50bf0fcf9b9c3cac9e712832438642425d3180d085d3cee5bf3427093a3d789 SHA512 1f48b05b70aef81f0c1f190ff38a68fb0d9e95c525042d213ec8a34de48d72b164491cb27064643da080c37859922a2bce1c0161d13512a42afdb8fb774f271d WHIRLPOOL c2bfc6e64b7a2fe215d8e7c02664c4b7ed4ee5657ce264a7bbc0fa021aa9cc403b4c4b3629f73aea41c97e0143226233d5fd7d442ba87bd1b4cb869aa7380a90 +AUX gst-plugins-libav-1.1.0_pre20130128-ffmpeg2.patch 5250 SHA256 51c20417417c797a703710eb27dcd7b9b2cd92321ee78c6dfea10ec77024b0b6 SHA512 7261dc865729c33b4d55953167e89118f2ddf7d9eaff0436d543e30f6d24127d74ccca9b5b2eb23faff28eac38beec343b5306eee70cea80dacd897b419ab0ed WHIRLPOOL 485e538cdee9dbbe88eebe1f6596b0d3f23618d19dccc80932e0a4a33a52c2f0a0a312646f4ce1281136aa60bf109b5f32eaea84e77802113c7f4abc83f796ea +AUX gst-plugins-libav-1.1.0_pre20130128-gbr-color.patch 1001 SHA256 120f5a118cfb71ed8eb03e015e49955ed38bf09a5dd7f9768054219a2e348e24 SHA512 7f29af719101821b88a19a46c2325021724e7f555260ff2a6448f45a87f39df303eae08aa1ef9509ccde467dc9f7e3f3cdcc2611ddd7d1b4f4cfb72f6f21364d WHIRLPOOL 987c420ea0be285c1a8c298080012f14ec8c4de31e5c653d0f312d2be40c32c935a6481e793922d969696dab70a90d9e1b45b74359775723fdceec5dcc9d19cc +AUX gst-plugins-libav-1.2.0-ffmpeg2.patch 5020 SHA256 f7d8729719ecd1dd5103f9bd23230c01fdece180d0e08ff7e8f50ba564607647 SHA512 1ae30423e434dbb158475428f98482dc479862969e3b5493876d32bc425f07d2eec582ab92b6455fd487a7ddfe4142b6dcbd5f23e0de49453082fb331eff3914 WHIRLPOOL bca67b726c41553d1f2739ff5b65fc9dfcb5a5107e320217985d089cb349a33b37d74ee0c3cbfd52ed8107626fabbe773379e4ef2c181f2e172ff4457850f65f +DIST gst-libav-1.2.0.tar.xz 4575972 SHA256 48721eb318ffffdd134edea754d0b65d76b08c8209a8d2c8a42bca1f799f9099 SHA512 2d53de52fb6f846752b0e0c90f8ca167397ade5a413755ecbad9876a25046b56850a8d8c1b2783819da0988475bdf91a3ce8709f6f8db2b3e197bc2fb0e37d7a WHIRLPOOL fcf29f4d55b7d0955750f6aef2541bf5fc94cd4b36ba44dad25035b77d642e7846ab9534ba744ad1ec79f2c67923e988b91ee2c0368b545d164f996c1e485efd +EBUILD gst-plugins-libav-1.2.0-r1.ebuild 1894 SHA256 76aa10f221631417e69fe0e434ea29927c1fa45c7dc20cdd4e7b2011af75f20b SHA512 e014f1625c78c585d3e3a54f782c2e9c064ed3cdb12d735d40ae7490007764f098f7924dc4a7d4a83af2b448cee72d3262215b71b4ca3f45d9486e480523acef WHIRLPOOL 484c97d8fe0f677815788be518e336d72e0a992ed207edb42f8383719209ec827dd60d67f08bdd863838729025f8c1a64b2ab730cc855b5c4a4c01c62a5e358b +MISC ChangeLog 5967 SHA256 3a17addc0b482d091ed1433b3869b02099746175627384ce675c8cbd10c0f68f SHA512 8e95d58c1aaeb489196c6390dc6f98826ca167cd773f408503f9370d152d30863add28135a06b41bec2c8ad1db89807c46b1605168c158e32dca204c0d4c8d48 WHIRLPOOL 476ee4d974d65f4e10e7412de550d59c57212b334fcf39d71b999a03648b6e0578e374b1886c3eb2815501891d3b4a567438d2901d0e0ea2a5154885e318ae74 +MISC metadata.xml 163 SHA256 5be82689c9f32031a2438b08ace0c4bcdc738cec0eb736d9aa7e529cde4b8a6c SHA512 9688f0e23097fe5baefa6b3cf28276c88e53314989b51e1afc9edc0e68a19c215a67dd0bfb84a157b130d424912ac72bf6c85f9ce066c8d9f6776e4c1d019ccc WHIRLPOOL 6609d5606451d3adf31c010aeb51bec29714c3cda8e1a730af0ea1f51289f7139ac86f11c056e59143dddcf46291b9d79ae94083b77488f28717bf51972e0c3b diff --git a/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-coma.patch b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-coma.patch new file mode 100644 index 0000000..4af35d2 --- /dev/null +++ b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-coma.patch @@ -0,0 +1,16 @@ +Some muxers come with a ',' in their name, replace it by '_' as in the other +places. + +Index: gst-libav-1.1.0_pre20130128/ext/libav/gstavmux.c +=================================================================== +--- gst-libav-1.1.0_pre20130128.orig/ext/libav/gstavmux.c ++++ gst-libav-1.1.0_pre20130128/ext/libav/gstavmux.c +@@ -937,7 +937,7 @@ gst_ffmpegmux_register (GstPlugin * plug + p = type_name; + + while (*p) { +- if (*p == '.') ++ if (*p == '.' || *p == ',') + *p = '_'; + p++; + } diff --git a/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-compat.patch b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-compat.patch new file mode 100644 index 0000000..f41c875 --- /dev/null +++ b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-compat.patch @@ -0,0 +1,49 @@ +Index: gst-libav-1.1.0_pre20130128/ext/libav/gstavcodecmap.c +=================================================================== +--- gst-libav-1.1.0_pre20130128.orig/ext/libav/gstavcodecmap.c ++++ gst-libav-1.1.0_pre20130128/ext/libav/gstavcodecmap.c +@@ -27,7 +27,16 @@ + + #include <gst/gst.h> + #include <libavcodec/avcodec.h> ++#include <libavutil/avutil.h> ++#if (LIBAVUTIL_VERSION_INT > AV_VERSION_INT(52,6,0) || (LIBAVUTIL_VERSION_MICRO < 100 && LIBAVUTIL_VERSION_INT > AV_VERSION_INT(52,2,0))) + #include <libavutil/channel_layout.h> ++#else ++#include <libavutil/audioconvert.h> ++#endif ++#if (LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51,42,0) || (LIBAVUTIL_VERSION_MICRO > 100 && LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51,74,0))) ++#define AVPixelFormat PixelFormat ++#endif ++ + + #include "gstav.h" + #include "gstavcodecmap.h" +Index: gst-libav-1.1.0_pre20130128/ext/libav/gstavutils.h +=================================================================== +--- gst-libav-1.1.0_pre20130128.orig/ext/libav/gstavutils.h ++++ gst-libav-1.1.0_pre20130128/ext/libav/gstavutils.h +@@ -94,4 +94,23 @@ av_smp_format_depth(enum AVSampleFormat + GstBuffer * + new_aligned_buffer (gint size); + ++#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54,7,0) || (LIBAVCODEC_VERSION_MICRO >= 100 && LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54,8,0))) ++static inline int av_codec_is_encoder(AVCodec *codec) ++{ ++ return codec && (codec->encode || codec->encode2); ++} ++ ++static inline int av_codec_is_decoder(AVCodec *codec) ++{ ++ return codec && codec->decode; ++} ++#endif ++ ++#if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54,28,0) || (LIBAVCODEC_VERSION_MICRO >= 100 && LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54,59,0))) ++static inline void avcodec_free_frame(AVFrame **frame) ++{ ++ av_free(*frame); ++} ++#endif ++ + #endif /* __GST_FFMPEG_UTILS_H__ */ diff --git a/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-ffmpeg2.patch b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-ffmpeg2.patch new file mode 100644 index 0000000..66b965a --- /dev/null +++ b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-ffmpeg2.patch @@ -0,0 +1,121 @@ +Index: gst-libav-1.1.0_pre20130128/ext/libav/gstavauddec.c +=================================================================== +--- gst-libav-1.1.0_pre20130128.orig/ext/libav/gstavauddec.c ++++ gst-libav-1.1.0_pre20130128/ext/libav/gstavauddec.c +@@ -420,7 +420,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.1.0_pre20130128/ext/libav/gstavaudenc.c +=================================================================== +--- gst-libav-1.1.0_pre20130128.orig/ext/libav/gstavaudenc.c ++++ gst-libav-1.1.0_pre20130128/ext/libav/gstavaudenc.c +@@ -266,7 +266,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.1.0_pre20130128/ext/libav/gstavcfg.c +=================================================================== +--- gst-libav-1.1.0_pre20130128.orig/ext/libav/gstavcfg.c ++++ gst-libav-1.1.0_pre20130128/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.1.0_pre20130128/ext/libav/gstavcodecmap.c +=================================================================== +--- gst-libav-1.1.0_pre20130128.orig/ext/libav/gstavcodecmap.c ++++ gst-libav-1.1.0_pre20130128/ext/libav/gstavcodecmap.c +@@ -797,13 +797,11 @@ 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", "systemstream", G_TYPE_BOOLEAN, FALSE, + "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), +@@ -2855,18 +2853,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.1.0_pre20130128/ext/libav/gstavvidenc.c +=================================================================== +--- gst-libav-1.1.0_pre20130128.orig/ext/libav/gstavvidenc.c ++++ gst-libav-1.1.0_pre20130128/ext/libav/gstavvidenc.c +@@ -332,7 +332,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/files/gst-plugins-libav-1.1.0_pre20130128-gbr-color.patch b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-gbr-color.patch new file mode 100644 index 0000000..d125549 --- /dev/null +++ b/media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-gbr-color.patch @@ -0,0 +1,28 @@ +From 67e11c7ad916c2e0b9af99153a01be378ea174c0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian.droege@collabora.co.uk> +Date: Sat, 10 Nov 2012 16:57:06 +0100 +Subject: [PATCH] avcodecmap: Add mappings for the GBR color formats + +--- + ext/libav/gstavcodecmap.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c +index abf8f92..5d7dd23 100644 +--- a/ext/libav/gstavcodecmap.c ++++ b/ext/libav/gstavcodecmap.c +@@ -2182,6 +2182,11 @@ static const PixToFmt pixtofmttable[] = { + {GST_VIDEO_FORMAT_I420_10BE, PIX_FMT_YUV420P10BE}, + {GST_VIDEO_FORMAT_I422_10LE, PIX_FMT_YUV422P10LE}, + {GST_VIDEO_FORMAT_I422_10BE, PIX_FMT_YUV422P10BE}, ++ {GST_VIDEO_FORMAT_Y444_10LE, PIX_FMT_YUV444P10LE}, ++ {GST_VIDEO_FORMAT_Y444_10BE, PIX_FMT_YUV444P10BE}, ++ {GST_VIDEO_FORMAT_GBR, PIX_FMT_GBRP}, ++ {GST_VIDEO_FORMAT_GBR_10LE, PIX_FMT_GBRP10LE}, ++ {GST_VIDEO_FORMAT_GBR_10BE, PIX_FMT_GBRP10BE}, + }; + + GstVideoFormat +-- +1.8.1.2 + 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 0000000..3deeea0 --- /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-r1.ebuild b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0-r1.ebuild new file mode 100644 index 0000000..3e48fee --- /dev/null +++ b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +inherit eutils flag-o-matic + +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.0 + media-libs/gst-plugins-base:1.0 + >=virtual/ffmpeg-9 + orc? ( >=dev-lang/orc-0.4.16 ) +" +DEPEND="${RDEPEND} + >=dev-util/gtk-doc-am-1.12 + virtual/pkgconfig +" + +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() { + GST_PLUGINS_BUILD="" + # always use system ffmpeg/libav if possible + econf \ + --disable-maintainer-mode \ + --with-package-name="Gentoo GStreamer ebuild" \ + --with-package-origin="http://www.gentoo.org" \ + --disable-fatal-warnings \ + --with-system-libav \ + $(use_enable orc) +} + +src_compile() { + # Don't build with -Werror + emake ERROR_CFLAGS= +} + +src_install() { + DOCS="AUTHORS ChangeLog NEWS README TODO" + default + 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 +} diff --git a/media-plugins/gst-plugins-libav/metadata.xml b/media-plugins/gst-plugins-libav/metadata.xml new file mode 100644 index 0000000..d1096fb --- /dev/null +++ b/media-plugins/gst-plugins-libav/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>gstreamer</herd> +</pkgmetadata> |