From 35d5cb1ab4dab657ef31b845893cf98d885c8add Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Wed, 1 Jun 2011 12:40:01 -0400 Subject: [PATCH] ac3enc: extract all exponents for the frame at once --- libavcodec/ac3enc.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index dbe7784eae..53f6251a5e 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -900,15 +900,11 @@ static av_cold void exponent_init(AC3EncodeContext *s) */ static void extract_exponents(AC3EncodeContext *s) { - int blk, ch; + int ch = !s->cpl_on; + int chan_size = AC3_MAX_COEFS * AC3_MAX_BLOCKS * (s->channels - ch + 1); + AC3Block *block = &s->blocks[0]; - for (ch = !s->cpl_on; ch <= s->channels; ch++) { - for (blk = 0; blk < AC3_MAX_BLOCKS; blk++) { - AC3Block *block = &s->blocks[blk]; - s->ac3dsp.extract_exponents(block->exp[ch], block->fixed_coef[ch], - AC3_MAX_COEFS); - } - } + s->ac3dsp.extract_exponents(block->exp[ch], block->fixed_coef[ch], chan_size); }