diff options
author | Khem Raj <raj.khem@gmail.com> | 2012-03-30 12:07:39 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-04-02 04:54:17 +0100 |
commit | ce69eb93417bcd31c7d6422b179c4d47db0ad613 (patch) | |
tree | 35afbdb0ce90e497e8a7ac5228925ddfcbff3cd5 /meta | |
parent | 9d526462fe97564652771812ad1d363e9962b1e3 (diff) | |
download | poky-ce69eb93417bcd31c7d6422b179c4d47db0ad613.tar.gz |
gst-ffmpeg: Fix build with gcc 4.7
A cmp instruction with two constants is invalid, therefore 'g' constraint
is not correct but must be "rm" instead.
(From OE-Core rev: 1161c40a26146629613bd6a17b263175a492b751)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch | 57 | ||||
-rw-r--r-- | meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb | 3 |
2 files changed, 59 insertions, 1 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch new file mode 100644 index 0000000000..7891329739 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/h264_qpel_mmx.patch | |||
@@ -0,0 +1,57 @@ | |||
1 | Backport http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=5f654897e325349dacf2546674e0510bb72ecb50;hp=250cebeb3b348c3da71f9972eb500d6005dc01f1 | ||
2 | |||
3 | Fixes these errors on x86 | ||
4 | |||
5 | libavcodec/x86/h264_qpel_mmx.c: Assembler messages: | ||
6 | libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' | ||
7 | libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' | ||
8 | libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' | ||
9 | libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' | ||
10 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
11 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
12 | libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' | ||
13 | make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1 | ||
14 | |||
15 | |||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | Upstream-status: Backport | ||
18 | Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c | ||
19 | =================================================================== | ||
20 | --- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700 | ||
21 | +++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700 | ||
22 | @@ -398,7 +398,7 @@ | ||
23 | "2: \n\t"\ | ||
24 | \ | ||
25 | : "+a"(src), "+c"(dst)\ | ||
26 | - : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ | ||
27 | + : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ | ||
28 | : "memory"\ | ||
29 | );\ | ||
30 | src += 4-(h+5)*srcStride;\ | ||
31 | @@ -446,7 +446,7 @@ | ||
32 | QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ | ||
33 | "2: \n\t"\ | ||
34 | : "+a"(src)\ | ||
35 | - : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\ | ||
36 | + : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\ | ||
37 | : "memory"\ | ||
38 | );\ | ||
39 | tmp += 4;\ | ||
40 | @@ -823,7 +823,7 @@ | ||
41 | "2: \n\t"\ | ||
42 | \ | ||
43 | : "+a"(src), "+c"(dst)\ | ||
44 | - : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ | ||
45 | + : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ | ||
46 | : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ | ||
47 | "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ | ||
48 | "memory"\ | ||
49 | @@ -878,7 +878,7 @@ | ||
50 | QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) | ||
51 | "2: \n\t" | ||
52 | : "+a"(src) | ||
53 | - : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) | ||
54 | + : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size) | ||
55 | : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", | ||
56 | "%xmm4", "%xmm5", "%xmm6", "%xmm7",) | ||
57 | "memory" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb index 92cd349b70..3b607bf8cb 100644 --- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb | |||
@@ -18,12 +18,13 @@ inherit autotools pkgconfig | |||
18 | SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \ | 18 | SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \ |
19 | file://lower-rank.diff \ | 19 | file://lower-rank.diff \ |
20 | file://configure-fix.patch \ | 20 | file://configure-fix.patch \ |
21 | file://h264_qpel_mmx.patch \ | ||
21 | " | 22 | " |
22 | 23 | ||
23 | SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4" | 24 | SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4" |
24 | SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62" | 25 | SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62" |
25 | 26 | ||
26 | PR = "r1" | 27 | PR = "r2" |
27 | 28 | ||
28 | GSTREAMER_DEBUG ?= "--disable-debug" | 29 | GSTREAMER_DEBUG ?= "--disable-debug" |
29 | EXTRA_OECONF = "--with-ffmpeg-extra-configure=\"--target-os=linux\" ${GSTREAMER_DEBUG}" | 30 | EXTRA_OECONF = "--with-ffmpeg-extra-configure=\"--target-os=linux\" ${GSTREAMER_DEBUG}" |