gst-ffmpeg: fixes compiling issue on gcc 4.7.x FS#865

This commit is contained in:
Danny Rawlins 2012-12-23 13:12:46 +11:00
parent 599f296c20
commit f5f85b66bc
3 changed files with 65 additions and 4 deletions

View File

@ -1 +1,2 @@
2b6e20e36c12170a7f359f1de35834aa gst-ffmpeg-0.10.13-gcc-4.7-1.patch
7f5beacaf1312db2db30a026b36888c4 gst-ffmpeg-0.10.13.tar.bz2

View File

@ -6,16 +6,17 @@
name=gst-ffmpeg
version=0.10.13
release=1
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.bz2)
release=2
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.bz2
gst-ffmpeg-0.10.13-gcc-4.7-1.patch)
build() {
cd $name-$version
patch -p 1 -i $SRC/gst-ffmpeg-0.10.13-gcc-4.7-1.patch
./configure \
--prefix=/usr \
--mandir=/usr/man \
--disable-static
--mandir=/usr/man
make
make DESTDIR=$PKG install

View File

@ -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"