diff options
Diffstat (limited to 'poky/meta/recipes-multimedia/mpeg2dec/files')
3 files changed, 161 insertions, 0 deletions
diff --git a/poky/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch b/poky/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch new file mode 100644 index 000000000..5bf68b39e --- /dev/null +++ b/poky/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch @@ -0,0 +1,55 @@ +From cbcff58ed670c8edc0be1004384cbe0fd07d8d26 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 5 Jul 2017 18:49:21 -0700 +Subject: [PATCH 1/2] check for available arm optimizations + +Taken From +http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/65_arm-test-with-compiler.patch/ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index acdcb1e..2c0a721 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -59,7 +59,7 @@ elif test x"$GCC" = x"yes"; then + AC_TRY_CFLAGS([$TRY_CFLAGS $CFLAGS],[OPT_CFLAGS="$TRY_CFLAGS"]) + + dnl arch-specific flags +- arm_conditional=false ++ build_arm_opt=false + case "$host" in + i?86-* | k?-* | x86_64-* | amd64-*) + AC_DEFINE([ARCH_X86],,[x86 architecture]) +@@ -102,8 +102,12 @@ elif test x"$GCC" = x"yes"; then + alpha*) + AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);; + arm*) +- arm_conditional=: +- AC_DEFINE([ARCH_ARM],,[ARM architecture]);; ++ AC_LANG(C) ++ AC_COMPILE_IFELSE( ++ [AC_LANG_SOURCE([[ ++ void foo(void) { __asm__ volatile("pld [r1]"); }]])], ++ build_arm_opt=true; AC_DEFINE([ARCH_ARM],,[ARM architecture]), ++ build_arm_opt=false);; + esac + elif test x"$CC" = x"tendracc"; then + dnl TenDRA portability checking compiler +@@ -123,7 +127,7 @@ else + esac + fi + +-AM_CONDITIONAL(ARCH_ARM, ${arm_conditional}) ++AM_CONDITIONAL(ARCH_ARM, test x$build_arm_opt = xtrue) + + dnl Checks for libtool - this must be done after we set cflags + AC_LIBTOOL_WIN32_DLL +-- +2.13.2 + diff --git a/poky/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch b/poky/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch new file mode 100644 index 000000000..830169236 --- /dev/null +++ b/poky/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch @@ -0,0 +1,63 @@ +From f9d9dc92d75f8910e3cd5fdcbea72e505cdf3493 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 5 Jul 2017 19:03:36 -0700 +Subject: [PATCH 2/2] Set visibility of global symbols used in ARM specific + assembly file to internal + +Taken from +http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/60_arm-private-symbols.patch/ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libmpeg2/motion_comp_arm_s.S | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S +index f6c3d7d..c921f7c 100644 +--- a/libmpeg2/motion_comp_arm_s.S ++++ b/libmpeg2/motion_comp_arm_s.S +@@ -23,7 +23,8 @@ + + @ ---------------------------------------------------------------- + .align +- .global MC_put_o_16_arm ++ .global MC_put_o_16_arm ++ .internal MC_put_o_16_arm + MC_put_o_16_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -83,7 +84,8 @@ MC_put_o_16_arm_align_jt: + + @ ---------------------------------------------------------------- + .align +- .global MC_put_o_8_arm ++ .global MC_put_o_8_arm ++ .internal MC_put_o_8_arm + MC_put_o_8_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -152,7 +154,8 @@ MC_put_o_8_arm_align_jt: + .endm + + .align +- .global MC_put_x_16_arm ++ .global MC_put_x_16_arm ++ .internal MC_put_x_16_arm + MC_put_x_16_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +@@ -244,7 +247,8 @@ MC_put_x_16_arm_align_jt: + + @ ---------------------------------------------------------------- + .align +- .global MC_put_x_8_arm ++ .global MC_put_x_8_arm ++ .internal MC_put_x_8_arm + MC_put_x_8_arm: + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] +-- +2.13.2 + diff --git a/poky/meta/recipes-multimedia/mpeg2dec/files/altivec_h_needed.patch b/poky/meta/recipes-multimedia/mpeg2dec/files/altivec_h_needed.patch new file mode 100644 index 000000000..5113ad44f --- /dev/null +++ b/poky/meta/recipes-multimedia/mpeg2dec/files/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 a/configure.in b/configure.in +--- a/configure.ac 2010-09-14 20:55:42.399687663 +0800 ++++ b/configure.ac 2010-09-14 20:56:43.403204648 +0800 +@@ -79,11 +79,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)], |