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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
oldabi
Justin Ruggles 14 years ago committed by Michael Niedermayer
parent 76d4c1676f
commit 67fc32ac61
  1. 8
      libavcodec/ac3enc.c
  2. 2
      libavcodec/ac3enc_fixed.h
  3. 2
      libavcodec/ac3enc_float.h

@ -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 */

@ -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.

@ -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