diff --git a/libavcodec/arm/Makefile b/libavcodec/arm/Makefile index 8bdccbdee1..a8446b2538 100644 --- a/libavcodec/arm/Makefile +++ b/libavcodec/arm/Makefile @@ -15,6 +15,7 @@ OBJS-$(CONFIG_FFT) += arm/fft_init_arm.o \ arm/fft_fixed_init_arm.o OBJS-$(CONFIG_FLAC_DECODER) += arm/flacdsp_init_arm.o \ arm/flacdsp_arm.o +OBJS-$(CONFIG_FLAC_ENCODER) += arm/flacdsp_init_arm.o OBJS-$(CONFIG_H264CHROMA) += arm/h264chroma_init_arm.o OBJS-$(CONFIG_H264DSP) += arm/h264dsp_init_arm.o OBJS-$(CONFIG_H264PRED) += arm/h264pred_init_arm.o diff --git a/libavcodec/arm/flacdsp_init_arm.c b/libavcodec/arm/flacdsp_init_arm.c index 9b9394280f..9ddb26829d 100644 --- a/libavcodec/arm/flacdsp_init_arm.c +++ b/libavcodec/arm/flacdsp_init_arm.c @@ -27,6 +27,6 @@ void ff_flac_lpc_16_arm(int32_t *samples, const int coeffs[32], int order, av_cold void ff_flacdsp_init_arm(FLACDSPContext *c, enum AVSampleFormat fmt, int bps) { - if (bps <= 16) + if (bps <= 16 && CONFIG_FLAC_DECODER) c->lpc = ff_flac_lpc_16_arm; } diff --git a/libavcodec/flacdsp.c b/libavcodec/flacdsp.c index 89cf09a210..b15bc7476b 100644 --- a/libavcodec/flacdsp.c +++ b/libavcodec/flacdsp.c @@ -128,6 +128,6 @@ av_cold void ff_flacdsp_init(FLACDSPContext *c, enum AVSampleFormat fmt, if (ARCH_ARM) ff_flacdsp_init_arm(c, fmt, bps); - if (ARCH_X86 && CONFIG_FLAC_DECODER) + if (ARCH_X86) ff_flacdsp_init_x86(c, fmt, bps); } diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile index 52ee2a871b..7b56178ed5 100644 --- a/libavcodec/x86/Makefile +++ b/libavcodec/x86/Makefile @@ -14,6 +14,7 @@ OBJS-$(CONFIG_ENCODERS) += x86/dsputilenc_mmx.o \ x86/motion_est.o OBJS-$(CONFIG_FFT) += x86/fft_init.o OBJS-$(CONFIG_FLAC_DECODER) += x86/flacdsp_init.o +OBJS-$(CONFIG_FLAC_ENCODER) += x86/flacdsp_init.o OBJS-$(CONFIG_H263DSP) += x86/h263dsp_init.o OBJS-$(CONFIG_H264CHROMA) += x86/h264chroma_init.o OBJS-$(CONFIG_H264DSP) += x86/h264dsp_init.o diff --git a/libavcodec/x86/flacdsp_init.c b/libavcodec/x86/flacdsp_init.c index d30a41e9d4..1a0252226a 100644 --- a/libavcodec/x86/flacdsp_init.c +++ b/libavcodec/x86/flacdsp_init.c @@ -32,7 +32,7 @@ av_cold void ff_flacdsp_init_x86(FLACDSPContext *c, enum AVSampleFormat fmt, int cpu_flags = av_get_cpu_flags(); if (EXTERNAL_SSE4(cpu_flags)) { - if (bps > 16) + if (bps > 16 && CONFIG_FLAC_DECODER) c->lpc = ff_flac_lpc_32_sse4; } #endif