# HG changeset patch # User alexc # Date 1278970543 0 # Node ID 862dd5062000764f2bf7ebab8f32633f25b6a500 # Parent d102b12f69dc53ef2fb096082a6f568db0ed9770 aacdec: Use a LUT to generate CCE scale. diff -r d102b12f69dc -r 862dd5062000 aacdec.c --- a/aacdec.c Mon Jul 12 21:23:03 2010 +0000 +++ b/aacdec.c Mon Jul 12 21:35:43 2010 +0000 @@ -1454,6 +1454,13 @@ return 0; } +static const float cce_scale[] = { + 1.09050773266525765921, //2^(1/8) + 1.18920711500272106672, //2^(1/4) + M_SQRT2, + 2, +}; + /** * Decode coupling_channel_element; reference: table 4.8. * @@ -1484,7 +1491,7 @@ coup->coupling_point += get_bits1(gb) || (coup->coupling_point >> 1); sign = get_bits(gb, 1); - scale = pow(2., pow(2., (int)get_bits(gb, 2) - 3)); + scale = cce_scale[get_bits(gb, 2)]; if ((ret = decode_ics(ac, sce, gb, 0, 0))) return ret;