Commit graph

79 commits

Author SHA1 Message Date
Jean-Marc Valin
172f66a3ac More forced decisions in CELT LFE encoding 2013-05-05 02:32:00 -04:00
Jean-Marc Valin
b08c4ca3f5 Surround: Better LFE handling
Forces CELT-only mode for LFE (despite the rate) and "locks" most of the
CELT analysis:
- No transient or TF
- Band boost on first band
- Only first two bands get PVQ bits
- Forced energy decay after the first two bands
2013-05-05 02:31:38 -04:00
Jean-Marc Valin
f77410deb6 VBR bitrate calibration for variable duration.
Also fixes uninitialized value in previous commit.
2013-04-19 22:44:03 -04:00
Jean-Marc Valin
3252bf2a68 Variable framesize improvements
- Properly apply the transient boost by counting all the bits in the cost
- Disable the post-filter for non-20-ms frames that follow a transient (applies
  only to variable framesize)
2013-04-19 03:20:40 -04:00
Jean-Marc Valin
f96fc8cc83 Merge branch 'exp_analysis'
Conflicts:
	celt/celt_encoder.c
2013-03-08 12:29:53 -05:00
Jean-Marc Valin
69c3dcd105 Fixes a bug introduced in 851f803 2013-02-19 03:42:18 -05:00
Jean-Marc Valin
851f8033f6 Moves mono downmixing and upsampling to the compute_mdcts() 2013-02-18 01:43:43 -05:00
Jean-Marc Valin
541a472ff6 Adds code to revise the transient decision using the band energy
Detects a transient when the average band energy jumps by more than 6 dB
between two consecutive frames. This fixes some undetected transients on
Gainless' Muse_Breaks_Rmx sample.
2013-02-17 21:21:30 -05:00
Jean-Marc Valin
2a5f0565b8 Running transient_analysis() even for 2.5 ms frames
This means 2.5 ms frames can now use a higher bitrate for transients.
2013-02-10 00:15:49 -05:00
Jean-Marc Valin
48ac122141 Makes analysis usable for all frame sizes 2013-02-10 00:15:49 -05:00
Jean-Marc Valin
ebdfbfb743 Fixes stupid preprocessor-related bug introduced in e368e6209.
Would cause the preemphasis and deemphasis to fail, but only with
custom modes enabled.
2013-01-09 11:13:00 -05:00
Jean-Marc Valin
e368e62092 Remove condition in pre/de-emphasis when not building with custom modes
Should slightly improve coverage and reduce code size
2013-01-03 14:28:28 -05:00
Jean-Marc Valin
d683c76b88 Fixes MSVC warnings for double->float and float->int conversion 2012-12-21 16:17:38 -05:00
Jean-Marc Valin
5fb50adb7a skip bands with no energy 2012-12-21 11:52:03 -05:00
Jean-Marc Valin
90bac9d148 Minor tuining of complexity thresholds 2012-12-14 14:01:06 -05:00
Jean-Marc Valin
28ef277db4 VBR code simplification 2012-12-14 13:21:09 -05:00
Jean-Marc Valin
dae16fb94b Cleanup: tf_estimate now ranges from 0 to 1 2012-12-13 21:40:58 -05:00
Jean-Marc Valin
f8809dda4b Dynalloc rate calibration 2012-12-12 15:30:26 -05:00
Jean-Marc Valin
1122d299ab Makes "stereo savings" less aggressive on mono or near-mono.
The max reduction now depends on intensity threshold too.
2012-12-12 15:30:23 -05:00
Jean-Marc Valin
b33db8f318 Makes tonality boost less aggressive
Some tests like Kamedo's HA test suggested that our tonal boost was a bit
too extreme.
2012-12-12 15:30:14 -05:00
Jean-Marc Valin
41fd7a12b5 Disables the new spread+tapset estimator 2012-12-12 14:41:29 -05:00
Nils Wallménius
e0884feb36 Window both sides of overlap when adding them.
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2012-12-01 15:54:04 -05:00
Jean-Marc Valin
413caa00c5 Tweaks to the new transient detector
Instead of using the average energy over the frame, we use a half-way
point between the average energy and the max energy.
2012-11-19 16:41:14 -05:00
Jean-Marc Valin
144b6e6ede Oops, fixes transient_analysis() for the right channel 2012-11-11 17:30:57 -05:00
Jean-Marc Valin
10b30e74ab Fixes a VBR bug caused by maxDepth not to be computed without dynalloc
Also, moves the dynalloc code to a separate function
2012-11-11 17:30:53 -05:00
Jean-Marc Valin
1fd1d7dd49 Fixes a bug where transient frames would use previous spreading
Also forces SPREAD_NORMAL in hybrid mode
2012-11-08 17:22:07 -05:00
Jean-Marc Valin
a6d663c6ae Disables tf_analysis() for hybrid mode
This prevents issues on speech where tf would undo what transient_analysis()
found
2012-11-08 13:26:49 -05:00
Jean-Marc Valin
1ecb7eaeaf Fixes issues with multiple files defining CELT_C 2012-11-08 11:25:20 -05:00
Jean-Marc Valin
6906210cb0 Splits out the CELT encoder and decoder 2012-11-08 09:42:27 -05:00