summaryrefslogtreecommitdiff
path: root/libavcodec/x86
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/x86
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/x86')
-rw-r--r--libavcodec/x86/flacdsp_init.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/libavcodec/x86/flacdsp_init.c b/libavcodec/x86/flacdsp_init.c
index d04af4511d..e28c5c9322 100644
--- a/libavcodec/x86/flacdsp_init.c
+++ b/libavcodec/x86/flacdsp_init.c
@@ -85,8 +85,7 @@ av_cold void ff_flacdsp_init_x86(FLACDSPContext *c, enum AVSampleFormat fmt, int
}
}
if (EXTERNAL_SSE4(cpu_flags)) {
- if (bps > 16)
- c->lpc = ff_flac_lpc_32_sse4;
+ c->lpc32 = ff_flac_lpc_32_sse4;
}
if (EXTERNAL_AVX(cpu_flags)) {
if (fmt == AV_SAMPLE_FMT_S16) {
@@ -102,15 +101,14 @@ av_cold void ff_flacdsp_init_x86(FLACDSPContext *c, enum AVSampleFormat fmt, int
}
}
if (EXTERNAL_XOP(cpu_flags)) {
- if (bps > 16)
- c->lpc = ff_flac_lpc_32_xop;
+ c->lpc32 = ff_flac_lpc_32_xop;
}
#endif
#if CONFIG_FLAC_ENCODER
if (EXTERNAL_SSE4(cpu_flags)) {
- if (CONFIG_GPL && bps == 16)
- c->lpc_encode = ff_flac_enc_lpc_16_sse4;
+ if (CONFIG_GPL)
+ c->lpc16_encode = ff_flac_enc_lpc_16_sse4;
}
#endif
#endif /* HAVE_YASM */