This commit replaces the previous hardcoded constants with both new and
previously defined macros from aac.h. This change makes it easy for anyone
reading the code to know how encoding and decoding scalefactors works. It's
also possibly a step in unifying some of the code across both the encoder and
decoder.
---
libavcodec/aacdec.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 5a0c05a..1a2ddc2 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -1394,7 +1394,7 @@ static int decode_scalefactors(AACContext *ac, float
sf[120], GetBitContext *gb,
int band_type_run_end[120])
{
int g, i, idx = 0;
- int offset[3] = { global_gain, global_gain - 90, 0 };
+ int offset[3] = { global_gain, global_gain - NOISE_OFFSET, 0 };
int clipped_offset;
int noise_flag = 1;
for (g = 0; g < ics->num_window_groups; g++) {
@@ -1406,7 +1406,7 @@ static int decode_scalefactors(AACContext *ac, float
sf[120], GetBitContext *gb,
} else if ((band_type[idx] == INTENSITY_BT) ||
(band_type[idx] == INTENSITY_BT2)) {
for (; i < run_end; i++, idx++) {
- offset[2] += get_vlc2(gb, vlc_scalefactors.table, 7, 3) -
60;
+ offset[2] += get_vlc2(gb, vlc_scalefactors.table, 7, 3) -
SCALE_DIFF_ZERO;
clipped_offset = av_clip(offset[2], -155, 100);
if (offset[2] != clipped_offset) {
avpriv_request_sample(ac->avctx,
@@ -1419,9 +1419,9 @@ static int decode_scalefactors(AACContext *ac, float
sf[120], GetBitContext *gb,
} else if (band_type[idx] == NOISE_BT) {
for (; i < run_end; i++, idx++) {
if (noise_flag-- > 0)
- offset[1] += get_bits(gb, 9) - 256;
+ offset[1] += get_bits(gb, NOISE_PRE_BITS) - NOISE_PRE;
else
- offset[1] += get_vlc2(gb, vlc_scalefactors.table, 7,
3) - 60;
+ offset[1] += get_vlc2(gb, vlc_scalefactors.table, 7,
3) - SCALE_DIFF_ZERO;
clipped_offset = av_clip(offset[1], -100, 155);
if (offset[1] != clipped_offset) {
avpriv_request_sample(ac->avctx,
@@ -1433,7 +1433,7 @@ static int decode_scalefactors(AACContext *ac, float
sf[120], GetBitContext *gb,
}
} else {
for (; i < run_end; i++, idx++) {
- offset[0] += get_vlc2(gb, vlc_scalefactors.table, 7, 3) -
60;
+ offset[0] += get_vlc2(gb, vlc_scalefactors.table, 7, 3) -
SCALE_DIFF_ZERO;
if (offset[0] > 255U) {
av_log(ac->avctx, AV_LOG_ERROR,
"Scalefactor (%d) out of range.\n", offset[0]);
--
2.1.4
_______________________________________________
ffmpeg-devel mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel