avcodec/mips: disable assembly not supported for Loongson-3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		
				
					committed by
					
						
						Michael Niedermayer
					
				
			
			
				
	
			
			
			
						parent
						
							d49210788b
						
					
				
				
					commit
					6c5ef7f657
				
			@@ -149,7 +149,7 @@ static void sbr_qmf_analysis_mips(AVFloatDSPContext *fdsp, FFTContext *mdct,
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if HAVE_MIPSFPU
 | 
					#if (HAVE_MIPSFPU && !HAVE_LOONGSON3)
 | 
				
			||||||
static void sbr_qmf_synthesis_mips(FFTContext *mdct,
 | 
					static void sbr_qmf_synthesis_mips(FFTContext *mdct,
 | 
				
			||||||
                              SBRDSPContext *sbrdsp, AVFloatDSPContext *fdsp,
 | 
					                              SBRDSPContext *sbrdsp, AVFloatDSPContext *fdsp,
 | 
				
			||||||
                              float *out, float X[2][38][64],
 | 
					                              float *out, float X[2][38][64],
 | 
				
			||||||
@@ -488,7 +488,7 @@ static void sbr_qmf_synthesis_mips(FFTContext *mdct,
 | 
				
			|||||||
#define sbr_qmf_analysis sbr_qmf_analysis_mips
 | 
					#define sbr_qmf_analysis sbr_qmf_analysis_mips
 | 
				
			||||||
#define sbr_qmf_synthesis sbr_qmf_synthesis_mips
 | 
					#define sbr_qmf_synthesis sbr_qmf_synthesis_mips
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* HAVE_MIPSFPU */
 | 
					#endif /* (HAVE_MIPSFPU && !HAVE_LOONGSON3) */
 | 
				
			||||||
#endif /* HAVE_INLINE_ASM */
 | 
					#endif /* HAVE_INLINE_ASM */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* AVCODEC_MIPS_AACSBR_FLOAT_H */
 | 
					#endif /* AVCODEC_MIPS_AACSBR_FLOAT_H */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,6 +55,7 @@
 | 
				
			|||||||
#include "libavcodec/iirfilter.h"
 | 
					#include "libavcodec/iirfilter.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if HAVE_INLINE_ASM
 | 
					#if HAVE_INLINE_ASM
 | 
				
			||||||
 | 
					#if !HAVE_LOONGSON3
 | 
				
			||||||
typedef struct FFIIRFilterCoeffs {
 | 
					typedef struct FFIIRFilterCoeffs {
 | 
				
			||||||
    int   order;
 | 
					    int   order;
 | 
				
			||||||
    float gain;
 | 
					    float gain;
 | 
				
			||||||
@@ -195,10 +196,13 @@ static void ff_iir_filter_flt_mips(const struct FFIIRFilterCoeffs *c,
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#endif /* !HAVE_LOONGSON3 */
 | 
				
			||||||
#endif /* HAVE_INLINE_ASM */
 | 
					#endif /* HAVE_INLINE_ASM */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ff_iir_filter_init_mips(FFIIRFilterContext *f) {
 | 
					void ff_iir_filter_init_mips(FFIIRFilterContext *f) {
 | 
				
			||||||
#if HAVE_INLINE_ASM
 | 
					#if HAVE_INLINE_ASM
 | 
				
			||||||
 | 
					#if !HAVE_LOONGSON3
 | 
				
			||||||
    f->filter_flt = ff_iir_filter_flt_mips;
 | 
					    f->filter_flt = ff_iir_filter_flt_mips;
 | 
				
			||||||
 | 
					#endif /* !HAVE_LOONGSON3 */
 | 
				
			||||||
#endif /* HAVE_INLINE_ASM */
 | 
					#endif /* HAVE_INLINE_ASM */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -278,6 +278,7 @@ static void ff_mpadsp_apply_window_mips_float(float *synth_buf, float *window,
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !HAVE_LOONGSON3
 | 
				
			||||||
static void ff_dct32_mips_float(float *out, const float *tab)
 | 
					static void ff_dct32_mips_float(float *out, const float *tab)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    float val0 , val1 , val2 , val3 , val4 , val5 , val6 , val7,
 | 
					    float val0 , val1 , val2 , val3 , val4 , val5 , val6 , val7,
 | 
				
			||||||
@@ -786,6 +787,7 @@ static void ff_dct32_mips_float(float *out, const float *tab)
 | 
				
			|||||||
    out[15] = val30 + val17;
 | 
					    out[15] = val30 + val17;
 | 
				
			||||||
    out[31] = val31;
 | 
					    out[31] = val31;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#endif /* !HAVE_LOONGSON3 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void imdct36_mips_float(float *out, float *buf, float *in, float *win)
 | 
					static void imdct36_mips_float(float *out, float *buf, float *in, float *win)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -1224,6 +1226,7 @@ static void imdct36_mips_float(float *out, float *buf, float *in, float *win)
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !HAVE_LOONGSON3
 | 
				
			||||||
static void ff_imdct36_blocks_mips_float(float *out, float *buf, float *in,
 | 
					static void ff_imdct36_blocks_mips_float(float *out, float *buf, float *in,
 | 
				
			||||||
                               int count, int switch_point, int block_type)
 | 
					                               int count, int switch_point, int block_type)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -1242,10 +1245,13 @@ static void ff_imdct36_blocks_mips_float(float *out, float *buf, float *in,
 | 
				
			|||||||
        out++;
 | 
					        out++;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#endif /* !HAVE_LOONGSON3 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ff_mpadsp_init_mipsfpu(MPADSPContext *s)
 | 
					void ff_mpadsp_init_mipsfpu(MPADSPContext *s)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    s->apply_window_float   = ff_mpadsp_apply_window_mips_float;
 | 
					    s->apply_window_float   = ff_mpadsp_apply_window_mips_float;
 | 
				
			||||||
 | 
					#if !HAVE_LOONGSON3
 | 
				
			||||||
    s->imdct36_blocks_float = ff_imdct36_blocks_mips_float;
 | 
					    s->imdct36_blocks_float = ff_imdct36_blocks_mips_float;
 | 
				
			||||||
    s->dct32_float          = ff_dct32_mips_float;
 | 
					    s->dct32_float          = ff_dct32_mips_float;
 | 
				
			||||||
 | 
					#endif /* !HAVE_LOONGSON3 */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -438,6 +438,7 @@ static void sbr_qmf_deint_bfly_mips(float *v, const float *src0, const float *sr
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !HAVE_LOONGSON3
 | 
				
			||||||
static void sbr_autocorrelate_mips(const float x[40][2], float phi[3][2][2])
 | 
					static void sbr_autocorrelate_mips(const float x[40][2], float phi[3][2][2])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    int i;
 | 
					    int i;
 | 
				
			||||||
@@ -606,6 +607,7 @@ static void sbr_autocorrelate_mips(const float x[40][2], float phi[3][2][2])
 | 
				
			|||||||
        : "memory"
 | 
					        : "memory"
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					#endif /* !HAVE_LOONGSON3 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void sbr_hf_gen_mips(float (*X_high)[2], const float (*X_low)[2],
 | 
					static void sbr_hf_gen_mips(float (*X_high)[2], const float (*X_low)[2],
 | 
				
			||||||
                         const float alpha0[2], const float alpha1[2],
 | 
					                         const float alpha0[2], const float alpha1[2],
 | 
				
			||||||
@@ -894,7 +896,9 @@ void ff_sbrdsp_init_mips(SBRDSPContext *s)
 | 
				
			|||||||
    s->sum64x5 = sbr_sum64x5_mips;
 | 
					    s->sum64x5 = sbr_sum64x5_mips;
 | 
				
			||||||
    s->sum_square = sbr_sum_square_mips;
 | 
					    s->sum_square = sbr_sum_square_mips;
 | 
				
			||||||
    s->qmf_deint_bfly = sbr_qmf_deint_bfly_mips;
 | 
					    s->qmf_deint_bfly = sbr_qmf_deint_bfly_mips;
 | 
				
			||||||
 | 
					#if !HAVE_LOONGSON3
 | 
				
			||||||
    s->autocorrelate = sbr_autocorrelate_mips;
 | 
					    s->autocorrelate = sbr_autocorrelate_mips;
 | 
				
			||||||
 | 
					#endif /* !HAVE_LOONGSON3 */
 | 
				
			||||||
    s->hf_gen = sbr_hf_gen_mips;
 | 
					    s->hf_gen = sbr_hf_gen_mips;
 | 
				
			||||||
    s->hf_g_filt = sbr_hf_g_filt_mips;
 | 
					    s->hf_g_filt = sbr_hf_g_filt_mips;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user