Commit graph

177 commits

Author SHA1 Message Date
Jean-Marc Valin
d38d6b9aa1 Implemented variable spreading amount in the decoder
Decision not yet implemented in the encoder
2010-08-07 09:21:32 -04:00
Timothy B. Terriberry
828da91d66 Minor simplification to exp_rotation(). 2010-08-06 21:43:49 -04:00
Jean-Marc Valin
39ffbeec9a Comments 2010-08-06 07:40:11 -04:00
Jean-Marc Valin
6f1cbca519 More cleanup 2010-07-24 22:06:29 -04:00
Jean-Marc Valin
f276b23415 Using random noise in upper bands when signal is "normal" 2010-07-24 17:13:17 -04:00
Jean-Marc Valin
ea245c5ca9 Fixed C99-style declaration 2010-07-06 20:25:54 -04:00
Jean-Marc Valin
67217ee746 Splitting transients in time domain 2010-05-21 13:58:51 -04:00
Jean-Marc Valin
2123f358b1 Cleaning up the folding code.
Folding now moved to alg_quant() and alg_unquant(). No more funny short block
alignment checks because bands now have to be aligned.
2010-05-09 19:45:31 -04:00
Jean-Marc Valin
65ee67ac55 Making the band definition the same at all frame sizes. 2010-04-26 07:08:44 -04:00
Jean-Marc Valin
8271dc8a22 Tuning the amount of spreading based on Koen's feedback 2010-04-20 00:47:22 -04:00
Jean-Marc Valin
b8ba70c99b Disabling resynthesis when not needed (need to remove folding for this to work) 2010-04-18 22:10:24 -04:00
Jean-Marc Valin
b8a06ee00d Re-introducing the successive spreading rotations, but in a two-step
scheme. Keeping Hadamard as an option (disabled for now) for transients.
2010-04-18 09:57:42 -04:00
Jean-Marc Valin
65a487069d Corrected some non-sensical code 2010-04-17 17:29:03 -04:00
Jean-Marc Valin
628c025373 Converted a few double-precision constants to single precision 2010-04-16 20:57:56 -04:00
Jean-Marc Valin
137f3366bc Changed compute_allocation_table() so it handles ebands that start and end in the same allocation band. Also fixed a minor C89 issue. 2010-04-14 17:42:22 -04:00
Jean-Marc Valin
9a92d61ee8 A bit more tuning on the pseudo-frac-Hadamard. Also Trying to improve
transient spreading.
2010-04-06 20:33:12 -04:00
Jean-Marc Valin
354bf60b04 Doing the spreading with a "pseudo-fractional-Hadamard" transform 2010-04-03 09:23:29 -04:00
Jean-Marc Valin
c7b01bad50 fixed-point: slightly increasing the decoder accuracy again 2010-03-19 23:17:28 -04:00
Jean-Marc Valin
3a4a463f0a fixed-point: Further reduction in mismatch 2010-03-15 22:55:51 -04:00
Jean-Marc Valin
3a0bc3d95c Allowing CELT to skip the low frequencies 2010-02-25 22:46:55 -05:00
Timothy Terriberry
8c7bb4c9c7 Expose the normalized range for reciprocal square roots in fixed-point mode. This allows subsequnt calculations to use the full precision of the result. 2009-10-31 13:35:40 -04:00
Jean-Marc Valin
a3803a98af misc minor changes 2009-10-24 11:24:34 -04:00
Jean-Marc Valin
73bf6332ed Making the multiplication in normalise_residual() produce a 32-bit result just
to be on the safe side (not that I observed any overflow, but I can't prove
it can't happen).
2009-10-20 07:22:04 -04:00
Jean-Marc Valin
234969c903 Removed the _t from all the celt*_t types to avoid clashing with POSIX 2009-10-17 22:12:42 -04:00
Jean-Marc Valin
8b2ff0da5a Updated copyright notices 2009-10-17 21:40:10 -04:00
Jean-Marc Valin
f7a1e165aa Renamed mix_pitch_and_residual() to normalise_residual(), after minor
simplification.
2009-10-07 06:56:03 -04:00
Jean-Marc Valin
f6dc1eba26 Further simplifications to mix_pitch_and_residual() (which no longer does
anything that its name implies)
2009-10-06 20:08:49 -04:00
Jean-Marc Valin
1e3263a267 Fix for some test program compat and an assertion that didn't make sense anymore 2009-10-02 17:48:25 -04:00
Jean-Marc Valin
d5e5436e07 Fix for folding_decision() in stereo mode and more cleaning up of the code
now that we no longer do normalized pitch
2009-09-30 20:50:41 -04:00
Jean-Marc Valin
75732de1a7 Tuning the spreading rotations 2009-09-29 22:35:32 -04:00
Jean-Marc Valin
095c1782c5 Removed code that is no longer necessary with denorm pitch and spreading 2009-09-17 22:38:34 -04:00
Jean-Marc Valin
3aa3afe74f Only calling intra_fold() when there's no pulse allocated 2009-09-11 20:28:29 -04:00
Jean-Marc Valin
a7750b90cc Re-introducing the successive rotations as a way to control low-bitrate
tonal artefacts. This replaces folding for all cases where we have at least
one pulse.
2009-08-29 22:52:03 +01:00
Jean-Marc Valin
164a229644 Reducing the size of the pulses->bits cache by restricting the number of pulses
possible
2009-07-23 07:24:03 -04:00
Jean-Marc Valin
798ab38b27 Using normalised M/S stereo data for folding and use separate folding gains
for M and S.
2009-07-12 20:41:29 -04:00
Jean-Marc Valin
ece2cfa2d2 removed useless comments 2009-07-04 22:46:38 -04:00
Jean-Marc Valin
4e5b7bc522 Tuning the folding gain to be higher when there's only one pulse and lower
when there are many pulses.
2009-07-03 15:09:07 -04:00
Jean-Marc Valin
cd29b02773 fixed-point: fixing two overflows that didn't really affect quality 2009-07-01 09:59:21 -04:00
Jean-Marc Valin
da1156af1c fixing a floating point bug for very small signals 2009-07-01 01:27:48 -04:00
Jean-Marc Valin
6d454d8dad This fixes a potential assertion failure with some very weak signals 2009-06-30 10:31:00 -04:00
Jean-Marc Valin
9edb7b4213 This fixes a folding issue with stereo 2009-06-15 11:22:01 -04:00
Jean-Marc Valin
ca53b7c919 Squashed commit of the following:
commit ea807b68678dd76175def2c5eb006c6bdb16679e
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Wed Mar 25 23:24:41 2009 -0400

    cleanup before merge

commit 73ad1a0202641be6a23903e464ece21fe332a131
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Sat Mar 21 00:02:16 2009 -0400

    Some tuning of the new stereo

commit c05057eb57a7723045214a2f830fd561388ae48a
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Sun Mar 15 19:56:11 2009 -0400

    fixed-point: atan2() converted

commit a8476cf8be55b0612d42df98d9807ca1335adfe3
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Sat Mar 14 23:10:04 2009 -0400

    fixed-point: Getting the new stereo code working in fixed-point (still more
    work left)

commit 70a452761a5ce15700664e7167886dce5914cbd0
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Mon Mar 2 23:36:25 2009 -0500

    Coding left and right independently for lower bands

commit 4efd1e6385c7d036749080265a8d26668312b91b
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Sun Mar 1 23:56:46 2009 -0500

    Removed the sqrt(C) from the normalisation, which simplifies a lot of things.

commit a4f3c5c60bc396bf644afa49b49e6b24ccf144f8
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Fri Feb 20 20:49:38 2009 -0500

    Better point stereo calculation when we don't encode the side anyway

commit f08525de4739f4017d19ec2e2022883deda8f826
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Thu Feb 19 19:43:09 2009 -0500

    Apparently, Timothy's calculations for fine energy allocation also apply
    to the quantisation of theta.

commit 6548cffc9d3f996b8a8dbfab982f0da0bc6c2dc2
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Thu Feb 19 07:35:24 2009 -0500

    Better handling of the "theta bits" and disabling the orthogonalize()

commit 7aa82c694967afa85dd30be8cc670663f98829fe
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Wed Feb 18 08:01:07 2009 -0500

    tuning the new stereo

commit c2b780a773de66fd9613c7cd54c09b705fe9ce45
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Sun Feb 15 22:24:52 2009 -0500

    The new stereo coupling actually decodes properly now.

commit 85513c203d773bebcf0a6055f953170d563d890c
Author: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Date:   Sun Feb 15 21:31:16 2009 -0500

    First attempt at a new "constrained" MS stereo scheme
2009-03-26 20:23:14 -04:00
Gregory Maxwell
61832f162f Miscellaneous compiler warning cleanups. 2008-12-22 18:15:42 -05:00
Jean-Marc Valin
8256ed4cf7 New VQ search is now enabled by default after fixing the last remaining issues:
1) the case of the null vector and 2) getting rid of the 32-bit division
2008-12-12 20:50:56 -05:00
Jean-Marc Valin
137241d089 Fix a case where the new search can leave us with no pulse left 2008-12-06 23:44:55 -05:00
Jean-Marc Valin
09dc5a18c5 New VQ search nearly fixed-point ready 2008-12-05 00:28:28 -05:00
Jean-Marc Valin
c7635b45f4 New VQ search works in fixed-point even though there's still some float ops left 2008-12-04 23:26:32 -05:00
Jean-Marc Valin
a733f08eb5 Experimental code to improve both the speed and accuracy of the VQ search 2008-12-04 22:52:26 -05:00
Jean-Marc Valin
6cde5dd24c alg_quant() now handles the sign of X[] separately from the quantisation
process
2008-12-04 21:21:41 -05:00
Jean-Marc Valin
896471dc3d Disabling the folding sign bit 2008-11-06 21:55:41 -05:00