Gregory Maxwell
a85577d345
Rename version flag to exp_wip5 to exp_analysis.
2012-07-13 14:50:36 -04:00
Gregory Maxwell
7d99c2ff00
Add exp_wip5 tag to version string.
2012-07-13 14:50:36 -04:00
Jean-Marc Valin
9265e28370
Reverts the transient_analysis() changes from 4e8b9905
...
This was found to cause a quality regression (e.g. in the velvet sample)
2012-07-13 14:50:36 -04:00
Jean-Marc Valin
19ce448bf8
Fixes issues when downmixing to mono or when encoding below fullband
2012-07-13 14:50:36 -04:00
Jean-Marc Valin
0892c169c6
Tonality and pitch tuning
...
Tuned the tonality estimator to trigger on signals where only part of the
spectrum is tonal. Also tuned the pitch detector not to be confused
by short-term correlation.
2012-07-13 14:50:36 -04:00
Jean-Marc Valin
ac2e623d25
Converting most of the new code to fixed-point (not complete yet)
2012-07-13 14:50:36 -04:00
Jean-Marc Valin
db13c3890f
Fixes some issues discovered with a log sweep
...
- New DC rejection filter that avoids numerical issues
- Higher cap on HF dynalloc
- Proper filter memory for transient detector
- Prevents transient detector from detecting low-freq tones as transients
2012-07-13 14:50:36 -04:00
Jean-Marc Valin
37df5f1df6
Tuning the dynalloc adjustments and checking for LF transients
2012-07-13 14:50:36 -04:00
Jean-Marc Valin
0869829f34
Adds a 3 Hz high-pass filter and boost allocation on leakage
...
Fixes two leakage problems on the wood blocks sample
- Removes DC which causes leakage with no masking
- Detect leakage by comparing short-MDCT energy to long-MDCT energy
and boost allocation for bands with leakage
2012-07-13 14:50:35 -04:00
Jean-Marc Valin
96d7a07942
Dynalloc based on a bands that stand out of the "noise floor"
2012-07-13 14:50:35 -04:00
Jean-Marc Valin
2a9fdbc93d
Transient/VBR tuning, give more bits to frames where pitch changes
2012-07-13 14:50:35 -04:00
Jean-Marc Valin
971b055090
New transient code, weighted tonality
2012-07-13 14:50:35 -04:00
Jean-Marc Valin
70d90d115d
VBR tuning
2012-07-13 14:50:35 -04:00
Jean-Marc Valin
bb7b4f4e5e
Continuous trim calculations, tapset/spread now use new analysis
2012-07-13 14:50:34 -04:00
Jean-Marc Valin
9987a3b574
Speech/music discrimination (not used for anything yet)
...
Also, reducing the VBR rate on panned mono
2012-07-13 14:50:34 -04:00
Jean-Marc Valin
73eb363e2c
Cleanup, slightly changed analysis band layout, MFCC-like features
2012-07-13 14:50:34 -04:00
Jean-Marc Valin
e9c353a09b
Cleans up the most ugly parts of the analysis code
...
Should be mostly usable now.
2012-07-13 14:50:34 -04:00
Jean-Marc Valin
1a2e7650f9
Adds an analysis function to control VBR
...
Conflicts:
src/opus_encoder.c
2012-07-13 14:50:34 -04:00
Jean-Marc Valin
9cf62baafc
Implements a better transient metric for VBR
2012-07-13 14:50:34 -04:00
Jean-Marc Valin
27aea5c902
Using a "pure L1" metric for tf analysis
2012-07-13 14:50:34 -04:00
Jean-Marc Valin
d4165179b7
Unconstrained VBR no longer attempt to hit an average rate
2012-07-13 14:50:34 -04:00
Gregory Maxwell
de9b437eb2
Add -fixed to the version string & clarify that fixed disables float.
2012-06-11 19:19:55 -04:00
Jean-Marc Valin
66ac10210c
Fixes some cases where MIN/MAX macros result in duplicated function calls
...
Also enforces an upper bound of 510 kb/s even for frames that are
smaller than 20 ms. This reduces waste for high bitrate VBR.
2012-05-30 14:04:51 -04:00
Jean-Marc Valin
14d63d1879
Fixes the stereo_analysis() fixed-point overflow issue properly
2012-05-16 17:50:17 -04:00
Jean-Marc Valin
1a9e8539d3
Fixes two fixed-point overflow issues
...
One in SILK, one in CELT, none of them causing real harm in practice it seems
2012-05-10 12:36:46 -04:00
Jean-Marc Valin
c82cd0624a
Changes all uses of SHR()/SHL() macros to SHR32()/SHL32()
2012-04-24 17:12:25 -04:00
Jean-Marc Valin
ab5a049705
Merge commit ' 390c89225d
'
2012-04-24 13:39:22 -04:00
Jean-Marc Valin
cb05e7cd96
s/FOUNDATION/COPYRIGHT OWNER/ in CELT code and "glue code"
...
Also added 3rd clause to "master" COPYING file
2012-04-20 16:41:42 -04:00
Jean-Marc Valin
367c394866
Fixes several overflows in the CELT fixed-point
...
These were all mostly benign and would at worst result in (rare)
suboptimal encoder decisions rather than signal corruption.
2012-04-12 11:09:09 -04:00
Jean-Marc Valin
c0387ff237
More consistent types for 16-bit architectures
2012-03-05 19:19:59 -05:00
Jean-Marc Valin
fdb039badc
Eliminates an unused parameter warning in anti_collapse()
2012-03-05 17:13:59 -05:00
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
66820f350d
Tweaks the CELT fractional resampling delay to get perfect alignment
...
Also using the same int->float conversion functions for SILK as for CELT
and changed encoder implementation default to constrained VBR just to
be safe when VBR gets more aggressive.
2012-01-31 02:18:05 -05:00
Ralph Giles
120800f8fa
Rename '_FOO' to avoid potentional collisions with reserved identifiers.
...
C reserves identifiers of the from _[A-Z]+ and we have a number of
those in the code. This patch renames the various function arguments,
MACROS and preprocessor symbols to avoid the reserved form.
It also removes the CHANNELS() macro altogether. This was a
minor optimization for TI DSP to force a mono-only build,
as were the associated local 'const' versions. Since stereo
support is manditory, it wasn't worth keeping.
Thanks to John Ridges for raising the issue, and Jean-Marc Valin
and Greg Maxwell for reviewing the changes.
2011-12-02 12:31:36 -05:00
Jean-Marc Valin
8298cbb7e2
Minor anti-collapse state fix
...
This fixes the tracking of the CELT anti-collapse energy. In some cases,
the energy for bands that weren't coded wasn't updated and could
come from old frames.
2011-11-08 00:43:23 -05:00
Jean-Marc Valin
64ae0a960b
Silences a gcc warning
2011-10-29 17:28:51 -04:00
Ralph Giles
da025d5632
Convert tabs to spaces in the opus and celt code.
...
Also reformat some, but by no means all, of the opus
code for line length and three-character indents.
2011-10-26 20:24:49 -07:00
Jean-Marc Valin
3737862620
Using a noise-based PLC for the CELT layer in hybrid mode
2011-10-11 15:03:38 -04:00
Gregory Maxwell
fd17eabc28
Add some CUSTOM_MODES ifdefs in celt.c around code only used by
...
custom modes.
2011-10-04 13:33:53 -04:00
Jean-Marc Valin
2779df7ff6
Renaming the CELT plc.c file to celt_lpc.c to avoid MSVC conflicts with Skype's PLC.c
2011-10-04 13:31:54 -04:00
Gregory Maxwell
afc8d53b1b
Cleans up some leaking opus_custom symbols in celt/
2011-09-28 16:28:18 -04:00
Jean-Marc Valin
803ec8c6b4
Avoiding left shifts of negative values
2011-09-23 23:48:40 -04:00
Jean-Marc Valin
25f7f35555
Implements OPUS_GET_PITCH that queries the decoded pitch
2011-09-14 09:50:06 -07:00
Jean-Marc Valin
c37499090b
renames the libcelt/ directory to celt/
2011-09-13 18:21:18 -07:00