Makes celt_exp2() use Q10 input to avoid problems on very low energy.
Also makes the pitch downsampling more conservative on gain to avoid
problems later.
Use a closed-form formula for the search instead.
This requires an integer sqrt, so it is not actually closed-form,
but the number of iterations is O(qb) instead of O(2**qb).
Accuracy for rsqrt, rcp, cos, and log2 is now at the level of truncation error
for the current output resolution of these functions.
sqrt and exp2 still have non-trivial algebraic error, but this cannot be
reduced much further using the current method without additional computation.
Also updates the fast float approximations for log2 and exp2 with coefficients
that give slightly lower maximum relative error.
Patch modified by Jean-Marc Valin to leave the cos approximation as is and
leave the check for x<-15 in exp2 as is.
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