36 for (n = 0; n <
len; n++)
37 s +=
MUL64(x[n-j], x[n-k]);
113 for (
i = 0;
i <
len;
i++) {
123 return signal_energy / error_energy;
144 input_buffer2[
i] =
norm__(in[
i], shift_bits);
196 for (
i = 0;
i <
len;
i++) {
219 if (!
s->private_data)
#define i(width, name, range_min, range_max)
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
static void ff_dca_core_dequantize(int32_t *output, const int32_t *input, int32_t step_size, int32_t scale, int residual, int len)
static int64_t calc_corr(const int32_t *x, int len, int j, int k)
static int64_t find_best_filter(const DCAADPCMEncContext *s, const int32_t *in, int len)
int ff_dcaadpcm_subband_analysis(const DCAADPCMEncContext *s, const int32_t *in, int len, int *diff)
int ff_dcaadpcm_do_real(int pred_vq_index, softfloat quant, int32_t scale_factor, int32_t step_size, const int32_t *prev_hist, const int32_t *in, int32_t *next_hist, int32_t *out, int len, int32_t peak)
static void precalc(premultiplied_coeffs *data)
av_cold void ff_dcaadpcm_free(DCAADPCMEncContext *s)
av_cold int ff_dcaadpcm_init(DCAADPCMEncContext *s)
static int64_t apply_filter(const int16_t a[DCA_ADPCM_COEFFS], const int64_t corr[15], const int32_t aa[10])
int32_t premultiplied_coeffs[10]
static int64_t calc_prediction_gain(int pred_vq, const int32_t *in, int32_t *out, int len)
static int64_t ff_dcaadpcm_predict(int pred_vq_index, const int32_t *input)
const int16_t ff_dca_adpcm_vb[DCA_ADPCM_VQCODEBOOK_SZ][DCA_ADPCM_COEFFS]
#define DCA_ADPCM_VQCODEBOOK_SZ
static int32_t quantize_value(int32_t value, softfloat quant)
static int32_t norm__(int64_t a, int bits)
Memory handling functions.
static void error(const char *err)
static av_always_inline int diff(const struct color_info *a, const struct color_info *b, const int trans_thresh)
static const uint8_t quant[64]