diff options
author | Alex Converse <alex.converse@gmail.com> | 2009-02-26 01:51:34 +0000 |
---|---|---|
committer | Alex Converse <alex.converse@gmail.com> | 2009-02-26 01:51:34 +0000 |
commit | 21e8c46cde3ec929551942f0ab27427175957011 (patch) | |
tree | ab846dcb2ec8694396193a2fc74d6807e69d3f91 /libavcodec/aac.c | |
parent | 039821a8388316e0c82a83f23e7d38327f514442 (diff) | |
download | ffmpeg-streaming-21e8c46cde3ec929551942f0ab27427175957011.zip ffmpeg-streaming-21e8c46cde3ec929551942f0ab27427175957011.tar.gz |
Refactor AAC unsigned band type decoding for a modest speedup.
Originally committed as revision 17599 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/aac.c')
-rw-r--r-- | libavcodec/aac.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libavcodec/aac.c b/libavcodec/aac.c index ca21e02..324c06e 100644 --- a/libavcodec/aac.c +++ b/libavcodec/aac.c @@ -805,14 +805,6 @@ static int decode_spectrum_and_dequant(AACContext * ac, float coef[1024], GetBit if (vq_ptr[2]) coef[coef_tmp_idx + 2] = sign_lookup[get_bits1(gb)]; if (vq_ptr[3]) coef[coef_tmp_idx + 3] = sign_lookup[get_bits1(gb)]; } - }else { - coef[coef_tmp_idx ] = 1.0f; - coef[coef_tmp_idx + 1] = 1.0f; - if (dim == 4) { - coef[coef_tmp_idx + 2] = 1.0f; - coef[coef_tmp_idx + 3] = 1.0f; - } - } if (cur_band_type == ESC_BT) { for (j = 0; j < 2; j++) { if (vq_ptr[j] == 64.0f) { @@ -838,6 +830,14 @@ static int decode_spectrum_and_dequant(AACContext * ac, float coef[1024], GetBit coef[coef_tmp_idx + 3] *= vq_ptr[3]; } } + }else { + coef[coef_tmp_idx ] = vq_ptr[0]; + coef[coef_tmp_idx + 1] = vq_ptr[1]; + if (dim == 4) { + coef[coef_tmp_idx + 2] = vq_ptr[2]; + coef[coef_tmp_idx + 3] = vq_ptr[3]; + } + } coef[coef_tmp_idx ] *= sf[idx]; coef[coef_tmp_idx + 1] *= sf[idx]; if (dim == 4) { |