diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-05-12 13:00:29 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2015-05-17 02:08:58 +0200 |
commit | e609cfd697f8eed7325591f767585041719807d1 (patch) | |
tree | de8a4644b6f5192633100b191d58a10bdcba1327 /libavcodec/x86 | |
parent | 38f5a266eed1160e87da8e832a0a07818d7673cb (diff) | |
download | ffmpeg-e609cfd697f8eed7325591f767585041719807d1.tar.gz |
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.c | 10 |
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 */ |