diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec')
-rw-r--r-- | import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch | 43 | ||||
-rw-r--r-- | import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb | 40 |
2 files changed, 83 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch b/import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch new file mode 100644 index 000000000..7dc56436f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch @@ -0,0 +1,43 @@ +Add new method to judge whether <altivec.h> is needed + +The original logic will use "typedef vector int t;" to judge +whether <altivec.h> is needed. altivec.h contains the following +statement: + + #if !defined(__APPLE_ALTIVEC__) + #define vector __vector + #define pixel __pixel + #define bool + #endif + +In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither +as vector, pixel, and bool. In order to make "typedef vector int t;" +pass the compilation, we need to include altivec.h. + +However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler, +so as vector, pixel, and bool. We could not judge whether +altivec.h is needed by "typedef vector int t;". +Here we include another statement "int tmp = __CR6_EQ;", in +which __CR6_EQ is defined in altivec.h. + +Upstream-Status: Pending + +Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> + +diff -ruN mpeg2dec-0.4.1-orig/configure.in mpeg2dec-0.4.1/configure.in +--- mpeg2dec-0.4.1-orig/configure.in 2010-09-14 20:55:42.399687663 +0800 ++++ mpeg2dec-0.4.1/configure.in 2010-09-14 20:56:43.403204648 +0800 +@@ -75,11 +75,11 @@ + CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" + AC_MSG_CHECKING([if <altivec.h> is needed]) + AC_TRY_COMPILE([], +- [typedef vector int t; ++ [typedef vector int t; int tmp = __CR6_EQ; + vec_ld(0, (unsigned char *)0);], + [have_altivec=yes; AC_MSG_RESULT(no)], + [AC_TRY_COMPILE([#include <altivec.h>], +- [typedef vector int t; vec_ld(0, (unsigned char *)0);], ++ [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);], + [AC_DEFINE([HAVE_ALTIVEC_H],, + [Define to 1 if you have the <altivec.h> header.]) + have_altivec=yes; AC_MSG_RESULT(yes)], diff --git a/import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb b/import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb new file mode 100644 index 000000000..16669947f --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.4.1.bb @@ -0,0 +1,40 @@ +SUMMARY = "Library and test program for decoding MPEG-2 and MPEG-1 video streams" +HOMEPAGE = "http://libmpeg2.sourceforge.net/" +SECTION = "libs" +LICENSE = "GPLv2+" +LICENSE_FLAGS = "commercial" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://include/mpeg2.h;beginline=1;endline=22;md5=ead62602d4638329d3b5b86a55803154" + +PR = "r2" + +SRC_URI = "http://libmpeg2.sourceforge.net/files/mpeg2dec-${PV}.tar.gz \ + file://altivec_h_needed.patch" + +SRC_URI[md5sum] = "7631b0a4bcfdd0d78c0bb0083080b0dc" +SRC_URI[sha256sum] = "c74a76068f8ec36d4bb59a03bf1157be44118ca02252180e8b358b0b5e3edeee" + +UPSTREAM_CHECK_URI = "http://libmpeg2.sourceforge.net/downloads.html" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-shared --disable-sdl" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" +PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxv" + +PACKAGES = "mpeg2dec-dbg mpeg2dec mpeg2dec-doc libmpeg2 libmpeg2-dev libmpeg2convert libmpeg2convert-dev libmpeg2-staticdev libmpeg2convert-staticdev" + +FILES_${PN} = "${bindir}/*" +FILES_libmpeg2 = "${libdir}/libmpeg2.so.*" +FILES_libmpeg2convert = "${libdir}/libmpeg2convert.so.*" +FILES_libmpeg2-dev = "${libdir}/libmpeg2.so \ + ${libdir}/libmpeg2.la \ + ${libdir}/pkgconfig/libmpeg2.pc \ + ${includedir}/mpeg2dec/mpeg2.h" +FILES_libmpeg2-staticdev = "${libdir}/libmpeg2.a" +FILES_libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \ + ${libdir}/libmpeg2convert.la \ + ${libdir}/pkgconfig/libmpeg2convert.pc \ + ${includedir}/mpeg2dec/mpeg2convert.h" +FILES_libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a" |