20 #include "libavutil/avutil.h"
29 #define FUNC(n) AV_JOIN(n ## _, SAMPLE_SIZE)
32 # define sum_type int64_t
33 # define MUL(a, b) MUL64(a, b)
34 # define CLIP(x) av_clipl_int32(x)
36 # define sum_type int32_t
37 # define MUL(a, b) ((a) * (b))
42 int c = coefs[(x)-1]; \
50 const int32_t *coefs,
int shift,
int big)
53 for (i = order; i <
len; i += 2) {
103 res[i ] = smp[i ] -
CLIP(p0 >> shift);
104 res[i+1] = smp[i+1] -
CLIP(p1 >> shift);
109 int order,
const int32_t *coefs,
int shift)
112 for (i = 0; i < order; i++)
115 for (i = order; i <
len; i += 2) {
119 for (j = 0; j < order; j++) {
125 res[i ] = smp[i ] -
CLIP(p0 >> shift);
126 res[i+1] = smp[i+1] -
CLIP(p1 >> shift);
static av_always_inline void FUNC() lpc_encode_unrolled(int32_t *res, const int32_t *smp, int len, int order, const int32_t *coefs, int shift, int big)
static void FUNC() flac_lpc_encode_c(int32_t *res, const int32_t *smp, int len, int order, const int32_t *coefs, int shift)