vorbisdsp_altivec.c (libav-11.7) | : | vorbisdsp_altivec.c (libav-11.8) | ||
---|---|---|---|---|
skipping to change at line 30 | skipping to change at line 30 | |||
#include "config.h" | #include "config.h" | |||
#if HAVE_ALTIVEC_H | #if HAVE_ALTIVEC_H | |||
#include <altivec.h> | #include <altivec.h> | |||
#endif | #endif | |||
#include "libavutil/attributes.h" | #include "libavutil/attributes.h" | |||
#include "libavutil/cpu.h" | #include "libavutil/cpu.h" | |||
#include "libavutil/ppc/cpu.h" | #include "libavutil/ppc/cpu.h" | |||
#include "libavcodec/vorbisdsp.h" | #include "libavcodec/vorbisdsp.h" | |||
#if HAVE_ALTIVEC | #if HAVE_ALTIVEC && HAVE_BIGENDIAN | |||
static void vorbis_inverse_coupling_altivec(float *mag, float *ang, | static void vorbis_inverse_coupling_altivec(float *mag, float *ang, | |||
intptr_t blocksize) | intptr_t blocksize) | |||
{ | { | |||
int i; | int i; | |||
vector float m, a; | vector float m, a; | |||
vector bool int t0, t1; | vector bool int t0, t1; | |||
const vector unsigned int v_31 = //XXX | const vector unsigned int v_31 = //XXX | |||
vec_add(vec_add(vec_splat_u32(15),vec_splat_u32(15)),vec_splat_u32(1)); | vec_add(vec_add(vec_splat_u32(15),vec_splat_u32(15)),vec_splat_u32(1)); | |||
for (i = 0; i < blocksize; i += 4) { | for (i = 0; i < blocksize; i += 4) { | |||
m = vec_ld(0, mag+i); | m = vec_ld(0, mag+i); | |||
skipping to change at line 57 | skipping to change at line 57 | |||
a = vec_sub(m, (vector float)t1); | a = vec_sub(m, (vector float)t1); | |||
m = vec_add(m, (vector float)t0); | m = vec_add(m, (vector float)t0); | |||
vec_stl(a, 0, ang+i); | vec_stl(a, 0, ang+i); | |||
vec_stl(m, 0, mag+i); | vec_stl(m, 0, mag+i); | |||
} | } | |||
} | } | |||
#endif /* HAVE_ALTIVEC */ | #endif /* HAVE_ALTIVEC */ | |||
av_cold void ff_vorbisdsp_init_ppc(VorbisDSPContext *c) | av_cold void ff_vorbisdsp_init_ppc(VorbisDSPContext *c) | |||
{ | { | |||
#if HAVE_ALTIVEC | #if HAVE_ALTIVEC && HAVE_BIGENDIAN | |||
if (!PPC_ALTIVEC(av_get_cpu_flags())) | if (!PPC_ALTIVEC(av_get_cpu_flags())) | |||
return; | return; | |||
c->vorbis_inverse_coupling = vorbis_inverse_coupling_altivec; | c->vorbis_inverse_coupling = vorbis_inverse_coupling_altivec; | |||
#endif /* HAVE_ALTIVEC */ | #endif /* HAVE_ALTIVEC */ | |||
} | } | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added |