Browse Source

ac3enc: use MUL64() to multiply fixed-point coefficients

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.8
Justin Ruggles Michael Niedermayer 15 years ago
parent
commit
67fc32ac61
3 changed files with 8 additions and 4 deletions
  1. +4
    -4
      libavcodec/ac3enc.c
  2. +2
    -0
      libavcodec/ac3enc_fixed.h
  3. +2
    -0
      libavcodec/ac3enc_float.h

+ 4
- 4
libavcodec/ac3enc.c View File

@@ -328,10 +328,10 @@ static void compute_rematrixing_strategy(AC3EncodeContext *s)
CoefType rt = block->mdct_coef[1][i];
CoefType md = lt + rt;
CoefType sd = lt - rt;
sum[0] += lt * lt;
sum[1] += rt * rt;
sum[2] += md * md;
sum[3] += sd * sd;
sum[0] += MUL_COEF(lt, lt);
sum[1] += MUL_COEF(rt, rt);
sum[2] += MUL_COEF(md, md);
sum[3] += MUL_COEF(sd, sd);
}

/* compare sums to determine if rematrixing will be used for this band */


+ 2
- 0
libavcodec/ac3enc_fixed.h View File

@@ -36,6 +36,8 @@ typedef int16_t SampleType;
typedef int32_t CoefType;
typedef int64_t CoefSumType;

#define MUL_COEF(a,b) MUL64(a,b)


/**
* Compex number.


+ 2
- 0
libavcodec/ac3enc_float.h View File

@@ -36,6 +36,8 @@ typedef float SampleType;
typedef float CoefType;
typedef float CoefSumType;

#define MUL_COEF(a,b) ((a)*(b))


typedef struct AC3MDCTContext {
const float *window; ///< MDCT window function


Loading…
Cancel
Save