Commit graph

2791 commits

Author SHA1 Message Date
Jean-Marc Valin
b15b30ce6d Speeds up analysis by getting rid of calls to atan2() and cos()
atan2() is replaced by Monty's approximation.
2012-07-13 14:50:36 -04:00
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
a20545781e Adds automatic bandwidth detection
Haven't tested it much and not sure not to use it without risk
for high-quality streams that may change bandwidth
2012-07-13 14:50:35 -04:00
Jean-Marc Valin
3e52daed26 Better training set 2012-07-13 14:50:35 -04:00
Jean-Marc Valin
7609b67e6e Adds low-energy feature, training with noise 2012-07-13 14:50:35 -04:00
Jean-Marc Valin
0fcc99b3d0 Better training 2012-07-13 14:50:35 -04:00
Jean-Marc Valin
747c817d96 Adds MFCC standard deviation features 2012-07-13 14:50:35 -04:00
Jean-Marc Valin
cd213ea19c Down to 17 features with same error rate 2012-07-13 14:50:34 -04:00
Jean-Marc Valin
ac3ac4a30c Adds cepstral mean subtraction (CMS) to analysis 2012-07-13 14:50:34 -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
Gian-Carlo Pascutto
619aa8b268 Fix MSVC Debug builds, set missing dependencies for tests. 2012-07-13 10:04:59 +02:00
Gian-Carlo Pascutto
c0edd63737 Make tests work on MSVC.
Add project files for Opus tests, fixup test source for Win32.
2012-07-12 18:00:46 -04:00
Gian-Carlo Pascutto
f57be69f07 Remove non-existent ReadMe.txt references. 2012-07-12 18:00:29 -04:00
Gian-Carlo Pascutto
a7bdbf7602 Add opus_demo target and project files. 2012-07-12 18:00:08 -04:00
Gian-Carlo Pascutto
d2fa2edfd8 Make compiler settings consistent. Actually produce the libary, remove the opus_demo for now. 2012-07-12 17:59:26 -04:00
Gian-Carlo Pascutto
cb42735813 Add missing multistream sources to MSVC project file. 2012-07-12 17:58:52 -04:00
Jean-Marc Valin
bdf87401da RTP draft fix
This is what got submitted as version 01
2012-07-11 15:54:55 -04:00
Jean-Marc Valin
37d9e1348d Fixes a hybrid encoder bug on 24 kHz stereo input 2012-07-11 15:53:39 -04:00
Gregory Maxwell
03105f5b70 Make OPUS_SET_GAIN survive decode reset.
This is the less-surprising behavior and will hopefully
result in fewer corner case bugs (e.g. losing gain
after seeking). This commit also updates the documentation.
2012-07-11 02:33:55 -04:00
Gregory Maxwell
9881484dbd test_opus_api: Fix valgrind expectations broken by last commit.
The last commit changed some of the multistream tests to use a
dual-mono setup instead of a single-stereo setup. Some of the
accompanying explicit valgrind checks were still setup to
look for stereo streams.
2012-07-11 02:18:44 -04:00
Gregory Maxwell
28b41ae5ae Add OPUS_{GET|SET}_GAIN CTLs for adjusting output gain.
This CTL was requested by Nicolas George for FFmpeg.
2012-07-11 00:04:24 -04:00
Gregory Maxwell
c329045758 Make stack-protector check use AC_LINK_IFELSE. 2012-07-07 02:29:56 -04:00
Gregory Maxwell
27a0a5fa46 Avoid using win32 lrintf ASM on mingw even when config.h is broken. 2012-07-07 02:01:44 -04:00
Timothy B. Terriberry
a7df963437 Typo fix.
Thanks to Ron Lee for pointing it out.
2012-07-05 14:26:02 -07:00
Timothy B. Terriberry
a2b2e0b88a Initial revision of Ogg Opus draft.
Adapted from http://wiki.xiph.org/OggOpus
2012-07-05 08:34:15 -07:00
Gregory Maxwell
1616230245 Add configure option to disable stack protector. 2012-06-28 20:22:26 -04:00
Gregory Maxwell
0c9060781c Dos2unix, trailing whitespace on draft-spittka-payload-rtp-opus.xml. 2012-06-19 09:11:40 -04:00
Jean-Marc Valin
25aec47575 Adds a copy of the RTP payload XML 2012-06-14 10:56:12 -04:00
Gregory Maxwell
de9b437eb2 Add -fixed to the version string & clarify that fixed disables float. 2012-06-11 19:19:55 -04:00
Ron
9a89d56d46 Include the doc dir in DIST_SUBDIRS instead of EXTRA_DIST
And explicitly specify what we want included in EXTRA_DIST of doc/Makefile.am,
otherwise make dist picks up whatever random junk you might have laying around
in that dir at the time you run it.

Tweak the top level delegation targets, because this means distclean will be
run in the doc dir by default now without our help.
2012-06-11 15:33:57 -04:00
Jean-Marc Valin
99aaff5233 opus_compare.m was outdated 2012-06-11 14:37:44 -04:00