Commit a0e76806 authored by Rafaël Carré's avatar Rafaël Carré

contrib: update to speex git HEAD

split speex and speexdsp
parent b6687f9b
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
--- 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 -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@
......@@ -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 $@
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
# 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 $@
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment