1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00

avcodec/aacdec: fix compilation under soft float MIPS

Place HAVE_MIPSFPU further up so that functions that use floating point
ASM are defined away. Otherwise compilation failures result when soft
float in enabled on the toolchain.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2020-04-05 20:37:10 -07:00 committed by Carl Eugen Hoyos
parent dbc5c0c1c8
commit 875ba23333
4 changed files with 8 additions and 8 deletions

View File

@ -59,6 +59,7 @@
#include "libavutil/mips/asmdefs.h" #include "libavutil/mips/asmdefs.h"
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
#if HAVE_MIPSFPU
static av_always_inline void float_copy(float *dst, const float *src, int count) static av_always_inline void float_copy(float *dst, const float *src, int count)
{ {
// Copy 'count' floats from src to dst // Copy 'count' floats from src to dst
@ -282,7 +283,6 @@ static void apply_ltp_mips(AACContext *ac, SingleChannelElement *sce)
} }
} }
#if HAVE_MIPSFPU
static av_always_inline void fmul_and_reverse(float *dst, const float *src0, const float *src1, int count) static av_always_inline void fmul_and_reverse(float *dst, const float *src0, const float *src1, int count)
{ {
/* Multiply 'count' floats in src0 by src1 and store the results in dst in reverse */ /* Multiply 'count' floats in src0 by src1 and store the results in dst in reverse */
@ -433,9 +433,9 @@ static void update_ltp_mips(AACContext *ac, SingleChannelElement *sce)
void ff_aacdec_init_mips(AACContext *c) void ff_aacdec_init_mips(AACContext *c)
{ {
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
#if HAVE_MIPSFPU
c->imdct_and_windowing = imdct_and_windowing_mips; c->imdct_and_windowing = imdct_and_windowing_mips;
c->apply_ltp = apply_ltp_mips; c->apply_ltp = apply_ltp_mips;
#if HAVE_MIPSFPU
c->update_ltp = update_ltp_mips; c->update_ltp = update_ltp_mips;
#endif /* HAVE_MIPSFPU */ #endif /* HAVE_MIPSFPU */
#endif /* HAVE_INLINE_ASM */ #endif /* HAVE_INLINE_ASM */

View File

@ -57,6 +57,7 @@
#include "libavutil/mips/asmdefs.h" #include "libavutil/mips/asmdefs.h"
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
#if HAVE_MIPSFPU
static void ps_hybrid_analysis_ileave_mips(float (*out)[32][2], float L[2][38][64], static void ps_hybrid_analysis_ileave_mips(float (*out)[32][2], float L[2][38][64],
int i, int len) int i, int len)
{ {
@ -187,7 +188,6 @@ static void ps_hybrid_synthesis_deint_mips(float out[2][38][64],
} }
} }
#if HAVE_MIPSFPU
#if !HAVE_MIPS32R6 && !HAVE_MIPS64R6 #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
static void ps_add_squares_mips(float *dst, const float (*src)[2], int n) static void ps_add_squares_mips(float *dst, const float (*src)[2], int n)
{ {
@ -450,9 +450,9 @@ static void ps_stereo_interpolate_mips(float (*l)[2], float (*r)[2],
void ff_psdsp_init_mips(PSDSPContext *s) void ff_psdsp_init_mips(PSDSPContext *s)
{ {
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
#if HAVE_MIPSFPU
s->hybrid_analysis_ileave = ps_hybrid_analysis_ileave_mips; s->hybrid_analysis_ileave = ps_hybrid_analysis_ileave_mips;
s->hybrid_synthesis_deint = ps_hybrid_synthesis_deint_mips; s->hybrid_synthesis_deint = ps_hybrid_synthesis_deint_mips;
#if HAVE_MIPSFPU
#if !HAVE_MIPS32R6 && !HAVE_MIPS64R6 #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
s->add_squares = ps_add_squares_mips; s->add_squares = ps_add_squares_mips;
s->mul_pair_single = ps_mul_pair_single_mips; s->mul_pair_single = ps_mul_pair_single_mips;

View File

@ -58,6 +58,7 @@
#define ENVELOPE_ADJUSTMENT_OFFSET 2 #define ENVELOPE_ADJUSTMENT_OFFSET 2
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
#if HAVE_MIPSFPU
static int sbr_lf_gen_mips(AACContext *ac, SpectralBandReplication *sbr, static int sbr_lf_gen_mips(AACContext *ac, SpectralBandReplication *sbr,
float X_low[32][40][2], const float W[2][32][32][2], float X_low[32][40][2], const float W[2][32][32][2],
int buf_idx) int buf_idx)
@ -310,7 +311,6 @@ static int sbr_x_gen_mips(SpectralBandReplication *sbr, float X[2][38][64],
return 0; return 0;
} }
#if HAVE_MIPSFPU
#if !HAVE_MIPS32R6 && !HAVE_MIPS64R6 #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
static void sbr_hf_assemble_mips(float Y1[38][64][2], static void sbr_hf_assemble_mips(float Y1[38][64][2],
const float X_high[64][40][2], const float X_high[64][40][2],
@ -611,9 +611,9 @@ static void sbr_hf_inverse_filter_mips(SBRDSPContext *dsp,
void ff_aacsbr_func_ptr_init_mips(AACSBRContext *c) void ff_aacsbr_func_ptr_init_mips(AACSBRContext *c)
{ {
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
#if HAVE_MIPSFPU
c->sbr_lf_gen = sbr_lf_gen_mips; c->sbr_lf_gen = sbr_lf_gen_mips;
c->sbr_x_gen = sbr_x_gen_mips; c->sbr_x_gen = sbr_x_gen_mips;
#if HAVE_MIPSFPU
#if !HAVE_MIPS32R6 && !HAVE_MIPS64R6 #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
c->sbr_hf_inverse_filter = sbr_hf_inverse_filter_mips; c->sbr_hf_inverse_filter = sbr_hf_inverse_filter_mips;
c->sbr_hf_assemble = sbr_hf_assemble_mips; c->sbr_hf_assemble = sbr_hf_assemble_mips;

View File

@ -59,6 +59,7 @@
#include "libavutil/mips/asmdefs.h" #include "libavutil/mips/asmdefs.h"
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
#if HAVE_MIPSFPU
static void sbr_qmf_pre_shuffle_mips(float *z) static void sbr_qmf_pre_shuffle_mips(float *z)
{ {
int Temp1, Temp2, Temp3, Temp4, Temp5, Temp6; int Temp1, Temp2, Temp3, Temp4, Temp5, Temp6;
@ -165,7 +166,6 @@ static void sbr_qmf_post_shuffle_mips(float W[32][2], const float *z)
); );
} }
#if HAVE_MIPSFPU
#if !HAVE_MIPS32R6 && !HAVE_MIPS64R6 #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
static void sbr_sum64x5_mips(float *z) static void sbr_sum64x5_mips(float *z)
{ {
@ -890,9 +890,9 @@ static void sbr_hf_apply_noise_3_mips(float (*Y)[2], const float *s_m,
void ff_sbrdsp_init_mips(SBRDSPContext *s) void ff_sbrdsp_init_mips(SBRDSPContext *s)
{ {
#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM
#if HAVE_MIPSFPU
s->qmf_pre_shuffle = sbr_qmf_pre_shuffle_mips; s->qmf_pre_shuffle = sbr_qmf_pre_shuffle_mips;
s->qmf_post_shuffle = sbr_qmf_post_shuffle_mips; s->qmf_post_shuffle = sbr_qmf_post_shuffle_mips;
#if HAVE_MIPSFPU
#if !HAVE_MIPS32R6 && !HAVE_MIPS64R6 #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
s->sum64x5 = sbr_sum64x5_mips; s->sum64x5 = sbr_sum64x5_mips;
s->sum_square = sbr_sum_square_mips; s->sum_square = sbr_sum_square_mips;