From 84573235d7836eeef4937f6b56da22b25222d37a Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Mon, 4 Jun 2012 13:02:37 +0200
Subject: [PATCH] gst-ffmpeg: add patch from ffmpeg to fix build on x86_64.

---
 ...4897e325349dacf2546674e0510bb72ecb50.patch | 52 +++++++++++++++++++
 srcpkgs/gst-ffmpeg/template                   |  4 +-
 2 files changed, 54 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/gst-ffmpeg/patches/ffmpeg.git-5f654897e325349dacf2546674e0510bb72ecb50.patch

diff --git a/srcpkgs/gst-ffmpeg/patches/ffmpeg.git-5f654897e325349dacf2546674e0510bb72ecb50.patch b/srcpkgs/gst-ffmpeg/patches/ffmpeg.git-5f654897e325349dacf2546674e0510bb72ecb50.patch
new file mode 100644
index 0000000000..6720bbba47
--- /dev/null
+++ b/srcpkgs/gst-ffmpeg/patches/ffmpeg.git-5f654897e325349dacf2546674e0510bb72ecb50.patch
@@ -0,0 +1,52 @@
+Subject: [PATCH 1/1] A cmp instruction with two constants is invalid, thus
+ "g" constraint is not correct but must be "rm" instead.
+
+Signed-off-by: Reimar Däffinger <Reimar.Doeffinger@gmx.de>
+Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
+---
+ libavcodec/x86/h264_qpel_mmx.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libavcodec/x86/h264_qpel_mmx.c b/libavcodec/x86/h264_qpel_mmx.c
+index d8ceca1..f5af44e 100644
+--- gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c
++++ gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c
+@@ -398,7 +398,7 @@ static av_noinline void OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(uint8_t *dst,
+             "2:                         \n\t"\
+             \
+             : "+a"(src), "+c"(dst)\
+-            : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
++            : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\
+             : "memory"\
+         );\
+         src += 4-(h+5)*srcStride;\
+@@ -446,7 +446,7 @@ static av_always_inline void OPNAME ## h264_qpel8or16_hv1_lowpass_ ## MMX(int16_
+             QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\
+             "2:                     \n\t"\
+             : "+a"(src)\
+-            : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\
++            : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\
+             : "memory"\
+             );\
+         tmp += 4;\
+@@ -823,7 +823,7 @@ static av_noinline void OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(uint8_t *dst,
+         "2:                          \n\t"\
+         \
+         : "+a"(src), "+c"(dst)\
+-        : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
++        : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\
+         : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
+                        "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
+           "memory"\
+@@ -878,7 +878,7 @@ static av_always_inline void put_h264_qpel8or16_hv1_lowpass_sse2(int16_t *tmp, u
+             QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48)
+             "2:                         \n\t"
+             : "+a"(src)
+-            : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)
++            : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)
+             : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3",
+                            "%xmm4", "%xmm5", "%xmm6", "%xmm7",)
+               "memory"
+-- 
+1.7.10
+
diff --git a/srcpkgs/gst-ffmpeg/template b/srcpkgs/gst-ffmpeg/template
index 16e6f3a4f6..b89db4dd52 100644
--- a/srcpkgs/gst-ffmpeg/template
+++ b/srcpkgs/gst-ffmpeg/template
@@ -1,11 +1,12 @@
 # Template file for 'gst-ffmpeg'
 pkgname=gst-ffmpeg
 version=0.10.13
+revision=1
 homepage="http://gstreamer.freedesktop.org"
 distfiles="$homepage/src/$pkgname/$pkgname-$version.tar.bz2"
 build_style=gnu-configure
+configure_args="--with-ffmpeg-extra-configure=--enable-runtime-cpudetect"
 makedepends="pkg-config yasm zlib-devel orc-devel glib-devel gstreamer-devel gst-plugins-base-devel libxml2-devel"
-revision=1
 short_desc="GStreamer FFmpeg plugins"
 maintainer="Juan RP <xtraeme@gmail.com>"
 license="GPL-2"
@@ -15,4 +16,3 @@ long_desc="
  formats through the use of the FFmpeg library. The plugin contains GStreamer
  elements for decoding 90+ formats (AVI, MPEG, OGG, Matroska, ASF, ...),
  demuxing 30+ formats and colorspace conversion."
-