6 years agoTaking into account the frame size in more encoder decisions
Jean-Marc Valin [Sat, 9 Nov 2013 00:24:10 +0000 (19:24 -0500)]
Taking into account the frame size in more encoder decisions

Stereo mode, stereo width, min bandwidth, VBR damping

6 years agoThis should be less confusing for static analyzers
Jean-Marc Valin [Tue, 5 Nov 2013 02:16:00 +0000 (21:16 -0500)]
This should be less confusing for static analyzers

Code behaviour is unchanged

6 years agoExposes --disable-float-api in autoconf
Jean-Marc Valin [Mon, 4 Nov 2013 17:26:50 +0000 (12:26 -0500)]
Exposes --disable-float-api in autoconf

6 years agoRemoves a float var that shouldn't have been there
Jean-Marc Valin [Tue, 29 Oct 2013 01:50:10 +0000 (21:50 -0400)]
Removes a float var that shouldn't have been there

Defining FIXED_POINT and DISABLE_FLOAT_API now leaves no float instruction

6 years agoFixes DISABLE_FLOAT_API build
Jean-Marc Valin [Tue, 29 Oct 2013 01:48:50 +0000 (21:48 -0400)]

6 years agoMoves opus_packet_parse_impl() from opus_decoder.c to opus.c
Jean-Marc Valin [Mon, 28 Oct 2013 20:41:26 +0000 (16:41 -0400)]
Moves opus_packet_parse_impl() from opus_decoder.c to opus.c

Because it's indirectly used in the encoder (through the repackerizer).

6 years agoImplements OPUS_RESET_STATE for multi-stream encoder
Jean-Marc Valin [Mon, 28 Oct 2013 20:11:53 +0000 (16:11 -0400)]
Implements OPUS_RESET_STATE for multi-stream encoder

6 years agoAvoid a bogus uninitialized warning and simplify some code.
Gregory Maxwell [Mon, 28 Oct 2013 19:55:41 +0000 (12:55 -0700)]
Avoid a bogus uninitialized warning and simplify some code.

6 years agoRemove now-unused check_decoder_option.
Gregory Maxwell [Mon, 28 Oct 2013 18:40:00 +0000 (11:40 -0700)]
Remove now-unused check_decoder_option.

6 years agoMakes stereo savings still less aggressive
Jean-Marc Valin [Mon, 28 Oct 2013 18:15:18 +0000 (14:15 -0400)]
Makes stereo savings still less aggressive

Caps the savings at 1 bit per (coded) sample. This doesn't really increase
the bitrate and fixes some issues, e.g. with IgorC's "twilight" sample.

6 years agoAdd a little missive when compiling without optimization.
Gregory Maxwell [Mon, 28 Oct 2013 18:04:57 +0000 (11:04 -0700)]
Add a little missive when compiling without optimization.

The library really depends on all the little fixed point math functions
 being inlined in order to get acceptable performance. It turns out that
 it's very easy for someone to compile with optimization disable when
 twiddling cflags or cooking up their own build system.

6 years agoReplace "inline" with OPUS_INLINE.
Gregory Maxwell [Thu, 17 Oct 2013 22:56:52 +0000 (15:56 -0700)]
Replace "inline" with OPUS_INLINE.

Newer versions of MSVC are unhappy with the strategy of the build
 environment redefining "inline" (even though they don't support the
 actual keyword). Instead we define OPUS_INLINE to the right thing
 in opus_defines.h.

This is the same approach we use for restrict.

6 years agoRemove dead code
Stefan Beller [Tue, 8 Oct 2013 22:01:36 +0000 (00:01 +0200)]
Remove dead code

The compiler warned:
silk/float/pitch_analysis_core_FLP.c: In function 'silk_P_Ana_calc_corr_st3':
silk/float/pitch_analysis_core_FLP.c:499:36: warning: variable 'basis_ptr' set but not used [-Wunused-but-set-variable]
     const silk_float *target_ptr, *basis_ptr;

This means we can safely remove it.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoFixes a potential crash when encoding NaNs
Jean-Marc Valin [Mon, 21 Oct 2013 21:53:48 +0000 (17:53 -0400)]
Fixes a potential crash when encoding NaNs

This fixes tansig_approx() to avoid crashing when the input is NaN.
The problem could only be triggered when calling the float API with
a float build at a complexity of 7 or more (i.e. analysis called).
Since the crash was due to an out-of-bound read (typically the index
is INT_MIN), it's unlikely to be exploitable in any other way than
causing a crash.

6 years agoRemove restrict definition from the unix Makefile.
Ralph Giles [Thu, 17 Oct 2013 21:52:56 +0000 (14:52 -0700)]
Remove restrict definition from the unix Makefile.

This define was replaces by OPUS_RESTRICT in opus_defines.h
in de0b5324b687 and subsequent commits. It is no longer necessary
to include it.

6 years agoFixes multistream CBR encoding and multistream surround for >20 ms
Jean-Marc Valin [Mon, 14 Oct 2013 21:47:18 +0000 (17:47 -0400)]
Fixes multistream CBR encoding and multistream surround for >20 ms

6 years agoFixes weird LFE bug
Jean-Marc Valin [Mon, 14 Oct 2013 21:33:53 +0000 (17:33 -0400)]
Fixes weird LFE bug

The LFE encoder would first decide to switch to SILK, and allocated
redundancy bytes. Then, it would force CELT because of LFE, but keep
the redundancy allocation, and end up with too few bytes, that would
end up being padded to the desired size for CBR.

6 years agoSurround encoder can now produce hard CBR streams again.
Jean-Marc Valin [Mon, 14 Oct 2013 19:01:36 +0000 (15:01 -0400)]
Surround encoder can now produce hard CBR streams again.

Even when using SILK/hybrid.

6 years agoOops, thanks to Mark Harris for spotting this!
Jean-Marc Valin [Mon, 14 Oct 2013 17:58:51 +0000 (13:58 -0400)]
Oops, thanks to Mark Harris for spotting this!

6 years agoopus_packet_parse_impl() now computes the packet size with padding
Jean-Marc Valin [Mon, 14 Oct 2013 17:45:58 +0000 (13:45 -0400)]
opus_packet_parse_impl() now computes the packet size with padding

This should fix decoding of padded multistream packets and (hopefully)
multistream fec.

6 years agoRejects bad multistream frame length
Mark Harris [Sun, 13 Oct 2013 05:23:58 +0000 (01:23 -0400)]
Rejects bad multistream frame length

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoFixes PLC for sizes that don't match basic Opus frame sizes.
Mark Harris [Sun, 13 Oct 2013 05:12:35 +0000 (01:12 -0400)]
Fixes PLC for sizes that don't match basic Opus frame sizes.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoMake -loss valid for opus_demo -e
Mark Harris [Tue, 8 Oct 2013 05:25:06 +0000 (22:25 -0700)]
Make -loss valid for opus_demo -e

In addition to its decoding use, it is the value used for

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoFix 40/60ms zero-length frame decode failure
Mark Harris [Tue, 8 Oct 2013 01:50:59 +0000 (18:50 -0700)]
Fix 40/60ms zero-length frame decode failure

Decoding failed with OPUS_BAD_ARG on a packet containing a 40ms or
60ms zero-length frame when it followed a hybrid or MDCT frame.
It now invokes the PLC for the duration of the packet as expected.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoCleaning up multistream packet validation
Jean-Marc Valin [Sat, 12 Oct 2013 00:41:30 +0000 (20:41 -0400)]
Cleaning up multistream packet validation

6 years agoCorrect opus_packet_parse code 0 packet tests.
Mark Harris [Sat, 12 Oct 2013 00:22:00 +0000 (17:22 -0700)]
Correct opus_packet_parse code 0 packet tests.

6 years agoDo up-front validation of multistream packets
Jean-Marc Valin [Fri, 11 Oct 2013 22:06:00 +0000 (18:06 -0400)]
Do up-front validation of multistream packets

Prevents the decoder from being out-of-sync on an invalid packet. Also
returns OPUS_INVALID_PACKET on a corrupted FEC packet.

6 years agoRemoves useless VARDECL() of "out"
Jean-Marc Valin [Tue, 1 Oct 2013 23:46:48 +0000 (19:46 -0400)]
Removes useless VARDECL() of "out"

6 years agoReplaces log2() with celt_log2() and fixes a potential divide-by-zero
Jean-Marc Valin [Tue, 1 Oct 2013 23:27:30 +0000 (19:27 -0400)]
Replaces log2() with celt_log2() and fixes a potential divide-by-zero

6 years agoFixes scaling of downmix_float() for fixed-point.
Jean-Marc Valin [Tue, 1 Oct 2013 23:25:40 +0000 (19:25 -0400)]
Fixes scaling of downmix_float() for fixed-point.

The previous version simply produced zeros for fixed-point.

6 years agoFixes missing VARDECL()
Jean-Marc Valin [Tue, 1 Oct 2013 21:16:33 +0000 (17:16 -0400)]
Fixes missing VARDECL()

6 years agoDon't use --dirty in genversion.bat.
Ralph Giles [Tue, 1 Oct 2013 21:07:17 +0000 (14:07 -0700)]
Don't use --dirty in genversion.bat.

This script updates version.mk, which is under version control,
so the tree is always dirty. Until the script is updated to write
package_version instead, incorporating version.mk as a fallback
the way update_version does, it's better not to use --dirty.

6 years agoMerge branch 'exp_surround1'
Jean-Marc Valin [Tue, 1 Oct 2013 21:06:09 +0000 (17:06 -0400)]
Merge branch 'exp_surround1'

6 years agoPass --always to git describe.
Ralph Giles [Tue, 1 Oct 2013 20:05:33 +0000 (13:05 -0700)]
Pass --always to git describe.

This generates a useful version string even for --depth=1 checkouts.
The option was added in git v1.6.6.

6 years agoAvoid using C++ keyword 'new'
Stefan Hacker [Fri, 20 Sep 2013 02:07:53 +0000 (04:07 +0200)]
Avoid using C++ keyword 'new'

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoAvoids unnecessary copying in opus_encode for delayed decision exp_surround1
Jean-Marc Valin [Sun, 29 Sep 2013 03:51:11 +0000 (23:51 -0400)]
Avoids unnecessary copying in opus_encode for delayed decision

6 years agoMakes analysis work when encoding more than 20 ms at a time
Jean-Marc Valin [Sat, 28 Sep 2013 23:29:23 +0000 (19:29 -0400)]
Makes analysis work when encoding more than 20 ms at a time

6 years agorun_analysis() doesn't need to return the frame size anymore
Jean-Marc Valin [Sat, 28 Sep 2013 21:22:41 +0000 (17:22 -0400)]
run_analysis() doesn't need to return the frame size anymore

6 years agoRemove trailing whitespace from the license headers.
Ralph Giles [Mon, 16 Sep 2013 21:40:04 +0000 (14:40 -0700)]
Remove trailing whitespace from the license headers.

6 years agoRemove trailing whitespace.
Ralph Giles [Mon, 16 Sep 2013 21:29:24 +0000 (14:29 -0700)]
Remove trailing whitespace.

6 years agoMakes the fixed-point build only run the float analysis at complexity 10
Jean-Marc Valin [Mon, 16 Sep 2013 18:36:53 +0000 (14:36 -0400)]
Makes the fixed-point build only run the float analysis at complexity 10

Default complexity is now 9.

6 years agoMoves frame size selection back out of opus_encode_native()
Jean-Marc Valin [Mon, 16 Sep 2013 17:08:52 +0000 (13:08 -0400)]
Moves frame size selection back out of opus_encode_native()

Should fix delayed decision on surround, but not well tested.

6 years agoVery basic surround rate calibration
Jean-Marc Valin [Sat, 14 Sep 2013 19:46:09 +0000 (15:46 -0400)]
Very basic surround rate calibration

6 years agoAllowing surround to use lower bandwidth than fullband
Jean-Marc Valin [Fri, 13 Sep 2013 21:16:38 +0000 (17:16 -0400)]
Allowing surround to use lower bandwidth than fullband

6 years agoMore surround masking tuning
Jean-Marc Valin [Fri, 13 Sep 2013 19:05:50 +0000 (15:05 -0400)]
More surround masking tuning

6 years agoTuning the surround masking
Jean-Marc Valin [Thu, 12 Sep 2013 07:05:43 +0000 (03:05 -0400)]
Tuning the surround masking

We're now a bit more conservative and only take into account the bands
that are being codec. Also weighting the rate saving by the band width.

6 years agoSurround analysis should now work for non-20ms frame sizes.
Jean-Marc Valin [Thu, 12 Sep 2013 03:34:51 +0000 (23:34 -0400)]
Surround analysis should now work for non-20ms frame sizes.

Not well tested.

6 years agoCode for handling upsampling in surround_analysis()
Jean-Marc Valin [Wed, 11 Sep 2013 04:51:22 +0000 (00:51 -0400)]
Code for handling upsampling in surround_analysis()

Still untested.

6 years agoAdds surround masking to SILK
Jean-Marc Valin [Tue, 10 Sep 2013 05:15:19 +0000 (01:15 -0400)]
Adds surround masking to SILK

6 years agoFixes delayed decision for fixed-point
Jean-Marc Valin [Mon, 9 Sep 2013 21:11:25 +0000 (17:11 -0400)]
Fixes delayed decision for fixed-point

6 years agoAnalysis scaling fixes
Jean-Marc Valin [Mon, 9 Sep 2013 20:39:19 +0000 (16:39 -0400)]
Analysis scaling fixes

This should make the scaling the same for fixed and float. It changes the float
scaling too by normalizing by the number of channels, which matters for
bandwidth detection.

6 years agoMakes speech/music detection work with FIXED_POINT (code still float)
Jean-Marc Valin [Fri, 6 Sep 2013 20:32:50 +0000 (16:32 -0400)]
Makes speech/music detection work with FIXED_POINT (code still float)

6 years agoFirst pass at making the analysis code run with FIXED_POINT
Jean-Marc Valin [Fri, 6 Sep 2013 20:00:39 +0000 (16:00 -0400)]
First pass at making the analysis code run with FIXED_POINT

Code is still float, but at least tonality esitmation seems to work.
Speech/music analysis is still disabled.

6 years agoMoves the analysis back to opus_encode_native() to it runs for all streams.
Jean-Marc Valin [Fri, 6 Sep 2013 01:34:43 +0000 (21:34 -0400)]
Moves the analysis back to opus_encode_native() to it runs for all streams.

I checked that it's not *completely* busted, but it probably needs more testing.

6 years agoAdds trim and dynalloc control to surround masking
Jean-Marc Valin [Thu, 5 Sep 2013 16:49:55 +0000 (12:49 -0400)]
Adds trim and dynalloc control to surround masking

6 years agoMakes surround_analysis() work in fixed-point
Jean-Marc Valin [Sat, 31 Aug 2013 06:05:32 +0000 (02:05 -0400)]
Makes surround_analysis() work in fixed-point

6 years agoSurround masking rewrite
Jean-Marc Valin [Sat, 31 Aug 2013 01:58:02 +0000 (21:58 -0400)]
Surround masking rewrite

The channel energy is now computed using an MDCT in the multi-stream
encoder rather than computing the energy of the stereo downmix.

6 years agoImplements fixed-point silk_LPC_analysis_filter() in terms of celt_fir()
Jean-Marc Valin [Thu, 29 Aug 2013 19:29:02 +0000 (15:29 -0400)]
Implements fixed-point silk_LPC_analysis_filter() in terms of celt_fir()

Saves 2.5% on ARM without any asm. The float build still uses the old
code because celt_fir() then becomes a float function.

6 years agoConverts the fixed-point silk_burg_modified() to use celt_pitch_xcorr()
Jean-Marc Valin [Thu, 29 Aug 2013 01:38:15 +0000 (21:38 -0400)]
Converts the fixed-point silk_burg_modified() to use celt_pitch_xcorr()

bit-exact with original version

6 years agoShare auto-correlation code between SILK and CELT
Jean-Marc Valin [Wed, 28 Aug 2013 21:55:34 +0000 (17:55 -0400)]
Share auto-correlation code between SILK and CELT

6 years agoMakes the SILK pitch search use celt_pitch_xcorr()
Jean-Marc Valin [Mon, 26 Aug 2013 22:54:39 +0000 (18:54 -0400)]
Makes the SILK pitch search use celt_pitch_xcorr()

Should gives us ARM/SSE optimizations for free.

6 years agoFix more VS2010 header paths.
Ralph Giles [Wed, 21 Aug 2013 23:15:57 +0000 (16:15 -0700)]
Fix more VS2010 header paths.

6 years agoFix relative paths the header file in the VS2010 projects.
Ralph Giles [Wed, 21 Aug 2013 23:06:30 +0000 (16:06 -0700)]
Fix relative paths the header file in the VS2010 projects.

This prevented opening the files from the 'Solution Explorer'
interface where the source listing is displayed. Thanks to
Koen Vos for reporting the issue.

6 years agoFixes a denorm issue in the VoIP mode high-pass filter
Jean-Marc Valin [Mon, 12 Aug 2013 18:47:14 +0000 (14:47 -0400)]
Fixes a denorm issue in the VoIP mode high-pass filter

6 years agoUpdate the RTP draft for resubmit
Jean-Marc Valin [Fri, 2 Aug 2013 16:04:50 +0000 (12:04 -0400)]
Update the RTP draft for resubmit

6 years agoFix broken URL in entdec.c.
Timothy B. Terriberry [Mon, 5 Aug 2013 05:47:07 +0000 (22:47 -0700)]
Fix broken URL in entdec.c.

Thanks to thinqa for the report.
Fixes #1968.

6 years agoBetter handling of the dynalloc cap for CBR/CVBR
Jean-Marc Valin [Tue, 30 Jul 2013 09:12:46 +0000 (05:12 -0400)]
Better handling of the dynalloc cap for CBR/CVBR

6 years agoFixes an integer wrap-around due to an exceedingly large QCONST16
Jean-Marc Valin [Thu, 25 Jul 2013 17:52:42 +0000 (13:52 -0400)]
Fixes an integer wrap-around due to an exceedingly large QCONST16

6 years agoAdd SET_MAX_BANDWIDTH to multistream encoder ctl list
Daniel Jensen [Mon, 22 Jul 2013 22:31:31 +0000 (16:31 -0600)]
Add SET_MAX_BANDWIDTH to multistream encoder ctl list

Signed-off-by: Gregory Maxwell <greg@xiph.org>
6 years agoDisable MSVC posix security warnings in the project file.
Ralph Giles [Mon, 15 Jul 2013 23:17:02 +0000 (16:17 -0700)]
Disable MSVC posix security warnings in the project file.

By default Visual Studio warns about various C stdlib calls,
recommending non-portable replacements instead. We disable
this warning in a number of places in the source.

Since they're specific to the Visual Studio build, it's better
to disable them just in the project files where they always
apply to the correct toolchain.

I have only added the disable setting to project files which
need it currently: opus, test_opus_encode, and test_opus_decode.

6 years agoConditionalize #pragma warn for MSVC.
Ralph Giles [Mon, 15 Jul 2013 23:04:14 +0000 (16:04 -0700)]
Conditionalize #pragma warn for MSVC.

This warning disable was conditional on _WIN32, which mingw
also defines, resulting in a warning about the unknown pragma
on gcc. Instead make it depend on something only the Visual
Studio compiler defines.

6 years agoRevert "Fixes a number of double promotions and missing casts."
Gregory Maxwell [Mon, 15 Jul 2013 22:51:24 +0000 (15:51 -0700)]
Revert "Fixes a number of double promotions and missing casts."

This reverts commit 43279728cd39947f95dbf77557a0a698f164fdd1.

6 years agoRevert "Additional MSVC warning missed in the last commit."
Gregory Maxwell [Mon, 15 Jul 2013 22:51:14 +0000 (15:51 -0700)]
Revert "Additional MSVC warning missed in the last commit."

This reverts commit 715b37f6d65b855c2ac2677ecafef6f9f7290de1.

6 years agoAdditional MSVC warning missed in the last commit.
Gregory Maxwell [Mon, 15 Jul 2013 22:31:44 +0000 (15:31 -0700)]
Additional MSVC warning missed in the last commit.

6 years agoFixes a number of double promotions and missing casts.
Gregory Maxwell [Mon, 15 Jul 2013 22:23:03 +0000 (15:23 -0700)]
Fixes a number of double promotions and missing casts.

At a minimum MSVC warns on some of this stuff.

6 years agoAlways try to update the version when autogen.sh is run
Ron [Sat, 13 Jul 2013 07:53:04 +0000 (17:23 +0930)]
Always try to update the version when autogen.sh is run

This avoids at least one case where ./autogen.sh && ./configure && make
will re-run configure because the makefile rules updated something that
it depends upon. Pulling a new version from git will change the version
so we should update that at the first step rather than iterating after
the last one.

6 years agoUpdate draft for the Opus RFC
Jean-Marc Valin [Sat, 13 Jul 2013 03:52:00 +0000 (23:52 -0400)]
Update draft for the Opus RFC

6 years agoFixes MSVC warnings
Jean-Marc Valin [Sat, 13 Jul 2013 02:59:29 +0000 (22:59 -0400)]
Fixes MSVC warnings

6 years agoUpdates version.mk for 1.1-beta until we can get rid of it v1.1-beta
Jean-Marc Valin [Fri, 12 Jul 2013 14:08:52 +0000 (10:08 -0400)]
Updates version.mk for 1.1-beta until we can get rid of it

6 years agoFixes a denorm problem when the input goes silent after active audio
Jean-Marc Valin [Fri, 12 Jul 2013 05:22:09 +0000 (01:22 -0400)]
Fixes a denorm problem when the input goes silent after active audio

6 years agoFixes build when DISABLE_FLOAT_API is defined
Pedro Becerra [Thu, 11 Jul 2013 04:00:47 +0000 (00:00 -0400)]
Fixes build when DISABLE_FLOAT_API is defined

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
6 years agoSurround masking tuning
Jean-Marc Valin [Sun, 7 Jul 2013 06:51:07 +0000 (02:51 -0400)]
Surround masking tuning

More conservative surround masking
Disables temporal VBR on surround
Disables tonality on LFE

6 years agoBetter handling of centre for surround masking, bitrate tuning
Jean-Marc Valin [Sun, 7 Jul 2013 06:50:18 +0000 (02:50 -0400)]
Better handling of centre for surround masking, bitrate tuning

Centre channel now contributes sqrt(.5) to both channels
Reduces the stream offset at low bitrate

6 years agoFixes silly fixed-point bug with the surround downmix
Jean-Marc Valin [Sun, 7 Jul 2013 05:11:23 +0000 (01:11 -0400)]
Fixes silly fixed-point bug with the surround downmix

6 years agoPrevents zero-energy on LFE
Jean-Marc Valin [Sun, 7 Jul 2013 04:39:35 +0000 (00:39 -0400)]
Prevents zero-energy on LFE

6 years agoLink libopus itself with libm too
Ron [Tue, 2 Jul 2013 07:31:23 +0000 (17:01 +0930)]
Link libopus itself with libm too

6 years agoMore speech/music detection comments (delayed decision)
Jean-Marc Valin [Tue, 2 Jul 2013 00:19:24 +0000 (20:19 -0400)]
More speech/music detection comments (delayed decision)

6 years agoCommenting the speech/music Markov code
Jean-Marc Valin [Mon, 1 Jul 2013 22:39:34 +0000 (18:39 -0400)]
Commenting the speech/music Markov code

6 years agoDisables temporal VBR for LFE
Jean-Marc Valin [Mon, 1 Jul 2013 20:27:07 +0000 (16:27 -0400)]
Disables temporal VBR for LFE

6 years agoAdds some checks to the surround API
Jean-Marc Valin [Mon, 1 Jul 2013 20:17:01 +0000 (16:17 -0400)]
Adds some checks to the surround API

6 years agoTemporal VBR tuning
Jean-Marc Valin [Mon, 1 Jul 2013 20:12:27 +0000 (16:12 -0400)]
Temporal VBR tuning

Applies temporal VBR up to higher bitrates after IgorC reported it being
useful at 64 kb/s for amount=0.1

6 years agoGet rid of PC_LIBM
Ron [Mon, 1 Jul 2013 17:05:53 +0000 (02:35 +0930)]
Get rid of PC_LIBM

It only existed to not include -lm in the .pc for fixed point builds,
but that is still needed since the float API is still enabled and
will use at least lrint.

6 years agoAdd a couple minor additional decoder tests.
Gregory Maxwell [Sun, 30 Jun 2013 05:20:54 +0000 (22:20 -0700)]
Add a couple minor additional decoder tests.

6 years agoBraces go on the next line.
Gregory Maxwell [Sun, 30 Jun 2013 03:33:32 +0000 (20:33 -0700)]
Braces go on the next line.

6 years agoBrace a number of if statements instead of one-lining them.
Gregory Maxwell [Sun, 30 Jun 2013 03:25:55 +0000 (20:25 -0700)]
Brace a number of if statements instead of one-lining them.

6 years agoFixes some return without va_end in the api, adds tests.
Gregory Maxwell [Sun, 30 Jun 2013 03:06:07 +0000 (20:06 -0700)]
Fixes some return without va_end in the api, adds tests.

Also makes the CTL bad argument handling more consistent to avoid mistakes
 like that in the future.  Also updates the variable duration docs.

6 years agoMake the parallel test mode of automake 1.13 useable
Ron [Sat, 29 Jun 2013 07:06:24 +0000 (16:36 +0930)]
Make the parallel test mode of automake 1.13 useable

6 years agoReplace INCLUDES with AM_CPPFLAGS
Ron [Sat, 29 Jun 2013 06:10:27 +0000 (15:40 +0930)]

Automake 1.13 complains that INCLUDES is obsoleted now.

6 years agoMore autoconf housekeeping
Ron [Fri, 28 Jun 2013 16:36:53 +0000 (02:06 +0930)]
More autoconf housekeeping

Drop the test for getopt, it's not used anywhere anymore.

Switch the last uses of AC_TRY_COMPILE to AC_COMPILE_IFELSE now.
The former is marked as obsolete, and this will leave no confusion
about which to cut and paste if new tests are added.

Double quote all the parameters to AC_LANG_SOURCE and AC_LANG_PROGRAM.
This is actually required, even if you can get away with not doing it
sometimes, so again set a good example for future changes to follow,
to hopefully avoid people getting bitten harder than they need to be.

Don't bother checking for alloca if we're never going to use it
(ie. if we have C99 variable-size array support).
The test for this is a bit sketchy anyway ...  we separately test for
HAVE_ALLOCA_H and USE_ALLOCA, but the test for USE_ALLOCA depends upon
having alloca.h present, yet the use of these macros in stack_alloc.h
only tests for HAVE_ALLOCA_H inside of a test for USE_ALLOCA.
I'm not going to change this logic right now, since I don't know what
crazy system it was attempting to cater for, though I suspect it was
one that was not using the autoconf build system ... since with the
current test that combination should not be possible to obtain.

Use LT_LIB_M instead of the song and dance with testing for exp().
This should also work for BeOS which is what the exp test was added for.
It also means we don't unconditionally add -lm to everything via LIBS.

Use LIBM now instead of hardcoding -lm everywhere.

Use AS_HELP_STRING to format all option descriptions.

Don't bother to test for doxygen if using it is --disable'd.

Drop the SYMBOL_VISIBILITY export, it isn't used anywhere (we add the
compiler flag to CFLAGS).

6 years agoFixes more MSVC warnings
Jean-Marc Valin [Thu, 27 Jun 2013 18:45:50 +0000 (14:45 -0400)]
Fixes more MSVC warnings