Commit graph

47 commits

Author SHA1 Message Date
Jean-Marc Valin
17c5966045 Last updates for draft -11
- Draft updates
- Updated code to produce and check test vectors
- Making sure that the test vectors pass at all rates as well as for mono and stereo
2012-02-17 16:18:08 -05:00
Jean-Marc Valin
8ba1a0824a version bump 2011-10-31 19:53:06 -04:00
Jean-Marc Valin
38c6a15092 version number bump 2011-10-31 17:21:55 -04:00
Ralph Giles
c19bc34638 Check for __malloc_hook and define MALLOC_FAIL appropriately.
The glibc 2.14 NEWS file says __malloc_hook will be removed
in the next release, so future-proof our use by checking
for this symbol at configure time and only compiling the
malloc failure tests if it is present.
2011-10-28 10:20:16 -07:00
Gregory Maxwell
9652f81eb9 Test cleanups and renaming.
Build tests in the tests/ directory instead of top, cleanup, rename,
and eliminate recursive make for the celt/ unit tests.
2011-10-27 06:27:13 -04:00
Gregory Maxwell
e53ebd696a Don't use -fstack-protector-all when its not supported, add an autoconf test. 2011-10-21 14:21:53 -04:00
Gregory Maxwell
3d28ee8020 Fix stack corruption with high rate SILK encoding added by the recent CBR changes and enable -fstack-protector-all on gcc autotools builds. 2011-10-21 13:00:21 -04:00
Gregory Maxwell
48069bf9bd Documentation and build script updates. 2011-09-15 11:33:18 -04:00
Jean-Marc Valin
c37499090b renames the libcelt/ directory to celt/ 2011-09-13 18:21:18 -07:00
Ralph Giles
35d4fb78ea Add initial Doxygen support for generating api documentation.
Doxygen is a tool for generating programming documentation
based on comments in header and source files. This commit
adds the necessary configuration file and associated support
in the autotools build.

Right now it doesn't generate much documentation because our
public header files aren't marked up. Warnings are printed
for undocumented members and arguments.
2011-09-07 11:06:23 -07:00
Ralph Giles
858468ee42 Fix the 'distclean' target.
With subdir-objects, both the top-level makefile, and
libcelt/Makefile, which runs celt-specific unit tests,
were sharing libcelt/.deps for generated dependencies.

Each thought it owned the directory, and so would remove
the files it created in that directory, followed by the
directory itself. The second makefile would then fail to
because the files it created weren't there to remove,
blocking a successful 'make distcheck' with in runs
'make distclean' as part of its verification tests.

We can work around the problem by generating the makefile
for the tests in the actual test directory, so it doesn't
share autotools scratch space with the top level makefile.
2011-09-03 16:34:51 -07:00
Gregory Maxwell
40f956eed0 Various minor cleanups (removing dead arguments, macros) to libcelt/. Reinstate -Wunused-parameter. 2011-09-01 19:42:37 -04:00
Jean-Marc Valin
06237d7b8c Implements the OpusCustom modes (mostly) properly 2011-09-01 13:20:40 -04:00
Gregory Maxwell
d6335abedc Adds many syntactically unnecessary parentheses to silence GCC -Wparentheses.
The object code is unchanged (except ectest). Also reenables -Wparentheses, -Wsign-compare,
and the MSVC warnings.
2011-08-30 20:16:23 -04:00
Ralph Giles
9f71309abe Add pkg-config support files.
These files allow compiling and linking against the reference
implementation with an invocation like `pkg-config --cflags
--libs opus`. They're optional within the opus build system,
but can simplify compilation for clients and are generally
considered part of a normal autotools build these days.

The -uninstalled version refers to local build products
within the tree, which is helpful for testing and unprivileged
builds. opus.pc is used once 'make install' has put the
libraries and headers somewhere more permanent.
2011-08-28 15:33:14 -04:00
Jean-Marc Valin
f334c82ec3 Adds a fuzzing mode that causes the encoder to make random decisions 2011-08-11 16:48:05 -04:00
Jean-Marc Valin
bf6a4e01b6 Re-enables test cases, including the rotation test 2011-08-05 10:47:41 -04:00
Jean-Marc Valin
a8ac44b670 Using the real version name instead of the last tag name 2011-08-05 08:47:24 -04:00
Ralph Giles
2852cb1486 Tell automake to put object files in subdirectories.
Previously the autotools build litered whatever directory
'make' was invoked from with intermediate files. Adding
'subdir-objects' to AUTOMAKE_OPTIONS tells it to put them
in subdirectories according to the relative paths to the
source files, .i.e. silk/schur.o for $(srcdir)/silk/schur.c

The change to autogen.sh is necessary to handle the
(apparently new) case where an AUTOMAKE_OPTIONS line is
given without a minimum version number.
2011-08-02 11:43:43 -07:00
Ralph Giles
50f933b57f Query git for the repository revision and use that for the version string.
Rather than compiling in the fixed version number from the configure
file, it's more helpful for testing and debugging to directly embed
the repository's revision. We use 'git describe --tags' for this, since
for tagged revisions it just returns the tag name, and in other cases
is more readable than a raw commit id.

If git isn't present or can't find a repository to query, we fall back
to the static version number in the configure script.
2011-08-02 09:45:04 -07:00
Jean-Marc Valin
d9636c5d19 Add a function to query the Opus version 2011-07-31 22:29:05 -04:00
Gregory Maxwell
fce4323e15 Remove the configurability of the post-filter. It is always enabled in Opus. 2011-07-29 16:19:29 -04:00
Ralph Giles
5ccc124036 Enable automake's "silent rules" if they are available.
Automake version 1.11 and above provide a build mode where
each build command is replaced by a single-line annotation.
Since autotools build lines for libraries typically each fill
an entire terminal screen, this mode makes it easier to keep
track of build progress, and warnings stand out more clearly.

For debugging the build process, the old behaviour can be
recovered by running 'make V=1' at bulid time, or by passing
--disable-silent-rules to configure.

Since Automake 1.11 is still very recent, we only invoke
the AM_SILENT_RULES macro if it is defined, allowing fallback
to the old behaviour under previous versions of automake.
2011-07-29 09:09:04 -04:00
Jean-Marc Valin
3596fedb65 fix autotools build, bump version number 2011-07-09 09:42:12 -04:00
Jean-Marc Valin
7798467a4c build fixes 2011-05-02 11:12:44 -04:00
Jean-Marc Valin
34077f70e0 autoconf cleanup 2011-04-30 09:33:25 -04:00
Jean-Marc Valin
7009c72234 Getting fixed-point to work (I think) 2011-04-29 20:32:33 -04:00
Jean-Marc Valin
e05aaf22db Updating the autotools build system (wip) 2011-04-29 19:48:42 -04:00
Jean-Marc Valin
381c706add Making mode switching use the same window as CELT (squared) 2011-03-21 13:53:40 -04:00
Jean-Marc Valin
f2c8e5dfee CELT update
With minor fixes
2011-03-18 15:49:18 -04:00
Jean-Marc Valin
24f75e24b0 Version change 2011-03-14 17:48:20 -04:00
Jean-Marc Valin
2441517c82 version bump 2011-03-09 21:31:14 -05:00
Jean-Marc Valin
ee31d6fe62 preparing the next version 2011-02-14 23:58:41 -05:00
Jean-Marc Valin
50b20d78a3 CELT update, version numbers 2011-02-03 15:59:20 -05:00
Jean-Marc Valin
fb45a3fac2 Build fixes 2011-02-03 13:40:30 -05:00
Jean-Marc Valin
1761b814c8 Enabling the CELT post-filter in Opus 2011-02-02 23:47:52 -05:00
Jean-Marc Valin
30a5e7ebb2 CELT update 2011-02-02 10:05:19 -05:00
Jean-Marc Valin
d354dd2f4e CELT update 2011-02-01 14:01:51 -05:00
Jean-Marc Valin
a70729c0b4 Koen's decoder updates 2011-01-31 18:25:47 -05:00
Jean-Marc Valin
e6f53b7303 Updated to CELT's new API 2011-01-30 23:44:51 -05:00
Jean-Marc Valin
ff8c96ef29 Adding missing SILK files to the build 2010-11-13 00:31:36 -05:00
Jean-Marc Valin
05dd36a1b3 API renamed to Opus 2010-10-18 12:50:49 -04:00
Jean-Marc Valin
38f4e9ffcb Renamed to Harmony
Also a CELT update
2010-10-09 21:13:22 -04:00
Jean-Marc Valin
f8a4d04410 CELT update 2010-09-21 14:27:56 -04:00
Jean-Marc Valin
a9e583577b As used for the listening tests 2010-07-23 17:35:58 -04:00
Jean-Marc Valin
4468c75adb draft update, instructions 2010-07-08 13:40:07 -04:00
Jean-Marc Valin
a0cbeca880 autotools-based build system 2010-07-08 11:27:20 -04:00