aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory M. Tuner <gmt@be-evil.net>2014-01-17 00:45:21 -0800
committerGregory M. Tuner <gmt@be-evil.net>2014-01-17 00:45:21 -0800
commitb68ca7b47d320e720dca1dbea1f7881c7eedf735 (patch)
treee33299da603422469764ce76b7ed330019be5af7 /media-plugins/gst-plugins-libav
parentmedia-plugins/gst-plugins-a52dec:0.10: emul-linux-x86-gstplugins compatibility (diff)
downloadgmt-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')
-rw-r--r--media-plugins/gst-plugins-libav/ChangeLog164
-rw-r--r--media-plugins/gst-plugins-libav/Manifest9
-rw-r--r--media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-coma.patch16
-rw-r--r--media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-compat.patch49
-rw-r--r--media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-ffmpeg2.patch121
-rw-r--r--media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.1.0_pre20130128-gbr-color.patch28
-rw-r--r--media-plugins/gst-plugins-libav/files/gst-plugins-libav-1.2.0-ffmpeg2.patch120
-rw-r--r--media-plugins/gst-plugins-libav/gst-plugins-libav-1.2.0-r1.ebuild75
-rw-r--r--media-plugins/gst-plugins-libav/metadata.xml5
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>