mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-13 02:20:07 +01:00
ppc: vsx: Implement float_dsp
This commit is contained in:
@@ -24,18 +24,26 @@
|
||||
#include "libavutil/float_dsp.h"
|
||||
#include "libavutil/ppc/cpu.h"
|
||||
#include "float_dsp_altivec.h"
|
||||
#include "float_dsp_vsx.h"
|
||||
|
||||
av_cold void ff_float_dsp_init_ppc(AVFloatDSPContext *fdsp, int bit_exact)
|
||||
{
|
||||
if (!PPC_ALTIVEC(av_get_cpu_flags()))
|
||||
return;
|
||||
#if HAVE_BIGENDIAN
|
||||
fdsp->vector_fmul = ff_vector_fmul_altivec;
|
||||
fdsp->vector_fmul_add = ff_vector_fmul_add_altivec;
|
||||
fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_altivec;
|
||||
if (HAVE_BIGENDIAN && PPC_ALTIVEC(av_get_cpu_flags())) {
|
||||
fdsp->vector_fmul = ff_vector_fmul_altivec;
|
||||
fdsp->vector_fmul_add = ff_vector_fmul_add_altivec;
|
||||
fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_altivec;
|
||||
|
||||
if (!bit_exact) {
|
||||
fdsp->vector_fmul_window = ff_vector_fmul_window_altivec;
|
||||
if (!bit_exact) {
|
||||
fdsp->vector_fmul_window = ff_vector_fmul_window_altivec;
|
||||
}
|
||||
}
|
||||
if (PPC_VSX(av_get_cpu_flags())) {
|
||||
fdsp->vector_fmul = ff_vector_fmul_vsx;
|
||||
fdsp->vector_fmul_add = ff_vector_fmul_add_vsx;
|
||||
fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_vsx;
|
||||
|
||||
if (!bit_exact) {
|
||||
fdsp->vector_fmul_window = ff_vector_fmul_window_vsx;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user