[FFmpeg-devel] [PATCH v2 3/3] [GSoC] [AAC] aacdec: Use macros for constants

Claudio Freire klaussfreire at gmail.com
Tue Apr 14 17:36:48 CEST 2015


LGTM

On Mon, Apr 13, 2015 at 8:33 PM, Rostislav Pehlivanov
<atomnuker at gmail.com> wrote:
> 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
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


More information about the ffmpeg-devel mailing list