aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2009-02-26 01:51:34 +0000
committerAlex Converse <alex.converse@gmail.com>2009-02-26 01:51:34 +0000
commit21e8c46cde3ec929551942f0ab27427175957011 (patch)
treeab846dcb2ec8694396193a2fc74d6807e69d3f91
parent039821a8388316e0c82a83f23e7d38327f514442 (diff)
downloadffmpeg-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
-rw-r--r--libavcodec/aac.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/libavcodec/aac.c b/libavcodec/aac.c
index ca21e0209d..324c06eb27 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) {