/**
* Finalize MDCT and free allocated memory.
+ *
+ * @param s AC-3 encoder private context
*/
av_cold void ff_ac3_float_mdct_end(AC3EncodeContext *s)
{
/**
* Initialize MDCT tables.
- * @param nbits log2(MDCT size)
+ *
+ * @param s AC-3 encoder private context
+ * @return 0 on success, negative error code on failure
*/
av_cold int ff_ac3_float_mdct_init(AC3EncodeContext *s)
{
}
-/**
+/*
* Apply KBD window to input samples prior to MDCT.
*/
static void apply_window(DSPContext *dsp, float *output, const float *input,
}
-/**
+/*
* Normalize the input samples.
* Not needed for the floating-point encoder.
*/
}
-/**
+/*
* Scale MDCT coefficients from float to 24-bit fixed-point.
*/
static void scale_coefficients(AC3EncodeContext *s)
chan_size * (s->channels + cpl));
}
+static void sum_square_butterfly(AC3EncodeContext *s, float sum[4],
+ const float *coef0, const float *coef1,
+ int len)
+{
+ s->ac3dsp.sum_square_butterfly_float(sum, coef0, coef1, len);
+}
-/**
+/*
* Clip MDCT coefficients to allowable range.
*/
static void clip_coefficients(DSPContext *dsp, float *coef, unsigned int len)
}
-/**
+/*
* Calculate a single coupling coordinate.
*/
static CoefType calc_cpl_coord(CoefSumType energy_ch, CoefSumType energy_cpl)