Gregory Maxwell
d8302fc093
Validate channel count in opus_demo.
2013-11-19 08:29:06 -08:00
Gregory Maxwell
733b47f31c
Add opus_packet_(un)pad tests.
2013-11-18 23:25:20 -08:00
Ron
135d1c9848
More make dist fixes
...
Don't include the generated celt/arm/celt_pitch_xcorr_arm-gnu.S in the
dist tarball, but do include its celt_pitch_xcorr_arm.s source file.
2013-11-19 17:34:12 +10:30
Ralph Giles
d5cb06305b
Fix 'make distclean'.
...
Automake's dependency tracking seems to be confused by our asm
generation double-indirection. It's sufficient to have just
CLEANFILES = $(CELT_AM_SOURCES_ARM_ASM:.s.in=-gnu.S)
to fix the error about 'armopts-gnu.S' not being cleaned, but
celt_pitch_xcorr_arm-gnu.S is also not cleaned without raising
a warning. Therefore we explicitly clean both sets of ARM_ASM.
2013-11-19 18:12:55 +13:00
Jean-Marc Valin
ca5bf5b049
Don't attenuate hybrid high-band for surround
2013-11-18 23:00:36 -05:00
Jean-Marc Valin
43a287fd75
Fixes unpad for multi-stream
2013-11-18 21:23:21 -05:00
Timothy B. Terriberry
2ce30358ec
Unpad asserts
...
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-18 20:02:08 -05:00
Mark Harris
3d09c5cb35
Fixes previous commit
...
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-18 16:52:46 -05:00
Jean-Marc Valin
f183566752
Adds functions for multistream padding/unpadding and single-stream unpadding
...
These are all completely untested.
2013-11-18 16:46:38 -05:00
Timothy B. Terriberry
7a0b68233f
ASM build fix
...
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-18 14:10:57 -05:00
Jean-Marc Valin
f50df82246
Fixes permissions on arm2gnu.pl
2013-11-18 13:49:34 -05:00
Timothy B. Terriberry
39386e0b85
Adds Neon assembly for correlation/convolution
...
Optimizing celt_pitch_xcorr()/xcorr_kernel() which also speeds up
FIRs, IIRs and auto-correlations
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-18 13:41:17 -05:00
Jean-Marc Valin
530198f955
Adds SATURATE16() to the fixed-point debug build too
2013-11-17 22:44:53 -05:00
Jean-Marc Valin
6bc3e3cff7
Fixes SILK surround calibration while fixing other MSVC warnings
2013-11-17 22:35:15 -05:00
Gregory Maxwell
2632ef0396
Add some basic testing for OPUS_{GET|SET}_PREDICTION_DISABLED.
2013-11-17 08:52:00 -08:00
Jean-Marc Valin
0c7c425431
oops, fix previous commit
2013-11-16 13:33:38 -05:00
Jean-Marc Valin
2c37846249
Make CELT_PVQ_U_ROW static
2013-11-16 03:54:58 -05:00
Jean-Marc Valin
cbe93e23be
Adds OPUS_SET_PREDICTION_DISABLED() ctl to force "independent" frames
...
Works by turning off pitch and energy prediction in CELT, while
setting first_frame_after_reset in SILK to disable pitch and LSF interpolation
and reduce LPC gain.
2013-11-15 13:50:38 -05:00
Jean-Marc Valin
aad4117d78
Adds a simple padding test to opus_demo (disabled by default)
2013-11-15 13:35:04 -05:00
Jean-Marc Valin
1b28e0cae5
Oops, missing semicolon on RESTORE_STACK in previous commit
2013-11-15 01:57:25 -05:00
Jean-Marc Valin
e83d2aa3f7
Adds missing RESTORE_STACKs in celt_encode_with_ec()
2013-11-15 01:52:28 -05:00
Jean-Marc Valin
d7aadd808f
Fixes a bug where the encoder was trying to use redundancy in CELT mode
...
The problem was that forcing CELT-mode for low bitrate CBR was done too late,
after the encoder had decided to use SILK. This was causing redundancy
to be allocated because the encoder didn't realize it was going to keep
using CELT.
2013-11-15 01:41:12 -05:00
Jean-Marc Valin
c5635d284b
Adds packet padding that works for all codes and fixes 40/60 ms CBR.
...
Padding is now handled by the repacketizer.
2013-11-13 23:22:37 -05:00
Jean-Marc Valin
8bbdf5fa0a
Fixes max_redundancy so that hybrid CBR can fill all bytes
2013-11-13 23:18:42 -05:00
Mark Harris
3a4659a622
opus_multistream_packet_validate() now called with the total number of streams
...
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-11-13 23:18:34 -05:00
Jean-Marc Valin
2dc27dfa13
Rename preemphasis() to celt_preemphasis() to avoid amrnb symbol clash
...
http://lists.xiph.org/pipermail/opus/2013-November/002372.html
2013-11-13 23:18:26 -05:00
Jean-Marc Valin
ab86a9cca7
Fixes more warnings
2013-11-13 23:06:25 -05:00
Jean-Marc Valin
87ca6c08ea
Increase surround allocation offset for smaller frame sizes
2013-11-13 22:58:10 -05:00
Jean-Marc Valin
0d584b905a
Prevents LFE from busting at really low bitrate
2013-11-13 22:42:04 -05:00
Jean-Marc Valin
a71c9adf52
Fixes MSVC conversion warnings
2013-11-13 12:07:01 -05:00
Jean-Marc Valin
8848171b2f
Variable frame size fixes (still not exposed in the API)
...
This fixes an actual error in the downmix (using the float version even
for the int API), as well as a bunch of conversion warnings.
2013-11-13 11:57:31 -05:00
Jean-Marc Valin
8ea01eed10
Making the CELT fixed-point decoder a bit more robust to extreme signals
...
denormalise_bands() can now produce signals close to the max MDCT amplitude.
2013-11-13 09:40:00 -05:00
Jean-Marc Valin
db5b19455f
Fixes an initialization issue in SILK prefill found by Coverity
2013-11-12 14:20:00 -05:00
Jean-Marc Valin
1d72d383ac
oops, don't need RESTORE_STACK when there's no stack
2013-11-11 18:24:56 -05:00
Jean-Marc Valin
77a5963658
gcc -pedantic had "comparison of unsigned expression < 0 is always false"
2013-11-11 17:39:02 -05:00
Jean-Marc Valin
f6066df2b9
More size-zero VLA fixes and making opus_decode* return BAD_ARG on framesize<0
2013-11-11 13:06:54 -05:00
Jean-Marc Valin
ca6fac041b
Fixes some minor issues found by scan build
2013-11-09 18:28:40 -05:00
Jean-Marc Valin
a599ccd217
stupid uninitialized variable in the mlp training caught by cppcheck
2013-11-08 21:47:44 -05:00
Jean-Marc Valin
5174817d36
Hides OPUS_FRAMESIZE_VARIABLE from the API until it actually works
2013-11-08 19:54:03 -05:00
Jean-Marc Valin
420231ab19
Makes surround bandwidth decision based on the number of channels (duh!)
2013-11-08 19:53:27 -05:00
Jean-Marc Valin
c1959e7dc3
Taking into account the frame size in more encoder decisions
...
Stereo mode, stereo width, min bandwidth, VBR damping
2013-11-08 19:24:10 -05:00
Jean-Marc Valin
9ffce06c77
This should be less confusing for static analyzers
...
Code behaviour is unchanged
2013-11-04 21:16:00 -05:00
Jean-Marc Valin
d814c5d283
Exposes --disable-float-api in autoconf
2013-11-04 12:26:50 -05:00
Jean-Marc Valin
8f466274d3
Removes a float var that shouldn't have been there
...
Defining FIXED_POINT and DISABLE_FLOAT_API now leaves no float instruction
2013-10-28 21:50:10 -04:00
Jean-Marc Valin
c2b3441211
Fixes DISABLE_FLOAT_API build
2013-10-28 21:48:50 -04:00
Jean-Marc Valin
0fb0fd715c
Moves opus_packet_parse_impl() from opus_decoder.c to opus.c
...
Because it's indirectly used in the encoder (through the repackerizer).
2013-10-28 16:41:26 -04:00
Jean-Marc Valin
811db62ead
Implements OPUS_RESET_STATE for multi-stream encoder
2013-10-28 16:12:24 -04:00
Gregory Maxwell
60429d366f
Avoid a bogus uninitialized warning and simplify some code.
2013-10-28 12:55:41 -07:00
Gregory Maxwell
1750f568d8
Remove now-unused check_decoder_option.
2013-10-28 11:40:00 -07:00
Jean-Marc Valin
9c23f5cdca
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.
2013-10-28 14:15:18 -04:00