#include <stdint.h>
+#include "libavutil/attributes.h"
+#include "libavutil/internal.h"
+
+#include "audiodsp.h"
+#include "internal.h"
+#include "ac3enc.h"
+#include "eac3enc.h"
/* prototypes for static functions in ac3enc_fixed.c and ac3enc_float.c */
static void scale_coefficients(AC3EncodeContext *s);
-static void apply_window(void *dsp, SampleType *output,
- const SampleType *input, const SampleType *window,
- unsigned int len);
-
static int normalize_samples(AC3EncodeContext *s);
-static void clip_coefficients(DSPContext *dsp, CoefType *coef, unsigned int len);
+static void clip_coefficients(AudioDSPContext *adsp, CoefType *coef,
+ unsigned int len);
static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType energy_cpl);
const SampleType *input_samples = &s->planar_samples[ch][blk * AC3_BLOCK_SIZE];
#if CONFIG_AC3ENC_FLOAT
- apply_window(&s->fdsp, s->windowed_samples, input_samples,
- s->mdct_window, AC3_WINDOW_SIZE);
+ s->fdsp.vector_fmul(s->windowed_samples, input_samples,
+ s->mdct_window, AC3_WINDOW_SIZE);
#else
- apply_window(&s->dsp, s->windowed_samples, input_samples,
- s->mdct_window, AC3_WINDOW_SIZE);
+ s->ac3dsp.apply_window_int16(s->windowed_samples, input_samples,
+ s->mdct_window, AC3_WINDOW_SIZE);
#endif
if (s->fixed_point)
}
/* coefficients must be clipped in order to be encoded */
- clip_coefficients(&s->dsp, cpl_coef, num_cpl_coefs);
+ clip_coefficients(&s->adsp, cpl_coef, num_cpl_coefs);
}
/* calculate energy in each band in coupling channel and each fbw channel */
if (s->fixed_point)
scale_coefficients(s);
- clip_coefficients(&s->dsp, s->blocks[0].mdct_coef[1],
+ clip_coefficients(&s->adsp, s->blocks[0].mdct_coef[1],
AC3_MAX_COEFS * s->num_blocks * s->channels);
s->cpl_on = s->cpl_enabled;