Skip to content
Snippets Groups Projects
Commit 201946b3 authored by Elliott Hughes's avatar Elliott Hughes Committed by Gerrit Code Review
Browse files

Merge "Update to libspeexdsp 1.2rc3."

parents f79eb68d af8bb909
No related branches found
No related tags found
No related merge requests found
Jean-Marc Valin <jean-marc.valin@hermes.usherb.ca>
Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
All the code except the following
David Rowe <david@voicetronix.com.au> via VoiceTronix
David Rowe <david@rowetel.com>
lsp.c lsp.h
Also ideas and feedback
John Francis Edwards:
John Francis Edwards
wave_out.[ch], some #ifdefs for windows port and MSVC project files
Segher Boessenkool
Misc. optimizations (for QMF in particular)
Atsuhiko Yamanaka <ymnk@jcraft.com>:
Patch to speexenc.c to add Vorbis comment format
......
......@@ -31,18 +31,20 @@ cc_library_shared {
},
},
},
srcs: ["libspeex/resample.c"],
srcs: ["libspeexdsp/resample.c"],
cflags: [
"-DEXPORT=",
"-DEXPORT=__attribute__((visibility(\"default\")))",
"-DFIXED_POINT",
"-DRESAMPLE_FORCE_FULL_SINC_TABLE",
"-DHAVE_STDINT_H",
"-DRESAMPLE_FULL_SINC_TABLE",
"-O3",
"-fstrict-aliasing",
"-fprefetch-loop-arrays",
"-Wall",
"-Werror",
"-Wno-sign-compare",
"-Wno-unused-parameter",
],
local_include_dirs: ["include"],
......
Copyright 2002-2008 Xiph.org Foundation
Copyright 2002-2008 Jean-Marc Valin
Copyright 2005-2007 Analog Devices Inc.
Copyright 2005-2008 Commonwealth Scientific and Industrial Research
Organisation (CSIRO)
Copyright 1993, 2002, 2006 David Rowe
Copyright 2003 EpicGames
Copyright 1992-1994 Jutta Degener, Carsten Bormann
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
......
2005-09-07 Thomas Vander Stichele <thomas at apestaart dot org>
* libspeex/cb_search.c: (split_cb_search_shape_sign_N1):
add declaration for n, seems like an obvious build fix, slap
me down if it's not
2004-02-18 Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Patch for compiling with mingw32 sent by j@thing.net
2004-02-18 Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Integrated IRIX patch (getopt stuff) from Michael Pruett <michael@68k.org>
2004-02-18 Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Changed the Makefile.am so that KDevelop can parse SUBDIRS correctly
2002/03/27 Jean-Marc Valin:
Working encoder and decoder for both narrowband and wideband.
2002/02/27 Jean-Marc Valin:
Got the basic encoder working as a demo with quantization only on some
parameters.
Installing SpeexDSP is as easy as:
% ./configure [--prefix=<install-path>]
% make
% make install
Note that if you are using the code from git you will need to run "autogen.sh"
and then "configure".
## Process this file with automake to produce Makefile.in. -*-Makefile-*-
# To disable automatic dependency tracking if using other tools than
# gcc and gmake, add the option 'no-dependencies'
AUTOMAKE_OPTIONS = 1.8
ACLOCAL_AMFLAGS = -I m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = speexdsp.pc
EXTRA_DIST = SpeexDSP.spec SpeexDSP.spec.in SpeexDSP.kdevelop speexdsp.pc.in README.blackfin
#Fools KDevelop into including all files
SUBDIRS = libspeexdsp include doc win32 symbian ti
DIST_SUBDIRS = libspeexdsp include doc win32 symbian ti
rpm: dist
rpmbuild -ta ${PACKAGE}-${VERSION}.tar.gz
This diff is collapsed.
NEWS 0 → 100644
2002/02/13: Creation of the "Speex" project
Copyright (C) 2002-2008 Jean-Marc Valin
Copyright (C) 2002 Jean-Marc Valin & David Rowe
Copyright (C) 2003 Epic Games
Copyright (C) 2003 Epic Games (written by Jean-Marc Valin)
Copyright (C) 2004-2006 Epic Games
Copyright (C) 2005 Analog Devices
Copyright (C) 2005 Jean-Marc Valin, CSIRO, Christopher Montgomery
Copyright (C) 2006 David Rowe
Copyright (C) 2006-2008 CSIRO, Jean-Marc Valin, Xiph.Org Foundation
Copyright (C) 2008 Thorvald Natvig
Copyright (c) 2003-2004, Mark Borgerding
Copyright (c) 2005-2007, Jean-Marc Valin
Copyright (C) 2011 Jyri Sarha, Texas Instruments
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of the Xiph.org Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright 1992, 1993, 1994 by Jutta Degener and Carsten Bormann,
Technische Universitaet Berlin
Any use of this software is permitted provided that this notice is not
removed and that neither the authors nor the Technische Universitaet Berlin
are deemed to have made any representations as to the suitability of this
software for any purpose nor are held responsible for any defects of
this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
As a matter of courtesy, the authors request to be informed about uses
this software has found, about bugs in this software, and about any
improvements that may be of general interest.
Berlin, 28.11.1994
Jutta Degener
Carsten Bormann
NOTICE 0 → 120000
COPYING
\ No newline at end of file
README 0 → 100644
See INSTALL file for instructions on how to install SpeexDSP.
SpeexDSP is a patent-free, Open Source/Free Software DSP library.
libspeex version 1.2 rc1
see http://www.speex.org/
SpeexDSP has been ported to the Blackfin DSP, for the STAMP development board.
This port has been tested on the STAMP development board and requires the
toolchain available at http://blackfin.uclinux.org/
1/ In order to cross-compile for uClinux from the SpeexDSP tarball:
./configure --enable-blackfin-asm --enable-fixed-point --host=bfin-uclinux
cd libspeexdsp
make
The --enable-blackfin-asm option is not required, but it speeds up Speex by
approximately a factor of two.
2/ In order to cross-compile for uClinux from the SpeexDSP git:
git clone git://git.xiph.org/speexdsp.git
cd speexdsp
./autogen.sh
./configure --enable-blackfin-asm --enable-fixed-point --host=bfin-uclinux
cd libspeexdsp
make
URL: http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz
Version: 1.2rc1
URL: http://downloads.xiph.org/releases/speex/speexdsp-1.2rc3.tar.gz
Version: 1.2rc3
BugComponent: 1344
<?xml version = '1.0'?>
<kdevelop>
<general>
<author>Jean-Marc Valin</author>
<email>jean-marc.valin@usherbrooke.ca</email>
<version>$VERSION$</version>
<projectmanagement>KDevAutoProject</projectmanagement>
<primarylanguage>C</primarylanguage>
<ignoreparts/>
<projectdirectory>.</projectdirectory>
<absoluteprojectpath>false</absoluteprojectpath>
<description/>
<secondaryLanguages/>
<versioncontrol>kdevsubversion</versioncontrol>
<defaultencoding/>
<projectname>Speex</projectname>
</general>
<kdevautoproject>
<general>
<activetarget>libspeex/libspeex.la</activetarget>
<useconfiguration>float</useconfiguration>
</general>
<run>
<mainprogram>src/Speex</mainprogram>
<directoryradio>executable</directoryradio>
<customdirectory>/</customdirectory>
<programargs/>
<terminal>false</terminal>
<autocompile>true</autocompile>
<envvars/>
<autoinstall>false</autoinstall>
<autokdesu>false</autokdesu>
</run>
<configurations>
<float>
<builddir>float</builddir>
<ccompiler>kdevgccoptions</ccompiler>
<cxxcompiler>kdevgppoptions</cxxcompiler>
<f77compiler>kdevpgf77options</f77compiler>
<cflags>-O2 -g -Wall</cflags>
<envvars/>
<configargs>--disable-shared</configargs>
<topsourcedir/>
<cppflags/>
<ldflags/>
<ccompilerbinary/>
<cxxcompilerbinary/>
<f77compilerbinary/>
<cxxflags/>
<f77flags/>
</float>
<fixed>
<configargs>--enable-fixed-point --disable-shared</configargs>
<builddir>fixed</builddir>
<ccompiler>kdevgccoptions</ccompiler>
<cxxcompiler>kdevgppoptions</cxxcompiler>
<f77compiler>kdevpgf77options</f77compiler>
<cflags>-O2 -g -Wall</cflags>
<envvars/>
<topsourcedir/>
<cppflags/>
<ldflags/>
<ccompilerbinary/>
<cxxcompilerbinary/>
<f77compilerbinary/>
<cxxflags/>
<f77flags/>
</fixed>
<default>
<envvars/>
</default>
</configurations>
<make>
<envvars>
<envvar value="1" name="WANT_AUTOCONF_2_5" />
<envvar value="1" name="WANT_AUTOMAKE_1_6" />
</envvars>
<abortonerror>false</abortonerror>
<numberofjobs>4</numberofjobs>
<dontact>false</dontact>
<makebin/>
<runmultiplejobs>true</runmultiplejobs>
<prio>0</prio>
</make>
</kdevautoproject>
<kdevdebugger>
<general>
<dbgshell>libtool</dbgshell>
<programargs/>
<gdbpath/>
<configGdbScript/>
<runShellScript/>
<runGdbScript/>
<breakonloadinglibs>true</breakonloadinglibs>
<separatetty>false</separatetty>
<floatingtoolbar>false</floatingtoolbar>
</general>
<display>
<staticmembers>false</staticmembers>
<demanglenames>true</demanglenames>
<outputradix>10</outputradix>
</display>
</kdevdebugger>
<kdevfilecreate>
<filetypes/>
<useglobaltypes>
<type ext="c" />
<type ext="h" />
</useglobaltypes>
</kdevfilecreate>
<kdevcppsupport>
<references/>
<codecompletion>
<includeGlobalFunctions>true</includeGlobalFunctions>
<includeTypes>true</includeTypes>
<includeEnums>true</includeEnums>
<includeTypedefs>false</includeTypedefs>
<automaticCodeCompletion>true</automaticCodeCompletion>
<automaticArgumentsHint>true</automaticArgumentsHint>
<automaticHeaderCompletion>true</automaticHeaderCompletion>
<codeCompletionDelay>350</codeCompletionDelay>
<argumentsHintDelay>400</argumentsHintDelay>
<headerCompletionDelay>250</headerCompletionDelay>
<showOnlyAccessibleItems>false</showOnlyAccessibleItems>
<completionBoxItemOrder>0</completionBoxItemOrder>
<howEvaluationContextMenu>true</howEvaluationContextMenu>
<showCommentWithArgumentHint>true</showCommentWithArgumentHint>
<statusBarTypeEvaluation>false</statusBarTypeEvaluation>
<namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases>
<processPrimaryTypes>true</processPrimaryTypes>
<processFunctionArguments>true</processFunctionArguments>
<preProcessAllHeaders>false</preProcessAllHeaders>
<parseMissingHeaders>false</parseMissingHeaders>
<resolveIncludePaths>true</resolveIncludePaths>
<alwaysParseInBackground>true</alwaysParseInBackground>
<usePermanentCaching>true</usePermanentCaching>
<alwaysIncludeNamespaces>true</alwaysIncludeNamespaces>
<includePaths>.;</includePaths>
<parseMissingHeadersExperimental>false</parseMissingHeadersExperimental>
<resolveIncludePathsUsingMakeExperimental>false</resolveIncludePathsUsingMakeExperimental>
</codecompletion>
<qt>
<used>false</used>
<version>3</version>
<root>/usr/share/qt3</root>
<includestyle>3</includestyle>
<designerintegration>EmbeddedKDevDesigner</designerintegration>
<qmake>/usr/share/qt3/bin/qmake</qmake>
<designer>/usr/bin/designer-qt3</designer>
<designerpluginpaths/>
</qt>
<creategettersetter>
<prefixGet/>
<prefixSet>set</prefixSet>
<prefixVariable>m_,_</prefixVariable>
<parameterName>theValue</parameterName>
<inlineGet>true</inlineGet>
<inlineSet>true</inlineSet>
</creategettersetter>
<splitheadersource>
<enabled>true</enabled>
<synchronize>true</synchronize>
<orientation>Horizontal</orientation>
</splitheadersource>
</kdevcppsupport>
<kdevfileview>
<groups>
<hidenonprojectfiles>false</hidenonprojectfiles>
<hidenonlocation>false</hidenonlocation>
</groups>
<tree>
<hidepatterns>*.o,*.lo,CVS</hidepatterns>
<hidenonprojectfiles>true</hidenonprojectfiles>
<showvcsfields>false</showvcsfields>
</tree>
</kdevfileview>
<kdevdoctreeview>
<projectdoc>
<userdocDir>html/</userdocDir>
<apidocDir>html/</apidocDir>
</projectdoc>
<ignoreqt_xml/>
<ignoredoxygen/>
<ignorekdocs/>
<ignoretocs/>
<ignoredevhelp/>
</kdevdoctreeview>
<cppsupportpart>
<filetemplates>
<interfacesuffix>.h</interfacesuffix>
<implementationsuffix>.cpp</implementationsuffix>
</filetemplates>
</cppsupportpart>
<kdevdocumentation>
<projectdoc>
<docsystem/>
<docurl/>
<usermanualurl/>
</projectdoc>
</kdevdocumentation>
</kdevelop>
%define name speexdsp
%define ver 1.2rc3
%define rel 1
Summary: An open-source, patent-free speech codec
Name: %name
Version: %ver
Release: %rel
License: BSD
Group: Application/Devel
Source: http://www.speex.org/download/%{name}-%{ver}.tar.gz
URL: http://www.speex.org/
Vendor: Speex
Packager: Jean-Marc Valin (jean-marc.valin@usherbrooke.ca)
BuildRoot: /var/tmp/%{name}-build-root
Docdir: /usr/share/doc
%description
Speex is a patent-free audio codec designed especially for voice (unlike
Vorbis which targets general audio) signals and providing good narrowband
and wideband quality. This project aims to be complementary to the Vorbis
codec.
%package devel
Summary: Speex development files
Group: Development/Libraries
Requires: %{name} = %{version}
%description devel
Speex development files.
%changelog
* Thu Oct 03 2002 Jean-Marc Valin
- Added devel package inspired from PLD spec file
* Tue Jul 30 2002 Fredrik Rambris <boost@users.sourceforge.net> 0.5.2
- Added buildroot and docdir and ldconfig. Makes it builadble by non-roots
and also doesn't write to actual library paths when building.
%prep
%setup
%build
export CFLAGS='-O3'
./configure --prefix=/usr --enable-shared --enable-static
make
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc COPYING AUTHORS ChangeLog NEWS README
%doc doc/manual.pdf
%attr(755,root,root) %{_bindir}/speex*
%attr(755,root,root) %{_libdir}/libspeex*.so*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libspeex*.la
%{_includedir}/speex/speex*.h
%{_libdir}/pkgconfig/speexdsp.pc
%{_libdir}/libspeex*.a
%define name @PACKAGE@
%define ver @VERSION@
%define rel 1
Summary: An open-source, patent-free speech codec
Name: %name
Version: %ver
Release: %rel
License: BSD
Group: Application/Devel
Source: http://www.speex.org/download/%{name}-%{ver}.tar.gz
URL: http://www.speex.org/
Vendor: Speex
Packager: Jean-Marc Valin (jean-marc.valin@usherbrooke.ca)
BuildRoot: /var/tmp/%{name}-build-root
Docdir: /usr/share/doc
%description
Speex is a patent-free audio codec designed especially for voice (unlike
Vorbis which targets general audio) signals and providing good narrowband
and wideband quality. This project aims to be complementary to the Vorbis
codec.
%package devel
Summary: Speex development files
Group: Development/Libraries
Requires: %{name} = %{version}
%description devel
Speex development files.
%changelog
* Thu Oct 03 2002 Jean-Marc Valin
- Added devel package inspired from PLD spec file
* Tue Jul 30 2002 Fredrik Rambris <boost@users.sourceforge.net> 0.5.2
- Added buildroot and docdir and ldconfig. Makes it builadble by non-roots
and also doesn't write to actual library paths when building.
%prep
%setup
%build
export CFLAGS='-O3'
./configure --prefix=/usr --enable-shared --enable-static
make
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc COPYING AUTHORS ChangeLog NEWS README
%doc doc/manual.pdf
%attr(755,root,root) %{_bindir}/speex*
%attr(755,root,root) %{_libdir}/libspeex*.so*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libspeex*.la
%{_includedir}/speex/speex*.h
%{_libdir}/pkgconfig/speexdsp.pc
%{_libdir}/libspeex*.a
TODO 0 → 100644
For 1.2:
Major points:
- Make documentation match the actual code (especially jitter buffer, AEC and preprocessor)
- Get AGC to work in fixed-point even if not totally converted
- Stabilise all APIs (need feedback)
- Short-term estimate in jitter buffer
- Control delay in new AEC API.
- NaN checks?
- Better error reporting
- Make kiss-fft 32-bit safe
Post 1.2:
improve float<->int conversion
split encoder and decoder?
Merge TriMedia stuff
packet dump
Do VAD properly
--enable-{aec,preprocessor,jitter,resampler}
Optimisations
- Add restrict in a few places?
- use __builtin_expect() (likely()/unlikely())
Allocator override (speex_lib_ctl?)
Fixed-point:
- VBR
- Jitter buffer
- AGC
Denoiser:
- Better noise adaptation
AGC:
- Use median filtering instead of "non-linear mean"?
# Configure paths for libogg
# Jack Moffitt <jack@icecast.org> 10-21-2000
# Shamelessly stolen from Owen Taylor and Manish Singh
dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS
dnl
AC_DEFUN([XIPH_PATH_OGG],
[dnl
dnl Get the cflags and libraries
dnl
AC_ARG_WITH(ogg,[ --with-ogg=PFX Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="")
AC_ARG_WITH(ogg-libraries,[ --with-ogg-libraries=DIR Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="")
AC_ARG_WITH(ogg-includes,[ --with-ogg-includes=DIR Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="")
AC_ARG_ENABLE(oggtest, [ --disable-oggtest Do not try to compile and run a test Ogg program],, enable_oggtest=yes)
if test "x$ogg_libraries" != "x" ; then
OGG_LIBS="-L$ogg_libraries"
elif test "x$ogg_prefix" != "x" ; then
OGG_LIBS="-L$ogg_prefix/lib"
elif test "x$prefix" != "xNONE" ; then
OGG_LIBS="-L$prefix/lib"
fi
OGG_LIBS="$OGG_LIBS -logg"
if test "x$ogg_includes" != "x" ; then
OGG_CFLAGS="-I$ogg_includes"
elif test "x$ogg_prefix" != "x" ; then
OGG_CFLAGS="-I$ogg_prefix/include"
elif test "x$prefix" != "xNONE"; then
OGG_CFLAGS="-I$prefix/include"
fi
AC_MSG_CHECKING(for Ogg)
no_ogg=""
if test "x$enable_oggtest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $OGG_CFLAGS"
LIBS="$LIBS $OGG_LIBS"
dnl
dnl Now check if the installed Ogg is sufficiently new.
dnl
rm -f conf.oggtest
AC_TRY_RUN([
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ogg/ogg.h>
int main ()
{
system("touch conf.oggtest");
return 0;
}
],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
if test "x$no_ogg" = "x" ; then
AC_MSG_RESULT(yes)
ifelse([$1], , :, [$1])
else
AC_MSG_RESULT(no)
if test -f conf.oggtest ; then
:
else
echo "*** Could not run Ogg test program, checking why..."
CFLAGS="$CFLAGS $OGG_CFLAGS"
LIBS="$LIBS $OGG_LIBS"
AC_TRY_LINK([
#include <stdio.h>
#include <ogg/ogg.h>
], [ return 0; ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding Ogg or finding the wrong"
echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means Ogg was incorrectly installed"
echo "*** or that you have moved Ogg since it was installed." ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
OGG_CFLAGS=""
OGG_LIBS=""
ifelse([$2], , :, [$2])
fi
AC_SUBST(OGG_CFLAGS)
AC_SUBST(OGG_LIBS)
rm -f conf.oggtest
])
aclocal.m4 0 → 100644
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment