ac3enc: simplify exponent_init() by calculating exponent_group_tab[] based

on exponent group sizes.
This commit is contained in:
Justin Ruggles 2011-04-15 19:51:06 -04:00
parent e0b33d479c
commit 6b2636bba6

View File

@ -521,11 +521,13 @@ static void apply_rematrixing(AC3EncodeContext *s)
*/ */
static av_cold void exponent_init(AC3EncodeContext *s) static av_cold void exponent_init(AC3EncodeContext *s)
{ {
int i; int expstr, i, grpsize;
for (expstr = EXP_D15-1; expstr <= EXP_D45-1; expstr++) {
grpsize = 3 << expstr;
for (i = 73; i < 256; i++) { for (i = 73; i < 256; i++) {
exponent_group_tab[0][i] = (i - 1) / 3; exponent_group_tab[expstr][i] = (i + grpsize - 4) / grpsize;
exponent_group_tab[1][i] = (i + 2) / 6; }
exponent_group_tab[2][i] = (i + 8) / 12;
} }
/* LFE */ /* LFE */
exponent_group_tab[0][7] = 2; exponent_group_tab[0][7] = 2;