31 static void vorbis_inverse_coupling_altivec(
float *mag,
float *ang,
36 vector
bool int t0,
t1;
37 const vector
unsigned int v_31 =
38 vec_add(vec_add(vec_splat_u32(15),vec_splat_u32(15)),vec_splat_u32(1));
39 for (
i = 0;
i < blocksize;
i += 4) {
42 t0 = vec_cmple(m, (vector
float)vec_splat_u32(0));
43 t1 = vec_cmple(
a, (vector
float)vec_splat_u32(0));
44 a = vec_xor(
a, (vector
float) vec_sl((vector
unsigned int)
t0, v_31));
45 t0 = (vector
bool int)vec_and(
a,
t1);
46 t1 = (vector
bool int)vec_andc(
a,
t1);
47 a = vec_sub(m, (vector
float)
t1);
48 m = vec_add(m, (vector
float)
t0);
61 c->vorbis_inverse_coupling = vorbis_inverse_coupling_altivec;
Macro definitions for various function/variable attributes.
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
#define PPC_ALTIVEC(flags)
Contains misc utility macros and inline functions.
av_cold void ff_vorbisdsp_init_ppc(VorbisDSPContext *c)