opus.git
7 years agorenames the libcelt/ directory to celt/
Jean-Marc Valin [Wed, 14 Sep 2011 01:21:18 +0000 (18:21 -0700)]
renames the libcelt/ directory to celt/

7 years agoChanging some TODOs that were really future optimization hints
Jean-Marc Valin [Mon, 12 Sep 2011 02:00:46 +0000 (22:00 -0400)]
Changing some TODOs that were really future optimization hints

7 years agoImplements OPUS_MULTISTREAM_{EN|DE}CODER_GET_STATE
Jean-Marc Valin [Mon, 12 Sep 2011 00:13:47 +0000 (20:13 -0400)]
Implements OPUS_MULTISTREAM_{EN|DE}CODER_GET_STATE

Untested

7 years agoImplements multi-stream encoder requests the best we can
Jean-Marc Valin [Sun, 11 Sep 2011 23:51:44 +0000 (19:51 -0400)]
Implements multi-stream encoder requests the best we can

7 years agoProperly implementing the multistream decoder ctl()s
Jean-Marc Valin [Sun, 11 Sep 2011 22:12:31 +0000 (18:12 -0400)]
Properly implementing the multistream decoder ctl()s

Not tested

7 years agoTF decoding details
Jean-Marc Valin [Sun, 11 Sep 2011 20:12:36 +0000 (16:12 -0400)]
TF decoding details

7 years agoAdds a bound on the SILK rate to prevent it from busting the byte limit
Jean-Marc Valin [Sun, 11 Sep 2011 18:29:46 +0000 (14:29 -0400)]
Adds a bound on the SILK rate to prevent it from busting the byte limit

7 years agointeger type fixes
Jean-Marc Valin [Sun, 11 Sep 2011 01:56:34 +0000 (21:56 -0400)]
integer type fixes

7 years agominor doc update
Jean-Marc Valin [Sat, 10 Sep 2011 05:11:50 +0000 (01:11 -0400)]
minor doc update

7 years agoDocumentation updates.
Gregory Maxwell [Fri, 9 Sep 2011 21:11:43 +0000 (17:11 -0400)]
Documentation updates.

7 years agoDoxygen comment fixes
Jean-Marc Valin [Fri, 9 Sep 2011 19:19:18 +0000 (15:19 -0400)]
Doxygen comment fixes

7 years agoOpus now default to VBR
Jean-Marc Valin [Fri, 9 Sep 2011 18:57:43 +0000 (14:57 -0400)]
Opus now default to VBR

7 years agoMaking complexity default to 10 for the CELT part too
Jean-Marc Valin [Fri, 9 Sep 2011 18:50:15 +0000 (14:50 -0400)]
Making complexity default to 10 for the CELT part too

7 years agoDocumentation updates.
Gregory Maxwell [Fri, 9 Sep 2011 18:24:49 +0000 (14:24 -0400)]
Documentation updates.

7 years agoMakes multi-stream encoding code use the repacketizer
Jean-Marc Valin [Fri, 9 Sep 2011 17:56:09 +0000 (13:56 -0400)]
Makes multi-stream encoding code use the repacketizer

7 years agoFixes multi-stream bug exposed in e335065a1ba72
Jean-Marc Valin [Fri, 9 Sep 2011 17:49:43 +0000 (13:49 -0400)]
Fixes multi-stream bug exposed in e335065a1ba72

7 years agotest_opus now uses a string for the application
Jean-Marc Valin [Fri, 9 Sep 2011 15:31:03 +0000 (11:31 -0400)]
test_opus now uses a string for the application

when using -d, application and bitrate are no longer needed

7 years agoMaking RESTRICTED_LOWDELAY an "application" that's set at init time
Jean-Marc Valin [Fri, 9 Sep 2011 15:10:48 +0000 (11:10 -0400)]
Making RESTRICTED_LOWDELAY an "application" that's set at init time

Also ./test_opus now takes a string for the application

7 years agoUsing opus_repacketizer_init() instead of opus_repacketizer_create() in the encoder
Jean-Marc Valin [Fri, 9 Sep 2011 01:41:29 +0000 (21:41 -0400)]
Using opus_repacketizer_init() instead of opus_repacketizer_create() in the encoder

7 years agoEncoder can now produce 40- and 60-ms frames even for CELT-only and hybrid
Jean-Marc Valin [Thu, 8 Sep 2011 22:19:50 +0000 (18:19 -0400)]
Encoder can now produce 40- and 60-ms frames even for CELT-only and hybrid

7 years agoFixes silly CBR/VBR inversion bug from 7954065c77
Jean-Marc Valin [Thu, 8 Sep 2011 20:26:54 +0000 (16:26 -0400)]
Fixes silly CBR/VBR inversion bug from 7954065c77

7 years agoAdds OPUS_SET_RESTRICTED_LOWDELAY() encoder ctl
Jean-Marc Valin [Thu, 8 Sep 2011 19:13:46 +0000 (15:13 -0400)]
Adds OPUS_SET_RESTRICTED_LOWDELAY() encoder ctl

Right now it will uncleanly switch to SILK if asked for 40 or 60 ms frames

7 years agoAdds ctl() requests for forcing any operating mode in the encoder
Jean-Marc Valin [Thu, 8 Sep 2011 17:53:20 +0000 (13:53 -0400)]
Adds ctl() requests for forcing any operating mode in the encoder

Also merges all the OPUS_*_AUTO into a single OPUS_AUTO parameter

7 years agoAdds doxygen documentation for opus_defines.h.
Gregory Maxwell [Thu, 8 Sep 2011 12:13:16 +0000 (08:13 -0400)]
Adds doxygen documentation for opus_defines.h.

7 years agoMulti-stage VQ for SILK is no longer relevant
Jean-Marc Valin [Thu, 8 Sep 2011 03:26:52 +0000 (23:26 -0400)]
Multi-stage VQ for SILK is no longer relevant

7 years agoOops, remove duplicate description of the MDCT
Jean-Marc Valin [Wed, 7 Sep 2011 21:15:34 +0000 (17:15 -0400)]
Oops, remove duplicate description of the MDCT

7 years agoAdds missing details about reserving the anticollapse/skip/stereo bits
Jean-Marc Valin [Wed, 7 Sep 2011 21:06:17 +0000 (17:06 -0400)]
Adds missing details about reserving the anticollapse/skip/stereo bits

7 years agoMove the fallback OPUS_VERSION to libcelt.
Ralph Giles [Wed, 7 Sep 2011 20:16:29 +0000 (13:16 -0700)]
Move the fallback OPUS_VERSION to libcelt.

In f9265ddf25cc opus_get_version_string() was moved
to libcelt, but the fallback definition for OPUS_VERSION
stayed in src/opus.c. This is helpful for those using
and external build system, which may not duplicate
all the defines from the included build files.

7 years agoMore work on the CELT encoder description, fixed Opus figures
Jean-Marc Valin [Wed, 7 Sep 2011 19:42:43 +0000 (15:42 -0400)]
More work on the CELT encoder description, fixed Opus figures

7 years agoMaking the sampling rate an int32 in the multi-stream API
Jean-Marc Valin [Wed, 7 Sep 2011 18:47:48 +0000 (14:47 -0400)]
Making the sampling rate an int32 in the multi-stream API

7 years agoFixes a warning about assignment in an if()
Jean-Marc Valin [Wed, 7 Sep 2011 18:23:12 +0000 (14:23 -0400)]
Fixes a warning about assignment in an if()

7 years agoSecurity Considerations update
Jean-Marc Valin [Wed, 7 Sep 2011 16:28:03 +0000 (12:28 -0400)]
Security Considerations update

7 years agoTell automake to clean the doxygen output.
Ralph Giles [Wed, 7 Sep 2011 18:18:23 +0000 (11:18 -0700)]
Tell automake to clean the doxygen output.

Without the extra clean, 'make distcheck' fails because
the distclean target doesn't remove all generated files.

7 years agoAdd minimal doxygen markup to the public headers.
Ralph Giles [Wed, 7 Sep 2011 17:40:25 +0000 (10:40 -0700)]
Add minimal doxygen markup to the public headers.

Doxygen uses comments in the source code to generate documentation.
This commit just adds the descriptive headers and marks current
comments and appropriate for inclusion in the API docs. Many
symbols remain undocumented. See the warnings from the build output.

7 years agoAdd initial Doxygen support for generating api documentation.
Ralph Giles [Wed, 7 Sep 2011 06:18:00 +0000 (23:18 -0700)]
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.

7 years agoUpdate Makefile.draft warnings to match configure.ac.
Gregory Maxwell [Wed, 7 Sep 2011 06:25:55 +0000 (02:25 -0400)]
Update Makefile.draft warnings to match configure.ac.

7 years agoMaking the encoder more robust against extreme bitrate requests
Jean-Marc Valin [Wed, 7 Sep 2011 06:43:23 +0000 (02:43 -0400)]
Making the encoder more robust against extreme bitrate requests

7 years agoImprove encoder bust test from 5f089d22.
Timothy B. Terriberry [Wed, 7 Sep 2011 05:39:52 +0000 (22:39 -0700)]
Improve encoder bust test from 5f089d22.

Change the constants so simply ORing the raw bits into the range
 coder data won't pass the test.

7 years agoPrevents the SILK encoder from failing below 600 kb/s stereo.
Jean-Marc Valin [Wed, 7 Sep 2011 05:37:58 +0000 (01:37 -0400)]
Prevents the SILK encoder from failing below 600 kb/s stereo.

Not that it actually reaches the target, but it should no longer cause
a range coder mismatch

7 years agoAdd an encoder busting test.
Timothy B. Terriberry [Wed, 7 Sep 2011 05:28:26 +0000 (22:28 -0700)]
Add an encoder busting test.

This tests the behavior when merging the last few raw bits into
 the final range coder byte causes a bust.
This is mostly to make Greg Maxwell happy about his code coverage.
In theory the code in question should never be hit (we should only
 bust if the user buffer is too small for SILK, which doesn't use
 raw bits).

7 years agoEliminate the last non-static pointer from the LPC-mode encoder structures.
Gregory Maxwell [Wed, 7 Sep 2011 02:58:01 +0000 (22:58 -0400)]
Eliminate the last non-static pointer from the LPC-mode encoder structures.
The API permits the caller to freely copy the codec state on their
own, but this can't work if there are any any position dependant pointers
in the codec state.

7 years agoSanitize input to opus_en/decoder_get_size.
Gregory Maxwell [Sun, 4 Sep 2011 14:47:15 +0000 (10:47 -0400)]
Sanitize input to opus_en/decoder_get_size.

7 years agoMaking redundancy length decoding errors non-fatal
Jean-Marc Valin [Tue, 6 Sep 2011 19:19:04 +0000 (15:19 -0400)]
Making redundancy length decoding errors non-fatal

7 years agos/OPUS_CORRUPTED_DATA/OPUS_INVALID_PACKET/
Jean-Marc Valin [Tue, 6 Sep 2011 18:30:19 +0000 (14:30 -0400)]
s/OPUS_CORRUPTED_DATA/OPUS_INVALID_PACKET/

7 years agoDefining OPUS_BITRATE_MAX and moving some defines to opus_defines.h
Jean-Marc Valin [Tue, 6 Sep 2011 18:05:19 +0000 (14:05 -0400)]
Defining OPUS_BITRATE_MAX and moving some defines to opus_defines.h

7 years agoRotation wip
Jean-Marc Valin [Tue, 6 Sep 2011 12:03:38 +0000 (08:03 -0400)]
Rotation wip

7 years agoRenumbering the ctl() calls to make programming errors more obvious
Jean-Marc Valin [Tue, 6 Sep 2011 01:13:53 +0000 (21:13 -0400)]
Renumbering the ctl() calls to make programming errors more obvious

7 years agoCompleting the OpusCustom rename
Jean-Marc Valin [Tue, 6 Sep 2011 00:53:33 +0000 (20:53 -0400)]
Completing the OpusCustom rename

7 years agoFix corner-case hybrid encoding desync introduced by e5736ae2
Gregory Maxwell [Mon, 5 Sep 2011 15:28:28 +0000 (11:28 -0400)]
Fix corner-case hybrid encoding desync introduced by e5736ae2

7 years agoMaking sure redundant frames can never bust the buget
Jean-Marc Valin [Mon, 5 Sep 2011 14:28:27 +0000 (10:28 -0400)]
Making sure redundant frames can never bust the buget

This is now part of the bit-stream

7 years agoFixes a buffering bug introduced in 2f0ca7618
Jean-Marc Valin [Sun, 4 Sep 2011 15:00:29 +0000 (11:00 -0400)]
Fixes a buffering bug introduced in 2f0ca7618

7 years agoMake opus_decode() reject crazy decode_fec values.
Gregory Maxwell [Sun, 4 Sep 2011 13:14:55 +0000 (09:14 -0400)]
Make opus_decode() reject crazy decode_fec values.

7 years agoPrevents OPUS_RESET_STATE from causing segfault.
Gregory Maxwell [Sun, 4 Sep 2011 11:48:20 +0000 (07:48 -0400)]
Prevents OPUS_RESET_STATE from causing segfault.

7 years agoPrevent double free on encoder/decoder init failure.
Gregory Maxwell [Sun, 4 Sep 2011 08:43:11 +0000 (04:43 -0400)]
Prevent double free on encoder/decoder init failure.

7 years agoMake opus_decoder_create set its error code.
Gregory Maxwell [Sun, 4 Sep 2011 08:25:12 +0000 (04:25 -0400)]
Make opus_decoder_create set its error code.

7 years agoFix the 'distclean' target.
Ralph Giles [Sat, 3 Sep 2011 23:34:51 +0000 (16:34 -0700)]
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.

7 years agoUse alloca() for dynamic storage in the draft makefile.
Ralph Giles [Sat, 3 Sep 2011 22:58:57 +0000 (15:58 -0700)]
Use alloca() for dynamic storage in the draft makefile.

This function is available on any modern linux and msvc. So while
not strictly part of C89, it's a much better default than the
non-thread-safe global pseudo stack.

7 years agoAvoid left-shift by 32 on int32 in ectest.
Gregory Maxwell [Fri, 2 Sep 2011 23:29:06 +0000 (19:29 -0400)]
Avoid left-shift by 32 on int32 in ectest.

7 years agoSome doc on spreading
Jean-Marc Valin [Fri, 2 Sep 2011 22:47:13 +0000 (18:47 -0400)]
Some doc on spreading

7 years agoAvoids signed overflow in ectest random number generation.
Gregory Maxwell [Fri, 2 Sep 2011 22:03:43 +0000 (18:03 -0400)]
Avoids signed overflow in ectest random number generation.

7 years agoFix tarball builds.
Gregory Maxwell [Fri, 2 Sep 2011 21:28:06 +0000 (17:28 -0400)]
Fix tarball builds.

7 years agoMerge remote-tracking branch 'greg/master'
Jean-Marc Valin [Fri, 2 Sep 2011 21:23:22 +0000 (17:23 -0400)]
Merge remote-tracking branch 'greg/master'

Conflicts:
src/opus_encoder.c

7 years agoMinor draft updates.
Timothy B. Terriberry [Fri, 2 Sep 2011 19:27:11 +0000 (12:27 -0700)]
Minor draft updates.

Makes acronym definition/expansion more consistent and adds a few
 more explanations to SILK bitstream decoding.

7 years agoImproved mode/channel/bandwidth control mechanism
Jean-Marc Valin [Fri, 2 Sep 2011 18:47:26 +0000 (14:47 -0400)]
Improved mode/channel/bandwidth control mechanism

Now has tuning parameters for mono/stereo and voice/music. Also switches
to stereo during swb and without reducing the bandwidth.

7 years agoCorrects many places where int was used where opus_int32 was needed.
Gregory Maxwell [Fri, 2 Sep 2011 14:31:17 +0000 (10:31 -0400)]
Corrects many places where int was used where opus_int32 was needed.

7 years agoMerge branch 'exp-highpass'
Jean-Marc Valin [Fri, 2 Sep 2011 01:59:50 +0000 (21:59 -0400)]
Merge branch 'exp-highpass'

7 years agoRemoves code that became useless with the Opus-level highpass exp-highpass
Jean-Marc Valin [Fri, 2 Sep 2011 01:47:38 +0000 (21:47 -0400)]
Removes code that became useless with the Opus-level highpass

7 years agopassing self_delimited flag to opus_packet_parse_impl() in decoder
Jean-Marc Valin [Fri, 2 Sep 2011 00:55:07 +0000 (20:55 -0400)]
passing self_delimited flag to opus_packet_parse_impl() in decoder

7 years agoFirst attempt at global high-pass filter
Jean-Marc Valin [Thu, 1 Sep 2011 22:02:43 +0000 (18:02 -0400)]
First attempt at global high-pass filter

Doesn't work for fixed-point for some unknown reason

7 years agoVarious minor cleanups (removing dead arguments, macros) to libcelt/. Reinstate ...
Gregory Maxwell [Thu, 1 Sep 2011 23:42:37 +0000 (19:42 -0400)]
Various minor cleanups (removing dead arguments, macros) to libcelt/. Reinstate -Wunused-parameter.

7 years agoSimplifying buffering to make an Opus-level highpass possible
Jean-Marc Valin [Thu, 1 Sep 2011 20:56:40 +0000 (16:56 -0400)]
Simplifying buffering to make an Opus-level highpass possible

7 years agoFix compile errors with g++
Benjamin Jemlich [Wed, 24 Aug 2011 14:13:57 +0000 (16:13 +0200)]
Fix compile errors with g++

7 years agoOnly export the CELT calls when CUSTOM_MODES is defined
Jean-Marc Valin [Thu, 1 Sep 2011 19:22:37 +0000 (15:22 -0400)]
Only export the CELT calls when CUSTOM_MODES is defined

7 years agoFix dump_modes for the api change and move it into a subdirectory
Gregory Maxwell [Thu, 1 Sep 2011 18:17:26 +0000 (14:17 -0400)]
Fix dump_modes for the api change and move it into a subdirectory
with a trivial makefile.

7 years agoRemoves c64_fft.[ch] -- hadn't been updated for ages
Jean-Marc Valin [Thu, 1 Sep 2011 17:52:17 +0000 (13:52 -0400)]
Removes c64_fft.[ch] -- hadn't been updated for ages

7 years agoopus_strerror() and opus_get_version_string() moved to libcelt
Jean-Marc Valin [Thu, 1 Sep 2011 17:46:18 +0000 (13:46 -0400)]
opus_strerror() and opus_get_version_string() moved to libcelt

7 years agoRenamed some funciton that were likely to clash with other (non-Opus) code
Jean-Marc Valin [Thu, 1 Sep 2011 17:40:39 +0000 (13:40 -0400)]
Renamed some funciton that were likely to clash with other (non-Opus) code

7 years agotestcelt replaced by test_opus_custom
Jean-Marc Valin [Thu, 1 Sep 2011 17:26:04 +0000 (13:26 -0400)]
testcelt replaced by test_opus_custom

7 years agoImplements the OpusCustom modes (mostly) properly
Jean-Marc Valin [Thu, 1 Sep 2011 17:20:40 +0000 (13:20 -0400)]
Implements the OpusCustom modes (mostly) properly

7 years agoSharing more macros between the Opus code and the CELT low-level code
Jean-Marc Valin [Wed, 31 Aug 2011 21:47:48 +0000 (17:47 -0400)]
Sharing more macros between the Opus code and the CELT low-level code

7 years agoMakes the CELT init() functions behave just like the Opus ones.
Jean-Marc Valin [Wed, 31 Aug 2011 20:43:08 +0000 (16:43 -0400)]
Makes the CELT init() functions behave just like the Opus ones.

7 years agoOpus now only uses the _with_ec() calls to CELT
Jean-Marc Valin [Wed, 31 Aug 2011 19:08:12 +0000 (15:08 -0400)]
Opus now only uses the _with_ec() calls to CELT

7 years agoFurther copyediting of draft.
Kat Walsh [Tue, 30 Aug 2011 00:47:33 +0000 (20:47 -0400)]
Further copyediting of draft.

7 years agoAdds many syntactically unnecessary parentheses to silence GCC -Wparentheses.
Gregory Maxwell [Tue, 30 Aug 2011 23:50:41 +0000 (19:50 -0400)]
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.

7 years agoFix up various mixed unsigned/signed comparisons.
Gregory Maxwell [Tue, 30 Aug 2011 22:35:06 +0000 (18:35 -0400)]
Fix up various mixed unsigned/signed comparisons.
This silences MSVC warning C4018 and fixes a bug with the intra
decision and improves portability to 16 bit platforms.

7 years agoImplements OPUS_RESET_STATE for the encoder (untested as well)
Jean-Marc Valin [Wed, 31 Aug 2011 00:09:22 +0000 (20:09 -0400)]
Implements OPUS_RESET_STATE for the encoder (untested as well)

7 years agoImplements OPUS_RESET_STATE for the decoder (untested)
Jean-Marc Valin [Tue, 30 Aug 2011 22:01:06 +0000 (18:01 -0400)]
Implements OPUS_RESET_STATE for the decoder (untested)

7 years agoAdds many syntactically unnecessary casts to silence MSVC C4244; fix an MDCT encoder...
Gregory Maxwell [Tue, 30 Aug 2011 20:50:01 +0000 (16:50 -0400)]
Adds many syntactically unnecessary casts to silence MSVC C4244; fix an MDCT encoder reset bug.
st->tonal_average was being set to 1 instead of 256 on reset in floating point builds, otherwise the object code is unchanged.

7 years agoAdds many syntactically unnecessary parentheses to silence MSVC C4554.
Gregory Maxwell [Tue, 30 Aug 2011 18:02:41 +0000 (14:02 -0400)]
Adds many syntactically unnecessary parentheses to silence MSVC C4554.
The object code is unchanged.

7 years agoUsing OPUS_ macros for <string.h> operations
Jean-Marc Valin [Tue, 30 Aug 2011 16:39:51 +0000 (12:39 -0400)]
Using OPUS_ macros for <string.h> operations

Removes a bunch of system #include <...> in the process

7 years agoCustom modes fixes (got broken by the s/celt_alloc/opus_alloc/)
Jean-Marc Valin [Tue, 30 Aug 2011 05:39:40 +0000 (01:39 -0400)]
Custom modes fixes (got broken by the s/celt_alloc/opus_alloc/)

7 years agoAdds missing RESTORE_STACK to Opus encoder
Jean-Marc Valin [Tue, 30 Aug 2011 03:35:17 +0000 (23:35 -0400)]
Adds missing RESTORE_STACK to Opus encoder

7 years agoFixes a bug introduced in 8fe8b8e0b
Jean-Marc Valin [Tue, 30 Aug 2011 01:46:17 +0000 (21:46 -0400)]
Fixes a bug introduced in 8fe8b8e0b

The SILK bandwidth was incorrectly encoded in the ToC when SILK wasn't
using the "desired bandwidth"

7 years agoMakes the allocation more C++-friendly
Jean-Marc Valin [Mon, 29 Aug 2011 20:31:52 +0000 (16:31 -0400)]
Makes the allocation more C++-friendly

7 years agooops, opus_free() shouldn't be using opus_free()
Jean-Marc Valin [Mon, 29 Aug 2011 20:28:01 +0000 (16:28 -0400)]
oops, opus_free() shouldn't be using opus_free()

7 years agoFixes warnings
Jean-Marc Valin [Mon, 29 Aug 2011 20:25:54 +0000 (16:25 -0400)]
Fixes warnings

7 years agoFixes minor issues from the previous allocation wrapper patch
Jean-Marc Valin [Mon, 29 Aug 2011 20:10:08 +0000 (16:10 -0400)]
Fixes minor issues from the previous allocation wrapper patch

7 years agoWrapping all allocation within opus_alloc() and opus_free()
Jean-Marc Valin [Mon, 29 Aug 2011 19:08:51 +0000 (15:08 -0400)]
Wrapping all allocation within opus_alloc() and opus_free()

7 years agoUsing malloc() rather than calloc() as generic allocator
Jean-Marc Valin [Mon, 29 Aug 2011 17:48:58 +0000 (13:48 -0400)]
Using malloc() rather than calloc() as generic allocator

7 years agoAdds error code to multistream API
Jean-Marc Valin [Mon, 29 Aug 2011 13:56:14 +0000 (09:56 -0400)]
Adds error code to multistream API