Jean-Marc Valin
|
98acefdc4a
|
Simplifications to the new allocator
|
2008-09-10 07:34:17 -04:00 |
|
Jean-Marc Valin
|
ebf72da760
|
At least attempting to use all the bits.
|
2008-09-09 23:21:36 -04:00 |
|
Jean-Marc Valin
|
825ead8210
|
Simplified allocation by doing it one band at a time, with memory
|
2008-09-09 07:35:40 -04:00 |
|
Jean-Marc Valin
|
d9b9565a4b
|
Added Erik de Castro Lopo's float_cast.h to use lrintf() when available. Also
disables the synthesis on the encoder side when pitch is disabled.
|
2008-08-31 23:34:47 -04:00 |
|
Jean-Marc Valin
|
58b3727fcf
|
exp() and log() are faster than pow() and log10() for dB conversion
|
2008-08-30 14:53:44 -04:00 |
|
Jean-Marc Valin
|
c994394fc3
|
Added signalling bits for enabling/disabling pitch, short blocks, and folding.
Also, making it possible to disable pitch for all frames.
|
2008-08-30 00:55:07 -04:00 |
|
Jean-Marc Valin
|
5c3bc67959
|
Fixed a bunch of fixed-point overflows on insanely hot signals by changing
the time-domain representation from Q14 to Q12 (Q29 to Q27 using the
standard convention).
|
2008-08-28 23:34:24 -04:00 |
|
Jean-Marc Valin
|
8dff923a5d
|
Added hooks for tuning pulses and fine energy quant
|
2008-08-13 22:07:20 -04:00 |
|
Gregory Maxwell
|
5f2a74b38b
|
Adding a floating point interface to encode and decode
|
2008-08-12 00:14:33 -04:00 |
|
Gregory Maxwell
|
8e30e75fcc
|
Fixed fixed-point compilation error.
|
2008-08-10 07:35:20 -04:00 |
|
Jean-Marc Valin
|
5eef264f3e
|
Solved an encoder/decoder mismatch happening when there's no pulse in the first
band
|
2008-08-06 23:06:31 -04:00 |
|
Jean-Marc Valin
|
4117ff0275
|
Preventing encoder/decoder mismatch when coarse energy budget is busted
|
2008-08-05 22:03:34 -04:00 |
|
Jean-Marc Valin
|
504f8c2597
|
some tuning to fine energy allocation and prevent it from going above 7 bits
(at which point, it causes problems)
|
2008-08-05 20:39:53 -04:00 |
|
Jean-Marc Valin
|
9c70906fdb
|
Changing the allocation algorithm to better take into account the fixed cost
per frames for each mode.
|
2008-08-03 22:07:06 -04:00 |
|
Jean-Marc Valin
|
36e6e01ada
|
Merged compute_allocation_table() and compute_energy_allocation_table()
|
2008-08-02 22:25:19 -04:00 |
|
Jean-Marc Valin
|
9eba823cf7
|
Turns out that the worse case of the vector split is the same as that of the
pulse split. Also, added an allocation line for even higher bit-rates
|
2008-08-02 20:51:44 -04:00 |
|
Jean-Marc Valin
|
eb7ce03165
|
fixed a bunch of bugs in the unified allocation code.
|
2008-08-02 20:14:17 -04:00 |
|
Jean-Marc Valin
|
46f3700e55
|
Fixed two issues pointed out by Greg
|
2008-08-02 08:16:58 -04:00 |
|
Jean-Marc Valin
|
6775de3eae
|
Unified allocation of fine energy and pulses.
|
2008-08-02 08:14:42 -04:00 |
|
Jean-Marc Valin
|
c890b58b69
|
Completed the separation of coarse and fine energy quantisation
|
2008-08-01 22:26:49 -04:00 |
|
Jean-Marc Valin
|
7364e758ed
|
Split coarse and fine energy quantisation
|
2008-08-01 00:11:25 -04:00 |
|
Jean-Marc Valin
|
400d76e5e2
|
bump bit-stream version
|
2008-07-26 09:15:26 -04:00 |
|
Jean-Marc Valin
|
5c0d486fe1
|
Better bit allocation for all frame sizes that are not equal to 256.
|
2008-07-24 08:49:34 -04:00 |
|
Jean-Marc Valin
|
1d27ef8b2c
|
Re-implemented renormalise_bands() based on renormalise_vector().
|
2008-07-20 23:30:29 -04:00 |
|
Jean-Marc Valin
|
6361ad8d41
|
Simplified the folding normalisation by creating renormalise_vector().
|
2008-07-20 23:14:31 -04:00 |
|
Jean-Marc Valin
|
df38f2bf01
|
Re-enabling folding/intra for transients
|
2008-07-20 20:36:54 -04:00 |
|
Jean-Marc Valin
|
2c73306750
|
isolated the folding part of the code that's common in vq.c
|
2008-07-17 16:22:23 -04:00 |
|
Jean-Marc Valin
|
7028d62f85
|
Do not encode the short-window bit when not applicable.
|
2008-07-10 23:06:58 -04:00 |
|
Jean-Marc Valin
|
bd7de0a7d5
|
cleaned up transient_analysis() and replaced the algorithm with a simpler one
based on the max absolute value in a range.
|
2008-07-06 10:57:26 -04:00 |
|
Jean-Marc Valin
|
f457819668
|
fixed-point: conversion of pre-echo avoidance now complete.
|
2008-07-04 16:47:28 -04:00 |
|
Jean-Marc Valin
|
0ceccb2dbd
|
fixed-point: more work on the time window (almost done)
|
2008-07-03 20:41:06 -04:00 |
|
Jean-Marc Valin
|
e4aeb47277
|
More fixed-point conversion of the time window.
|
2008-06-29 12:06:05 +10:00 |
|
Jean-Marc Valin
|
528f4b8660
|
More fixed-point work on the time window -- including conversion of the gain
to power-of-two.
|
2008-06-29 03:46:39 +10:00 |
|
Jean-Marc Valin
|
9375aa4faa
|
Cleaned up the pre-echo avoidance code so it works when compiled as fixed-point
(still requires float ops though). Also, removed the per-band IDCT.
|
2008-06-27 07:57:35 +10:00 |
|
Jean-Marc Valin
|
16ca18b9b0
|
Automatically choosing the overlap based on the frame size.
|
2008-06-18 23:44:48 +10:00 |
|
Jean-Marc Valin
|
9d1decd1bb
|
short-block MDCT
|
2008-06-17 13:28:13 +10:00 |
|
Jean-Marc Valin
|
12b22484e2
|
Implemented two pre-echo avoidance techniques: time-domain pre-emphasis and
per-band IDCT.
|
2008-06-16 14:13:05 +10:00 |
|
Jean-Marc Valin
|
b0c153b15d
|
Doing the cwrs split in dimensions should save a few bits.
|
2008-06-11 18:05:57 +10:00 |
|
Jean-Marc Valin
|
f892d5f68e
|
Turns out maxK and maxM were also inverted in fits_in64()
|
2008-06-10 23:46:12 +10:00 |
|
Jean-Marc Valin
|
51891c9d5c
|
fixed a cwrs bug in fits_in32()
|
2008-06-10 20:57:52 +10:00 |
|
Jean-Marc Valin
|
679083f449
|
Implemented split-cwrs for very large codebooks (>64 bits), but still getting
a few decoding errors.
|
2008-06-10 17:23:03 +10:00 |
|
Jean-Marc Valin
|
5aff7c04d4
|
Implemented a cleaner way to detect whether CWRS codebooks fit in 32 or 64 bits
|
2008-06-10 16:25:45 +10:00 |
|
Jean-Marc Valin
|
7806230829
|
Suggesting .oga as extension for Ogg files
|
2008-06-09 15:40:34 +10:00 |
|
Peter Kirk
|
19f9dc98ee
|
Use EXPORT macro in a way compatible with win32
|
2008-06-07 13:13:59 +10:00 |
|
Jean-Marc Valin
|
96748cf309
|
Allowing frames up to 512 samples
|
2008-06-06 17:04:07 +10:00 |
|
Jean-Marc Valin
|
c6ca49923e
|
Infrastructure work for a psy model
|
2008-06-01 23:19:16 +10:00 |
|
Jean-Marc Valin
|
13294b54c0
|
Adjusted stereo bit allocation to be higher than mono for the same alloc line
|
2008-05-30 16:07:06 +10:00 |
|
Jean-Marc Valin
|
54e860dc04
|
Brought the mdct masking function up-to-date
|
2008-05-30 15:48:09 +10:00 |
|
Jean-Marc Valin
|
45e358f696
|
Making the Laplace test case pass again
|
2008-05-28 00:58:42 +10:00 |
|
Jean-Marc Valin
|
4c6ee567ee
|
Preventing encoder-decoder mismatch when energy values are too large to be
represented by the laplace encoder (would have a probability of zero due
to finite precision)
|
2008-05-27 22:17:13 +10:00 |
|