diff options
Diffstat (limited to 'tools/depends/target/libmpeg2')
-rw-r--r-- | tools/depends/target/libmpeg2/01-libmpeg2-add-asm-leading-underscores.patch | 62 | ||||
-rw-r--r-- | tools/depends/target/libmpeg2/02-neon.patch | 385 | ||||
-rw-r--r-- | tools/depends/target/libmpeg2/03-config-fix.patch | 208 | ||||
-rw-r--r-- | tools/depends/target/libmpeg2/Makefile | 60 |
4 files changed, 715 insertions, 0 deletions
diff --git a/tools/depends/target/libmpeg2/01-libmpeg2-add-asm-leading-underscores.patch b/tools/depends/target/libmpeg2/01-libmpeg2-add-asm-leading-underscores.patch new file mode 100644 index 0000000000..f8bf8d34d8 --- /dev/null +++ b/tools/depends/target/libmpeg2/01-libmpeg2-add-asm-leading-underscores.patch @@ -0,0 +1,62 @@ +--- libmpeg2-0.5.1.org/libmpeg2/motion_comp_arm_s.S 2008-07-09 15:16:05.000000000 -0400 ++++ libmpeg2-0.5.1/libmpeg2/motion_comp_arm_s.S 2013-01-18 01:53:04.692900836 -0500 +@@ -23,8 +23,13 @@ + + @ ---------------------------------------------------------------- + .align +- .global MC_put_o_16_arm ++#if defined(__APPLE__) && defined(__arm__) ++ .global _MC_put_o_16_arm ++_MC_put_o_16_arm: ++#else ++ .global MC_put_o_16_arm + MC_put_o_16_arm: ++#endif + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] + stmfd sp!, {r4-r11, lr} @ R14 is also called LR +@@ -83,8 +88,13 @@ + + @ ---------------------------------------------------------------- + .align +- .global MC_put_o_8_arm ++#if defined(__APPLE__) && defined(__arm__) ++ .global _MC_put_o_8_arm ++_MC_put_o_8_arm: ++#else ++ .global MC_put_o_8_arm + MC_put_o_8_arm: ++#endif + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] + stmfd sp!, {r4-r10, lr} @ R14 is also called LR +@@ -152,8 +162,13 @@ + .endm + + .align +- .global MC_put_x_16_arm ++#if defined(__APPLE__) && defined(__arm__) ++ .global _MC_put_x_16_arm ++_MC_put_x_16_arm: ++#else ++ .global MC_put_x_16_arm + MC_put_x_16_arm: ++#endif + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] + stmfd sp!, {r4-r11,lr} @ R14 is also called LR +@@ -244,8 +259,13 @@ + + @ ---------------------------------------------------------------- + .align +- .global MC_put_x_8_arm ++#if defined(__APPLE__) && defined(__arm__) ++ .global _MC_put_x_8_arm ++_MC_put_x_8_arm: ++#else ++ .global MC_put_x_8_arm + MC_put_x_8_arm: ++#endif + @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) + pld [r1] + stmfd sp!, {r4-r11,lr} @ R14 is also called LR diff --git a/tools/depends/target/libmpeg2/02-neon.patch b/tools/depends/target/libmpeg2/02-neon.patch new file mode 100644 index 0000000000..329551b65e --- /dev/null +++ b/tools/depends/target/libmpeg2/02-neon.patch @@ -0,0 +1,385 @@ +Index: include/mpeg2.h +=================================================================== +--- include/mpeg2.h (révision 1193) ++++ include/mpeg2.h (copie de travail) +@@ -164,6 +164,7 @@ + #define MPEG2_ACCEL_SPARC_VIS 1 + #define MPEG2_ACCEL_SPARC_VIS2 2 + #define MPEG2_ACCEL_ARM 1 ++#define MPEG2_ACCEL_ARM_NEON 2 + #define MPEG2_ACCEL_DETECT 0x80000000 + + uint32_t mpeg2_accel (uint32_t accel); +Index: libmpeg2/motion_comp_neon.c +=================================================================== +--- libmpeg2/motion_comp_neon.c (révision 0) ++++ libmpeg2/motion_comp_neon.c (révision 0) +@@ -0,0 +1,302 @@ ++/* ++ * motion_comp_neon.c ++ * Copyright (C) 2009 Rémi Denis-Courmont ++ * ++ * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. ++ * See http://libmpeg2.sourceforge.net/ for updates. ++ * ++ * mpeg2dec is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * mpeg2dec is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with mpeg2dec; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#include "config.h" ++ ++#if defined(ARCH_ARM) ++ ++#include <stdint.h> ++#include <string.h> ++ ++#include "mpeg2.h" ++#include "attributes.h" ++#include "mpeg2_internal.h" ++ ++/* dest = ref */ ++static void MC_put_o_16_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ do { ++ memcpy (dest, ref, 16); ++ ref += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++static void MC_put_o_8_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ do { ++ memcpy (dest, ref, 8); ++ ref += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++/* dest = (src1 + src2 + 1) / 2 */ ++static void MC_avg_1_16_neon (uint8_t * dest, const uint8_t * src1, ++ const uint8_t * src2, ++ const int stride, unsigned height) ++{ ++ do { ++ asm volatile ( ++ "vld1.u8 {q0}, [%[src1]]\n" ++ "vld1.u8 {q1}, [%[src2]]\n" ++ "vrhadd.u8 q0, q0, q1\n" ++ /* XXX: three cycles stall */ ++ "vst1.u8 {q0}, [%[dest]]\n" ++ : ++ : [dest]"r"(dest), [src1]"r"(src1), [src2]"r"(src2) ++ : "memory", "q0", "q1"); ++ src1 += stride; ++ src2 += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++static void MC_avg_1_8_neon (uint8_t * dest, const uint8_t * src1, ++ const uint8_t * src2, ++ const int stride, unsigned height) ++{ ++ do { ++ asm volatile ( ++ "vld1.u8 {d0}, [%[src1]]\n" ++ "vld1.u8 {d1}, [%[src2]]\n" ++ "vrhadd.u8 d0, d0, d1\n" ++ "vst1.u8 {d0}, [%[dest]]\n" ++ : ++ : [dest]"r"(dest), [src1]"r"(src1), [src2]"r"(src2) ++ : "memory", "q0"); ++ ++ src1 += stride; ++ src2 += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++/* dest = (dest + ((src1 + src2 + 1) / 2) + 1) / 2 */ ++static void MC_avg_2_16_neon (uint8_t * dest, const uint8_t * src1, ++ const uint8_t * src2, ++ const int stride, unsigned height) ++{ ++ do { ++ asm volatile ( ++ "vld1.u8 {q0}, [%[src1]]\n" ++ "vld1.u8 {q1}, [%[src2]]\n" ++ "vrhadd.u8 q0, q0, q1\n" ++ "vld1.u8 {q2}, [%[dest]]\n" ++ /* XXX: one cycle stall */ ++ "vrhadd.u8 q0, q0, q2\n" ++ /* XXX: three cycles stall */ ++ "vst1.u8 {q0}, [%[dest]]\n" ++ : ++ : [dest]"r"(dest), [src1]"r"(src1), [src2]"r"(src2) ++ : "memory", "q0", "q1", "q2"); ++ src1 += stride; ++ src2 += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++static void MC_avg_2_8_neon (uint8_t * dest, const uint8_t * src1, ++ const uint8_t * src2, ++ const int stride, unsigned height) ++{ ++ do { ++ asm volatile ( ++ "vld1.u8 {d0}, [%[src1]]\n" ++ "vld1.u8 {d1}, [%[src2]]\n" ++ "vrhadd.u8 d0, d0, d1\n" ++ "vld1.u8 {d2}, [%[dest]]\n" ++ "vrhadd.u8 d0, d0, d2\n" ++ "vst1.u8 {d0}, [%[dest]]\n" ++ : ++ : [dest]"r"(dest), [src1]"r"(src1), [src2]"r"(src2) ++ : "memory", "q0", "d2"); ++ src1 += stride; ++ src2 += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++static void MC_avg_o_16_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_1_16_neon (dest, dest, ref, stride, height); ++} ++ ++static void MC_avg_o_8_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_1_8_neon (dest, dest, ref, stride, height); ++} ++ ++static void MC_put_x_16_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_1_16_neon (dest, ref, ref + 1, stride, height); ++} ++ ++static void MC_put_x_8_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_1_8_neon (dest, ref, ref + 1, stride, height); ++} ++ ++static void MC_avg_x_16_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_2_16_neon (dest, ref, ref + 1, stride, height); ++} ++ ++static void MC_avg_x_8_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_2_8_neon (dest, ref, ref + 1, stride, height); ++} ++ ++static void MC_put_y_16_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_1_16_neon (dest, ref, ref + stride, stride, height); ++} ++static void MC_put_y_8_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_1_8_neon (dest, ref, ref + stride, stride, height); ++} ++ ++static void MC_avg_y_16_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_2_16_neon (dest, ref, ref + stride, stride, height); ++} ++ ++static void MC_avg_y_8_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ MC_avg_2_8_neon (dest, ref, ref + stride, stride, height); ++} ++ ++static void MC_put_xy_16_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ do { ++ asm volatile ( ++ "vld1.u8 {q0}, [%[ref]]\n" ++ "vld1.u8 {q1}, [%[refx]]\n" ++ "vrhadd.u8 q0, q0, q1\n" ++ "vld1.u8 {q2}, [%[refy]]\n" ++ "vld1.u8 {q3}, [%[refxy]]\n" ++ "vrhadd.u8 q2, q2, q3\n" ++ /* XXX: three cycles stall */ ++ "vrhadd.u8 q0, q0, q2\n" ++ /* XXX: three cycles stall */ ++ "vst1.u8 {q0}, [%[dest]]\n" ++ : ++ : [dest]"r"(dest), [ref]"r"(ref), [refx]"r"(ref + 1), ++ [refy]"r"(ref + stride), [refxy]"r"(ref + stride + 1) ++ : "memory", "q0", "q1", "q2", "q3"); ++ ref += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++static void MC_put_xy_8_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ do { ++ asm volatile ( ++ "vld1.u8 {d0}, [%[ref]]\n" ++ "vld1.u8 {d1}, [%[refx]]\n" ++ "vrhadd.u8 d0, d0, d1\n" ++ "vld1.u8 {d2}, [%[refy]]\n" ++ "vld1.u8 {d3}, [%[refxy]]\n" ++ "vrhadd.u8 d2, d2, d3\n" ++ /* XXX: three cycles stall */ ++ "vrhadd.u8 d0, d0, d2\n" ++ /* XXX: three cycles stall */ ++ "vst1.u8 {d0}, [%[dest]]\n" ++ : ++ : [dest]"r"(dest), [ref]"r"(ref), [refx]"r"(ref + 1), ++ [refy]"r"(ref + stride), [refxy]"r"(ref + stride + 1) ++ : "memory", "q0", "q1"); ++ ref += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++static void MC_avg_xy_16_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ do { ++ asm volatile ( ++ "vld1.u8 {q0}, [%[ref]]\n" ++ "vld1.u8 {q1}, [%[refx]]\n" ++ "vrhadd.u8 q0, q0, q1\n" ++ "vld1.u8 {q2}, [%[refy]]\n" ++ "vld1.u8 {q3}, [%[refxy]]\n" ++ "vrhadd.u8 q2, q2, q3\n" ++ "vld1.u8 {q4}, [%[dest]]\n" ++ /* XXX: one cycle stall */ ++ "vrhadd.u8 q0, q0, q2\n" ++ /* XXX: three cycles stall */ ++ "vrhadd.u8 q0, q4, q0\n" ++ "vst1.u8 {q0}, [%[dest]]\n" ++ : ++ : [dest]"r"(dest), [ref]"r"(ref), [refx]"r"(ref + 1), ++ [refy]"r"(ref + stride), [refxy]"r"(ref + stride + 1) ++ : "memory", "q0", "q1", "q2", "q3", "q4"); ++ ref += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++static void MC_avg_xy_8_neon (uint8_t * dest, const uint8_t * ref, ++ const int stride, int height) ++{ ++ do { ++ asm volatile ( ++ "vld1.u8 {d0}, [%[ref]]\n" ++ "vld1.u8 {d1}, [%[refx]]\n" ++ "vrhadd.u8 d0, d0, d1\n" ++ "vld1.u8 {d2}, [%[refy]]\n" ++ "vld1.u8 {d3}, [%[refxy]]\n" ++ "vrhadd.u8 d2, d2, d3\n" ++ "vld1.u8 {d4}, [%[dest]]\n" ++ /* XXX: one cycle stall */ ++ "vrhadd.u8 d0, d0, d2\n" ++ /* XXX: three cycles stall */ ++ "vrhadd.u8 d0, d4, d0\n" ++ "vst1.u8 {d0}, [%[dest]]\n" ++ : ++ : [dest]"r"(dest), [ref]"r"(ref), [refx]"r"(ref + 1), ++ [refy]"r"(ref + stride), [refxy]"r"(ref + stride + 1) ++ : "memory", "q0", "q1", "d4"); ++ ref += stride; ++ dest += stride; ++ } while (--height); ++} ++ ++MPEG2_MC_EXTERN (neon) ++ ++#endif /* ARCH_ARM */ + +Modification de propriétés sur libmpeg2/motion_comp_neon.c +___________________________________________________________________ +Ajouté : svn:eol-style + + native + +Index: libmpeg2/mpeg2_internal.h +=================================================================== +--- libmpeg2/mpeg2_internal.h (révision 1193) ++++ libmpeg2/mpeg2_internal.h (copie de travail) +@@ -313,5 +313,6 @@ + extern mpeg2_mc_t mpeg2_mc_alpha; + extern mpeg2_mc_t mpeg2_mc_vis; + extern mpeg2_mc_t mpeg2_mc_arm; ++extern mpeg2_mc_t mpeg2_mc_neon; + + #endif /* LIBMPEG2_MPEG2_INTERNAL_H */ +Index: libmpeg2/motion_comp.c +=================================================================== +--- libmpeg2/motion_comp.c (révision 1193) ++++ libmpeg2/motion_comp.c (copie de travail) +@@ -58,6 +58,11 @@ + else + #endif + #ifdef ARCH_ARM ++#ifdef ARCH_ARM ++ if (accel & MPEG2_ACCEL_ARM) ++ mpeg2_mc = mpeg2_mc_neon; ++ else ++#endif + if (accel & MPEG2_ACCEL_ARM) { + mpeg2_mc = mpeg2_mc_arm; + } else +Index: libmpeg2/Makefile.am +=================================================================== +--- libmpeg2/Makefile.am (révision 1193) ++++ libmpeg2/Makefile.am (copie de travail) +@@ -14,7 +14,7 @@ + motion_comp_vis.c motion_comp_arm.c \ + cpu_accel.c cpu_state.c + if ARCH_ARM +-libmpeg2arch_la_SOURCES += motion_comp_arm_s.S ++libmpeg2arch_la_SOURCES += motion_comp_arm_s.S motion_comp_neon.c + endif + libmpeg2arch_la_CFLAGS = $(OPT_CFLAGS) $(ARCH_OPT_CFLAGS) $(LIBMPEG2_CFLAGS) + +Index: configure.ac +=================================================================== +--- configure.ac (révision 1193) ++++ configure.ac (copie de travail) +@@ -103,7 +103,14 @@ + AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);; + arm*) + arm_conditional=: +- AC_DEFINE([ARCH_ARM],,[ARM architecture]);; ++ AC_DEFINE([ARCH_ARM],,[ARM architecture]) ++ AC_MSG_CHECKING([if inline ARM Advanced SIMD assembly is supported]) ++ AC_TRY_COMPILE([], ++ [asm ("vqmovun.s64 d0, q1":::"d0");], ++ [AC_DEFINE([ARCH_ARM_NEON],, [ARM Advanced SIMD assembly]) ++ AC_MSG_RESULT(yes)], ++ [AC_MSG_RESULT(no)]) ++ ;; + esac + elif test x"$CC" = x"tendracc"; then + dnl TenDRA portability checking compiler diff --git a/tools/depends/target/libmpeg2/03-config-fix.patch b/tools/depends/target/libmpeg2/03-config-fix.patch new file mode 100644 index 0000000000..98f766ed6a --- /dev/null +++ b/tools/depends/target/libmpeg2/03-config-fix.patch @@ -0,0 +1,208 @@ +--- a/libmpeg2/Makefile.in 2011-01-29 10:17:27.000000000 +0100 ++++ b/libmpeg2/Makefile.in 2011-01-29 10:28:26.000000000 +0100 +@@ -1,8 +1,8 @@ +-# Makefile.in generated by automake 1.10.1 from Makefile.am. ++# Makefile.in generated by automake 1.10 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -33,14 +33,17 @@ + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ +-@ARCH_ARM_TRUE@am__append_1 = motion_comp_arm_s.S ++@ARCH_ARM_TRUE@am__append_1 = motion_comp_arm_s.S motion_comp_neon.c + subdir = libmpeg2 + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/libmpeg2.pc.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/m4/cflags.m4 \ + $(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/keywords.m4 \ +- $(top_srcdir)/m4/nonpic.m4 $(top_srcdir)/configure.ac ++ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ ++ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ ++ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nonpic.m4 \ ++ $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + mkinstalldirs = $(install_sh) -d +@@ -66,8 +69,9 @@ + am__libmpeg2arch_la_SOURCES_DIST = motion_comp_mmx.c idct_mmx.c \ + motion_comp_altivec.c idct_altivec.c motion_comp_alpha.c \ + idct_alpha.c motion_comp_vis.c motion_comp_arm.c cpu_accel.c \ +- cpu_state.c motion_comp_arm_s.S +-@ARCH_ARM_TRUE@am__objects_1 = motion_comp_arm_s.lo ++ cpu_state.c motion_comp_arm_s.S motion_comp_neon.c ++@ARCH_ARM_TRUE@am__objects_1 = motion_comp_arm_s.lo \ ++@ARCH_ARM_TRUE@ libmpeg2arch_la-motion_comp_neon.lo + am_libmpeg2arch_la_OBJECTS = libmpeg2arch_la-motion_comp_mmx.lo \ + libmpeg2arch_la-idct_mmx.lo \ + libmpeg2arch_la-motion_comp_altivec.lo \ +@@ -82,7 +86,7 @@ + libmpeg2arch_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libmpeg2arch_la_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include ++DEFAULT_INCLUDES = -I. -I$(top_builddir)/include@am__isrc@ + depcomp = $(SHELL) $(top_srcdir)/.auto/depcomp + am__depfiles_maybe = depfiles + CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +@@ -135,29 +139,25 @@ + CFLAGS = @CFLAGS@ + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ +-CXX = @CXX@ +-CXXCPP = @CXXCPP@ +-CXXDEPMODE = @CXXDEPMODE@ +-CXXFLAGS = @CXXFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DEFS = @DEFS@ + DEPDIR = @DEPDIR@ + DLLTOOL = @DLLTOOL@ + DSYMUTIL = @DSYMUTIL@ +-ECHO = @ECHO@ ++DUMPBIN = @DUMPBIN@ + ECHO_C = @ECHO_C@ + ECHO_N = @ECHO_N@ + ECHO_T = @ECHO_T@ + EGREP = @EGREP@ + EXEEXT = @EXEEXT@ +-F77 = @F77@ +-FFLAGS = @FFLAGS@ ++FGREP = @FGREP@ + GREP = @GREP@ + INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ + LDFLAGS = @LDFLAGS@ + LIBMPEG2_CFLAGS = @LIBMPEG2_CFLAGS@ + LIBOBJS = @LIBOBJS@ +@@ -165,16 +165,20 @@ + LIBTOOL = @LIBTOOL@ + LIBVO_CFLAGS = @LIBVO_CFLAGS@ + LIBVO_LIBS = @LIBVO_LIBS@ ++LIPO = @LIPO@ + LN_S = @LN_S@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAKEINFO = @MAKEINFO@ + MKDIR_P = @MKDIR_P@ + MPEG2DEC_CFLAGS = @MPEG2DEC_CFLAGS@ ++NM = @NM@ + NMEDIT = @NMEDIT@ + OBJDUMP = @OBJDUMP@ + OBJEXT = @OBJEXT@ + OPT_CFLAGS = @OPT_CFLAGS@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ + PACKAGE = @PACKAGE@ + PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + PACKAGE_NAME = @PACKAGE_NAME@ +@@ -199,8 +203,7 @@ + abs_top_builddir = @abs_top_builddir@ + abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_CXX = @ac_ct_CXX@ +-ac_ct_F77 = @ac_ct_F77@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ + am__quote = @am__quote@ +@@ -231,6 +234,7 @@ + libexecdir = @libexecdir@ + localedir = @localedir@ + localstatedir = @localstatedir@ ++lt_ECHO = @lt_ECHO@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ + oldincludedir = @oldincludedir@ +@@ -301,8 +305,8 @@ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ +- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ +- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ ++ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ ++ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +@@ -310,8 +314,8 @@ + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ +- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ +- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ ++ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ ++ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + + clean-libLTLIBRARIES: +@@ -355,6 +359,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpeg2arch_la-motion_comp_altivec.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpeg2arch_la-motion_comp_arm.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpeg2arch_la-motion_comp_mmx.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpeg2arch_la-motion_comp_neon.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmpeg2arch_la-motion_comp_vis.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/motion_comp.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/motion_comp_arm_s.Plo@am__quote@ +@@ -472,6 +477,13 @@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmpeg2arch_la_CFLAGS) $(CFLAGS) -c -o libmpeg2arch_la-cpu_state.lo `test -f 'cpu_state.c' || echo '$(srcdir)/'`cpu_state.c + ++libmpeg2arch_la-motion_comp_neon.lo: motion_comp_neon.c ++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmpeg2arch_la_CFLAGS) $(CFLAGS) -MT libmpeg2arch_la-motion_comp_neon.lo -MD -MP -MF $(DEPDIR)/libmpeg2arch_la-motion_comp_neon.Tpo -c -o libmpeg2arch_la-motion_comp_neon.lo `test -f 'motion_comp_neon.c' || echo '$(srcdir)/'`motion_comp_neon.c ++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libmpeg2arch_la-motion_comp_neon.Tpo $(DEPDIR)/libmpeg2arch_la-motion_comp_neon.Plo ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='motion_comp_neon.c' object='libmpeg2arch_la-motion_comp_neon.lo' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmpeg2arch_la_CFLAGS) $(CFLAGS) -c -o libmpeg2arch_la-motion_comp_neon.lo `test -f 'motion_comp_neon.c' || echo '$(srcdir)/'`motion_comp_neon.c ++ + mostlyclean-libtool: + -rm -f *.lo + +@@ -570,8 +582,8 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ +- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ +- END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ + mkid -fID $$unique + tags: TAGS + +@@ -596,8 +608,8 @@ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ +- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ +- END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ +@@ -607,12 +619,13 @@ + CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ ++ here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ +- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ +- END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique diff --git a/tools/depends/target/libmpeg2/Makefile b/tools/depends/target/libmpeg2/Makefile new file mode 100644 index 0000000000..800d647097 --- /dev/null +++ b/tools/depends/target/libmpeg2/Makefile @@ -0,0 +1,60 @@ +include ../../Makefile.include +DEPS= ../../Makefile.include Makefile + +# lib name, version +LIBNAME=libmpeg2 +VERSION=0.5.1 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.gz + +# configuration settings +CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .auto/ ; \ + ./configure --prefix=$(PREFIX) --disable-sdl + +LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/$(LIBNAME).a + +CLEAN_FILES=$(ARCHIVE) $(PLATFORM) + +all: .installed-$(PLATFORM) + +$(TARBALLS_LOCATION)/$(ARCHIVE): + cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) +ifeq ($(OS),ios) + cd $(PLATFORM); patch -p1 < ../01-libmpeg2-add-asm-leading-underscores.patch + cd $(PLATFORM); patch -p0 < ../02-neon.patch + cd $(PLATFORM); patch -p1 < ../03-config-fix.patch +endif + cd $(PLATFORM); $(CONFIGURE) + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM) + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(PLATFORM) install +ifeq ($(OS),android) + rm -f $(PREFIX)/lib/libmpeg2.la $(PREFIX)/lib/libmpeg2.so $(PREFIX)/lib/libmpeg2.so.0 + mv -f $(PREFIX)/lib/libmpeg2.so.0.1.0 $(PREFIX)/lib/libxbmpeg2.so + ln -sf $(PREFIX)/lib/libxbmpeg2.so $(PREFIX)/lib/libmpeg2.so + $(RPL) -e "libmpeg2.so.0" "libxbmpeg2.so" $(PREFIX)/lib/libxbmpeg2.so + -$(READELF) --dynamic $(PREFIX)/lib/libxbmpeg2.so | grep ibrary + # + rm -f $(PREFIX)/lib/libmpeg2convert.la $(PREFIX)/lib/libmpeg2convert.so $(PREFIX)/lib/libmpeg2convert.so.0 + mv -f $(PREFIX)/lib/libmpeg2convert.so.0.0.0 $(PREFIX)/lib/libxbmpeg2convert.so + ln -sf $(PREFIX)/lib/libxbmpeg2convert.so $(PREFIX)/lib/libmpeg2convert.so + $(RPL) -e "libmpeg2convert.so.0" "libxbmpeg2convert.so" $(PREFIX)/lib/libxbmpeg2convert.so + -$(READELF) --dynamic $(PREFIX)/lib/libxbmpeg2convert.so | grep ibrary + # +endif + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) + |