summaryrefslogtreecommitdiff
path: root/libavcodec/flacdsp.h
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2015-05-12 13:00:29 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2015-05-17 02:08:58 +0200
commite609cfd697f8eed7325591f767585041719807d1 (patch)
treede8a4644b6f5192633100b191d58a10bdcba1327 /libavcodec/flacdsp.h
parent38f5a266eed1160e87da8e832a0a07818d7673cb (diff)
lavc/flac: Fix encoding and decoding with high lpc.
Based on an analysis by trac user lvqcl. Fixes ticket #4421, reported by Chase Walker.
Diffstat (limited to 'libavcodec/flacdsp.h')
-rw-r--r--libavcodec/flacdsp.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/libavcodec/flacdsp.h b/libavcodec/flacdsp.h
index 417381cc70..f5cbd94724 100644
--- a/libavcodec/flacdsp.h
+++ b/libavcodec/flacdsp.h
@@ -25,10 +25,14 @@
typedef struct FLACDSPContext {
void (*decorrelate[4])(uint8_t **out, int32_t **in, int channels,
int len, int shift);
- void (*lpc)(int32_t *samples, const int coeffs[32], int order,
- int qlevel, int len);
- void (*lpc_encode)(int32_t *res, const int32_t *smp, int len, int order,
- const int32_t coefs[32], int shift);
+ void (*lpc16)(int32_t *samples, const int coeffs[32], int order,
+ int qlevel, int len);
+ void (*lpc32)(int32_t *samples, const int coeffs[32], int order,
+ int qlevel, int len);
+ void (*lpc16_encode)(int32_t *res, const int32_t *smp, int len, int order,
+ const int32_t coefs[32], int shift);
+ void (*lpc32_encode)(int32_t *res, const int32_t *smp, int len, int order,
+ const int32_t coefs[32], int shift);
} FLACDSPContext;
void ff_flacdsp_init(FLACDSPContext *c, enum AVSampleFormat fmt, int channels, int bps);