]> git.sesse.net Git - vlc/commitdiff
contrib: update to speex git HEAD
authorRafaël Carré <funman@videolan.org>
Sun, 8 Dec 2013 08:10:39 +0000 (09:10 +0100)
committerRafaël Carré <funman@videolan.org>
Sun, 8 Dec 2013 08:12:06 +0000 (09:12 +0100)
split speex and speexdsp

contrib/src/speex/0001-Add-disable-binaries-option-to-build-only-the-librar.patch [new file with mode: 0644]
contrib/src/speex/automake.patch [deleted file]
contrib/src/speex/no-ogg.patch [deleted file]
contrib/src/speex/rules.mak
contrib/src/speexdsp/neon.patch [moved from contrib/src/speex/neon.patch with 86% similarity]
contrib/src/speexdsp/rules.mak [new file with mode: 0644]

diff --git a/contrib/src/speex/0001-Add-disable-binaries-option-to-build-only-the-librar.patch b/contrib/src/speex/0001-Add-disable-binaries-option-to-build-only-the-librar.patch
new file mode 100644 (file)
index 0000000..7211e6c
--- /dev/null
@@ -0,0 +1,40 @@
+From 20bc88f0cda8325cf5d22ee470f7f93c87891a91 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= <funman@videolan.org>
+Date: Sun, 8 Dec 2013 08:44:07 +0100
+Subject: [PATCH] Add --disable-binaries option to build only the library
+
+---
+ configure.ac | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 07ebff2..01dbfba 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -109,7 +109,13 @@ AC_MSG_RESULT($has_visibility)
+ AC_CHECK_HEADERS(sys/soundcard.h sys/audioio.h)
+-XIPH_PATH_OGG([src="src"], [src=""])
++AC_ARG_ENABLE(binaries, [  --disable-binaries      Do not build the encoder and decoder binaries, only the library])
++if test "$enable_binaries" != no; then
++    XIPH_PATH_OGG([src="src"], [src=""])
++else
++    src=""
++fi
++
+ AC_SUBST(src)
+ LT_LIB_M
+@@ -339,7 +345,7 @@ AC_CONFIG_HEADERS([config.h])
+ AC_OUTPUT
+-if test "x$src" = "x"; then 
++if test "x$src" = "x" -a "$enable_binaries" != no; then
+ echo "**IMPORTANT**"
+ echo "You don't seem to have the development package for libogg (libogg-devel) installed. Only the Speex library (libspeex) will be built (no encoder/decoder executable)"
+ echo "You can download libogg from http://downloads.xiph.org/releases/ogg/"
+-- 
+1.8.3.2
+
diff --git a/contrib/src/speex/automake.patch b/contrib/src/speex/automake.patch
deleted file mode 100644 (file)
index 82b7656..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
---- speex/configure.ac.orig    2013-10-16 12:58:06.707579608 +0200
-+++ speex/configure.ac 2013-10-16 12:58:21.423579879 +0200
-@@ -1,32 +1,29 @@
- dnl Process this file with autoconf to produce a configure script. -*-m4-*-
--AC_INIT(libspeex/speex.c)
--
--AM_CONFIG_HEADER([config.h])
--
- SPEEX_MAJOR_VERSION=1
- SPEEX_MINOR_VERSION=1
- SPEEX_MICRO_VERSION=16
- SPEEX_EXTRA_VERSION=
- #SPEEX_VERSION=
- #SPEEX_VERSION=$SPEEX_MAJOR_VERSION.$SPEEX_MINOR_VERSION.$SPEEX_MICRO_VERSION$SPEEX_EXTRA_VERSION
-+AC_INIT([speex], 1.2rc1)
- SPEEX_VERSION="1.2rc1"
- SPEEX_LT_CURRENT=6
- SPEEX_LT_REVISION=0
- SPEEX_LT_AGE=5
-+AC_CONFIG_SRCDIR(libspeex/speex.c)
-+AM_INIT_AUTOMAKE
-+
-+AM_CONFIG_HEADER([config.h])
-+
- AC_SUBST(SPEEX_LT_CURRENT)
- AC_SUBST(SPEEX_LT_REVISION)
- AC_SUBST(SPEEX_LT_AGE)
--# For automake.
--VERSION=$SPEEX_VERSION
--PACKAGE=speex
--
- AC_SUBST(SPEEX_VERSION)
--AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
- AM_MAINTAINER_MODE
- AC_CANONICAL_HOST
---- speex/libspeex/speex.c.orig        2013-10-16 13:02:22.643584325 +0200
-+++ speex/libspeex/speex.c     2013-10-16 13:01:25.995583281 +0200
-@@ -222,6 +222,7 @@
- {
-    switch (request)
-    {
-+#if 0
-       case SPEEX_LIB_GET_MAJOR_VERSION:
-          *((int*)ptr) = SPEEX_MAJOR_VERSION;
-          break;
-@@ -237,6 +238,7 @@
-       case SPEEX_LIB_GET_VERSION_STRING:
-          *((const char**)ptr) = SPEEX_VERSION;
-          break;
-+#endif
-       /*case SPEEX_LIB_SET_ALLOC_FUNC:
-          break;
-       case SPEEX_LIB_GET_ALLOC_FUNC:
diff --git a/contrib/src/speex/no-ogg.patch b/contrib/src/speex/no-ogg.patch
deleted file mode 100644 (file)
index a8f40f0..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -ur speex.orig/configure.ac speex/configure.ac
---- speex.orig/configure.ac    2012-01-22 15:23:09.767731000 -0500
-+++ speex/configure.ac 2012-01-22 15:24:03.891731001 -0500
-@@ -112,7 +112,7 @@
- AC_CHECK_HEADERS(sys/soundcard.h sys/audioio.h)
--XIPH_PATH_OGG([src="src"], [src=""])
-+src=
- AC_SUBST(src)
- AC_CHECK_LIB(m, sin)
-diff -ur speex.orig/libspeex/Makefile.am speex/libspeex/Makefile.am
---- speex.orig/libspeex/Makefile.am    2012-01-22 15:23:09.759731001 -0500
-+++ speex/libspeex/Makefile.am 2012-01-22 15:23:40.799730998 -0500
-@@ -11,7 +11,7 @@
- EXTRA_DIST=echo_diagnostic.m
--INCLUDES = -I$(top_builddir)/include -I$(top_builddir) @OGG_CFLAGS@ @FFT_CFLAGS@
-+INCLUDES = -I$(top_builddir)/include -I$(top_builddir) @FFT_CFLAGS@
- lib_LTLIBRARIES = libspeex.la libspeexdsp.la
-diff -ur speex.orig/src/Makefile.am speex/src/Makefile.am
---- speex.orig/src/Makefile.am 2012-01-22 15:23:09.775731000 -0500
-+++ speex/src/Makefile.am      2012-01-22 15:23:30.351731024 -0500
-@@ -11,7 +11,7 @@
-   VPSY_LIB=
- endif
--INCLUDES = -I$(top_builddir) @OGG_CFLAGS@
-+INCLUDES = -I$(top_builddir)
- man_MANS = speexenc.1 speexdec.1
-@@ -24,8 +24,8 @@
- speexenc_SOURCES = speexenc.c wav_io.c skeleton.c
- speexenc_LDADD = $(top_builddir)/libspeex/libspeex.la $(top_builddir)/libspeex/libspeexdsp.la \
--      $(OGG_LIBS)  @FFT_LIBS@ 
-+      @FFT_LIBS@
- speexdec_SOURCES = speexdec.c wav_io.c
- speexdec_LDADD = $(top_builddir)/libspeex/libspeex.la $(VPSY_LIB) \
--      $(OGG_LIBS)  @FFT_LIBS@
-+      @FFT_LIBS@
index b13133fb030a1b179092f859c0b9f4c4b11ee564..ee0f0ce3cd3f9477d7e787b2dc9b3e085bf6346d 100644 (file)
@@ -3,8 +3,7 @@
 #SPEEX_VERSION := 1.2rc1
 #SPEEX_URL := http://downloads.us.xiph.org/releases/speex/speex-$(SPEEX_VERSION).tar.gz
 SPEEX_VERSION := git
-SPEEX_HASH := a6d05eb
-#SPEEX_HASH := HEAD
+SPEEX_HASH := HEAD
 SPEEX_GITURL := http://git.xiph.org/?p=speex.git;a=snapshot;h=$(SPEEX_HASH);sf=tgz
 
 PKGS += speex
@@ -26,12 +25,10 @@ speex: speex-$(SPEEX_VERSION).tar.gz .sum-speex
        rm -Rf $@-git
        mkdir -p $@-git
        $(ZCAT) "$<" | (cd $@-git && tar xv --strip-components=1)
-       $(APPLY) $(SRC)/speex/no-ogg.patch
-       $(APPLY) $(SRC)/speex/automake.patch
-       $(APPLY) $(SRC)/speex/neon.patch
+       $(APPLY) $(SRC)/speex/0001-Add-disable-binaries-option-to-build-only-the-librar.patch
        $(MOVE)
 
-SPEEX_CONF := --without-ogg --enable-resample-full-sinc-table
+SPEEX_CONF := --disable-binaries
 ifndef HAVE_FPU
 SPEEX_CONF += --enable-fixed-point
 ifeq ($(ARCH),arm)
@@ -40,23 +37,7 @@ endif
 endif
 
 .speex: speex
-       $(RECONF)
+       mkdir -p $</m4 && $(RECONF)
        cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(SPEEX_CONF)
        cd $< && $(MAKE) install
        touch $@
-
-# Speex DSP
-
-PKGS += speexdsp
-PKGS_ALL += speexdsp
-ifeq ($(call need_pkg,"speexdsp"),)
-PKGS_FOUND += speexdsp
-endif
-
-.sum-speexdsp: .sum-speex
-       touch -r $< $@
-
-DEPS_speexdsp = speex $(DEPS_speex)
-
-.speexdsp:
-       touch $@
similarity index 86%
rename from contrib/src/speex/neon.patch
rename to contrib/src/speexdsp/neon.patch
index e897bf804d967164567a1b7e8cdd53ad33645b4c..f2f4286d77ad4689077dab2644e0b92bc011da76 100644 (file)
@@ -1,4 +1,4 @@
-From 9faa77ebb077e629ad5c5e1a84fa637cda30538d Mon Sep 17 00:00:00 2001
+From b1654a302361ec9f612fca84da941ae99c669795 Mon Sep 17 00:00:00 2001
 From: Jyri Sarha <jsarha@ti.com>
 Date: Thu, 1 Sep 2011 15:30:27 +0300
 Subject: [PATCH 1/4] resample: Calculate full sinc table (e.g. no sinc
@@ -16,15 +16,15 @@ configure.ac: Add --enable-resample-full-sinc-table conf flag
 
 Use this flag to enable resampling with full sinc table.
 ---
- configure.ac        |    5 +++++
- libspeex/resample.c |    4 ++++
- 2 files changed, 9 insertions(+), 0 deletions(-)
+ configure.ac           | 5 +++++
+ libspeexdsp/resample.c | 4 ++++
+ 2 files changed, 9 insertions(+)
 
 diff --git a/configure.ac b/configure.ac
-index 3179521..2f87461 100644
+index 2ba0b13..9ce4f97 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -198,6 +198,11 @@ AC_ARG_ENABLE(fixed-point-debug, [  --enable-fixed-point-debug  Debug fixed-poin
+@@ -168,6 +168,11 @@ AC_ARG_ENABLE(fixed-point-debug, [  --enable-fixed-point-debug  Debug fixed-poin
    AC_DEFINE([FIXED_DEBUG], , [Debug fixed-point implementation])
  fi])
  
@@ -36,10 +36,10 @@ index 3179521..2f87461 100644
  AC_ARG_ENABLE(ti-c55x, [  --enable-ti-c55x        Enable support for TI C55X DSP],
  [if test "$enableval" = yes; then
    has_char16=yes;
-diff --git a/libspeex/resample.c b/libspeex/resample.c
-index 7b5a308..3829715 100644
---- a/libspeex/resample.c
-+++ b/libspeex/resample.c
+diff --git a/libspeexdsp/resample.c b/libspeexdsp/resample.c
+index 7121445..3588f7b 100644
+--- a/libspeexdsp/resample.c
++++ b/libspeexdsp/resample.c
 @@ -585,7 +585,11 @@ static void update_filter(SpeexResamplerState *st)
     }
     
@@ -47,15 +47,15 @@ index 7b5a308..3829715 100644
 +#ifdef RESAMPLE_FULL_SINC_TABLE
 +   if (1) 
 +#else
-    if (st->den_rate <= st->oversample)
+    if (st->filt_len*st->den_rate <= st->filt_len*st->oversample+8)
 +#endif
     {
        spx_uint32_t i;
        if (!st->sinc_table)
 -- 
-1.7.8.3
+1.8.3.2
 
-From 3da94c7da3357438e39b5b6d110529fdd6796c25 Mon Sep 17 00:00:00 2001
+From 6a882b92234b0715d0227777217e4b869a2fade1 Mon Sep 17 00:00:00 2001
 From: Jyri Sarha <jsarha@ti.com>
 Date: Thu, 1 Sep 2011 15:30:30 +0300
 Subject: [PATCH 2/4] configure.ac: Add ARM NEON support
@@ -63,14 +63,14 @@ Subject: [PATCH 2/4] configure.ac: Add ARM NEON support
 Use --enable-neon to force NEON optimization on. The auto detection
 should also work if your CFLAGS supports NEON.
 ---
- configure.ac |   30 ++++++++++++++++++++++++++++++
- 1 files changed, 30 insertions(+), 0 deletions(-)
+ configure.ac | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
 
 diff --git a/configure.ac b/configure.ac
-index 2f87461..08d3d5f 100644
+index 9ce4f97..d851a52 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -89,6 +89,23 @@ has_sse=no
+@@ -81,6 +81,23 @@ has_sse=no
  )
  AC_MSG_RESULT($has_sse)  
  
@@ -94,7 +94,7 @@ index 2f87461..08d3d5f 100644
  SAVE_CFLAGS="$CFLAGS"
  CFLAGS="$CFLAGS -fvisibility=hidden"
  AC_MSG_CHECKING(for ELF visibility)
-@@ -148,6 +165,15 @@ has_sse=no
+@@ -123,6 +140,15 @@ has_sse=no
  fi
  ])
  
@@ -110,7 +110,7 @@ index 2f87461..08d3d5f 100644
  
  FFT=smallft
  
-@@ -165,6 +191,10 @@ if test "$has_sse" = yes; then
+@@ -140,6 +166,10 @@ if test "$has_sse" = yes; then
    AC_DEFINE([_USE_SSE], , [Enable SSE support])
  fi
  
@@ -122,9 +122,9 @@ index 2f87461..08d3d5f 100644
  [if test "$enableval" = no; then
    AC_DEFINE([DISABLE_FLOAT_API], , [Disable all parts of the API that are using floats])
 -- 
-1.7.8.3
+1.8.3.2
 
-From bf0e909164995b820066111d401c793e121d55ac Mon Sep 17 00:00:00 2001
+From fcb1b3668d6efbf52bc229da0769d66edc19d483 Mon Sep 17 00:00:00 2001
 From: Jyri Sarha <jsarha@ti.com>
 Date: Thu, 1 Sep 2011 15:30:29 +0300
 Subject: [PATCH 3/4] resample: Add NEON optimized inner_product_single for
@@ -140,18 +140,18 @@ does pretty much the same thing as SATURATE32(PSHR32(x, shift), a),
 but it avoids over flowing in rounding up phase in the rare occasion
 where x has already been saturated. It should also be slightly faster.
 ---
- libspeex/arch.h          |    1 +
- libspeex/fixed_generic.h |    4 ++
- libspeex/resample.c      |   10 ++++-
- libspeex/resample_neon.h |  100 ++++++++++++++++++++++++++++++++++++++++++++++
+ libspeexdsp/arch.h          |   1 +
+ libspeexdsp/fixed_generic.h |   4 ++
+ libspeexdsp/resample.c      |  10 ++++-
+ libspeexdsp/resample_neon.h | 100 ++++++++++++++++++++++++++++++++++++++++++++
  4 files changed, 113 insertions(+), 2 deletions(-)
- create mode 100644 libspeex/resample_neon.h
+ create mode 100644 libspeexdsp/resample_neon.h
 
-diff --git a/libspeex/arch.h b/libspeex/arch.h
-index 3b47ed9..daa72a7 100644
---- a/libspeex/arch.h
-+++ b/libspeex/arch.h
-@@ -171,6 +171,7 @@ typedef float spx_word32_t;
+diff --git a/libspeexdsp/arch.h b/libspeexdsp/arch.h
+index 18446dd..535d308 100644
+--- a/libspeexdsp/arch.h
++++ b/libspeexdsp/arch.h
+@@ -163,6 +163,7 @@ typedef float spx_word32_t;
  #define VSHR32(a,shift) (a)
  #define SATURATE16(x,a) (x)
  #define SATURATE32(x,a) (x)
@@ -159,10 +159,10 @@ index 3b47ed9..daa72a7 100644
  
  #define PSHR(a,shift)       (a)
  #define SHR(a,shift)       (a)
-diff --git a/libspeex/fixed_generic.h b/libspeex/fixed_generic.h
+diff --git a/libspeexdsp/fixed_generic.h b/libspeexdsp/fixed_generic.h
 index 3fb096e..0e012e9 100644
---- a/libspeex/fixed_generic.h
-+++ b/libspeex/fixed_generic.h
+--- a/libspeexdsp/fixed_generic.h
++++ b/libspeexdsp/fixed_generic.h
 @@ -52,6 +52,10 @@
  #define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
  #define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
@@ -174,10 +174,10 @@ index 3fb096e..0e012e9 100644
  #define SHR(a,shift) ((a) >> (shift))
  #define SHL(a,shift) ((spx_word32_t)(a) << (shift))
  #define PSHR(a,shift) (SHR((a)+((EXTEND32(1)<<((shift))>>1)),shift))
-diff --git a/libspeex/resample.c b/libspeex/resample.c
-index 3829715..7957c61 100644
---- a/libspeex/resample.c
-+++ b/libspeex/resample.c
+diff --git a/libspeexdsp/resample.c b/libspeexdsp/resample.c
+index 3588f7b..ad59b97 100644
+--- a/libspeexdsp/resample.c
++++ b/libspeexdsp/resample.c
 @@ -99,6 +99,10 @@ static void speex_free (void *ptr) {free(ptr);}
  #include "resample_sse.h"
  #endif
@@ -218,11 +218,11 @@ index 3829715..7957c61 100644
        last_sample += int_advance;
        samp_frac_num += frac_advance;
        if (samp_frac_num >= den_rate)
-diff --git a/libspeex/resample_neon.h b/libspeex/resample_neon.h
+diff --git a/libspeexdsp/resample_neon.h b/libspeexdsp/resample_neon.h
 new file mode 100644
 index 0000000..ba93e41
 --- /dev/null
-+++ b/libspeex/resample_neon.h
++++ b/libspeexdsp/resample_neon.h
 @@ -0,0 +1,100 @@
 +/* Copyright (C) 2007-2008 Jean-Marc Valin
 + * Copyright (C) 2008 Thorvald Natvig
@@ -325,9 +325,9 @@ index 0000000..ba93e41
 +}
 +#endif
 -- 
-1.7.8.3
+1.8.3.2
 
-From e2127a3db9e43b4336e79e5746f3053c0c799562 Mon Sep 17 00:00:00 2001
+From 9864346021128b8a985542811612225d7b4acee7 Mon Sep 17 00:00:00 2001
 From: Jyri Sarha <jsarha@ti.com>
 Date: Thu, 1 Sep 2011 15:30:31 +0300
 Subject: [PATCH 4/4] resample: Add NEON optimized inner_product_single for
@@ -336,13 +336,13 @@ Subject: [PATCH 4/4] resample: Add NEON optimized inner_product_single for
 Also adds inline asm implementations of WORD2INT(x) macro for fixed
 and floating point.
 ---
- libspeex/resample_neon.h |  101 ++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 101 insertions(+), 0 deletions(-)
+ libspeexdsp/resample_neon.h | 101 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 101 insertions(+)
 
-diff --git a/libspeex/resample_neon.h b/libspeex/resample_neon.h
+diff --git a/libspeexdsp/resample_neon.h b/libspeexdsp/resample_neon.h
 index ba93e41..e7e981e 100644
---- a/libspeex/resample_neon.h
-+++ b/libspeex/resample_neon.h
+--- a/libspeexdsp/resample_neon.h
++++ b/libspeexdsp/resample_neon.h
 @@ -39,6 +39,30 @@
  #include <arm_neon.h>
  
@@ -457,5 +457,5 @@ index ba93e41..e7e981e 100644
 +}
  #endif
 -- 
-1.7.8.3
+1.8.3.2
 
diff --git a/contrib/src/speexdsp/rules.mak b/contrib/src/speexdsp/rules.mak
new file mode 100644 (file)
index 0000000..d2de109
--- /dev/null
@@ -0,0 +1,38 @@
+# speexdsp
+
+SPEEXDSP_VERSION := git
+SPEEXDSP_HASH := HEAD
+SPEEXDSP_GITURL := http://git.xiph.org/?p=speexdsp.git;a=snapshot;h=$(SPEEXDSP_HASH);sf=tgz
+
+PKGS += speexdsp
+ifeq ($(call need_pkg,"speexdsp"),)
+PKGS_FOUND += speexdsp
+endif
+
+$(TARBALLS)/speexdsp-git.tar.gz:
+       $(call download,$(SPEEXDSP_GITURL))
+
+.sum-speexdsp: speexdsp-$(SPEEXDSP_VERSION).tar.gz
+       $(warning $@ not implemented)
+       touch $@
+
+speexdsp: speexdsp-$(SPEEXDSP_VERSION).tar.gz .sum-speexdsp
+       rm -Rf $@-git
+       mkdir -p $@-git
+       $(ZCAT) "$<" | (cd $@-git && tar xv --strip-components=1)
+       $(APPLY) $(SRC)/speexdsp/neon.patch
+       $(MOVE)
+
+SPEEXDSP_CONF := --enable-resample-full-sinc-table
+ifndef HAVE_FPU
+SPEEXDSP_CONF += --enable-fixed-point
+ifeq ($(ARCH),arm)
+SPEEXDSP_CONF += --enable-arm5e-asm
+endif
+endif
+
+.speexdsp: speexdsp
+       mkdir -p $</m4 && $(RECONF)
+       cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(SPEEXDSP_CONF)
+       cd $< && $(MAKE) install
+       touch $@