summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2015-06-09 00:05:02 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-11 23:59:15 +0100
commit6aa3cdd466bbbdf9c5b0a65fa066916aa7c2fc48 (patch)
treea29f3d781a33a539c4db4a5bd9ad9fe21c291f75 /meta
parent6e54d3bc95ad906468cf577bc76f8f59866bdd46 (diff)
downloadpoky-6aa3cdd466bbbdf9c5b0a65fa066916aa7c2fc48.tar.gz
gstreamer1.0-libav: fix build for i586 with gcc
Backport a patch from debian to fix the build for i586 with gcc, the patch is similar to libav's workaround-to-build-libav-for-i586-with-gcc.patch. (From OE-Core rev: 186df51c49987b44bfcf21d133ad9fe80f0790bb) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch26
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb1
2 files changed, 27 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
new file mode 100644
index 0000000000..ccadea4d5c
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch
@@ -0,0 +1,26 @@
1Description: Workaround to build libav for i586 with gcc 4.9.2 by avoiding memset
2Author: Bernhard Übelacker <bernhardu@vr-web.de>
3
4---
5Bug-Debian: https://bugs.debian.org/783082
6Last-Update: 2015-04-28
7
8Upstream-Status: Backport [debian]
9
10Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
11
12--- gst-libav-1.4.5.orig/gst-libs/ext/libav/libavcodec/h264_cabac.c
13+++ gst-libav-1.4.5/gst-libs/ext/libav/libavcodec/h264_cabac.c
14@@ -2020,7 +2020,11 @@ decode_intra_mb:
15 // In deblocking, the quantizer is 0
16 h->cur_pic.qscale_table[mb_xy] = 0;
17 // All coeffs are present
18- memset(h->non_zero_count[mb_xy], 16, 48);
19+ /*memset(h->non_zero_count[mb_xy], 16, 48);*/
20+ /* avoiding this memset because it leads at least with gcc4.9.2 to error: 'asm' operand has impossible constraints */
21+ for (size_t i = 0; i < 48; i++) {
22+ ( (unsigned char*)(h->non_zero_count[mb_xy]) ) [i] = 16;
23+ }
24 h->cur_pic.mb_type[mb_xy] = mb_type;
25 h->last_qscale_diff = 0;
26 return 0;
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
index 11b1cfb08d..97fc7ec3f8 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.4.5.bb
@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
12SRC_URI = " \ 12SRC_URI = " \
13 http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ 13 http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
14 file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \ 14 file://0001-Disable-yasm-for-libav-when-disable-yasm.patch \
15 file://workaround-to-build-gst-libav-for-i586-with-gcc.patch \
15" 16"
16SRC_URI[md5sum] = "f4922a46adbcbe7bd01331ff5dc7979d" 17SRC_URI[md5sum] = "f4922a46adbcbe7bd01331ff5dc7979d"
17SRC_URI[sha256sum] = "605c62624604f3bb5c870844cc1f2711779cc533b004c2aa1d8c0d58557afbbc" 18SRC_URI[sha256sum] = "605c62624604f3bb5c870844cc1f2711779cc533b004c2aa1d8c0d58557afbbc"