Skip to content

Commit

Permalink
add gstreamer ffmpeg plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
rofl0r committed Nov 1, 2013
1 parent 825cbeb commit 0de055c
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 0 deletions.
59 changes: 59 additions & 0 deletions KEEP/gst-ffmpeg-0.10.13-gcc-4.7-1.patch
@@ -0,0 +1,59 @@
Submitted By: Andrew Benton <andy@benton.eu.com>
Date: 2012-06-15
Initial Package Version: 0.10.13
Upstream Status: From upstream
Origin:
http://git.videolan.org/?p=ffmpeg.git;a=patch;h=5f654897e325349dacf2546674e0510bb72ecb50

Description: Fixes compiling gst-ffmpeg with gcc-4.7

libavcodec/x86/h264_qpel_mmx.c: Assembler messages:
libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp'
libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp'
libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp'
libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp'
libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp'
make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1

Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c
===================================================================
--- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700
+++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700
@@ -398,7 +398,7 @@
"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 @@
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 @@
"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 @@
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"
27 changes: 27 additions & 0 deletions pkg/gst01-plugins-ffmpeg
@@ -0,0 +1,27 @@
[mirrors]
http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-0.10.13.tar.bz2

[main]
filesize=4784059
sha512=f1141fc73b4bf1d774053ce53c4a67d5e600d6f0118ee7824cd2ff4fc8af8ba1dfbd5cf82d9e15872f3e6f8730112ddfc520a7d8df3cf605a9725e959f37e6ed

[deps]
gstreamer01

[build]
patch -p1 < "$K"/gst-ffmpeg-0.10.13-gcc-4.7-1.patch || exit 1

CFLAGS="-D_GNU_SOURCE $optcflags" LDFLAGS="$optldflags" \
./configure -C --prefix="$butch_prefix" \
--with-ffmpeg-extra-configure="--disable-yasm" \
|| exit 1

# FIXME: it's currently not possible to build against the system
# ffmpeg. the code is using some enum CodecID which was apparently
# removed in recent ffmpegs. having 2 different versions of ffmpeg
# in use is less than optimal.
#
# --with-system-ffmpeg || exit 1

make -j$MAKE_THREADS || exit 1
make DESTDIR="$butch_install_dir" install || exit 1

0 comments on commit 0de055c

Please sign in to comment.