void test_api () { b = paired_msub (b, c, d); b = paired_madd (b, c, d); b = paired_nmadd (b, c, d); b = paired_nmsub (b, c, d); b = paired_sum0 (a, b, c); b = paired_sum1 (a, b, c); b = paired_div (b, c); b = paired_add (a, c); b = paired_sub (a, c); b = paired_mul (a, c); b = paired_neg (a); b = paired_muls0 (a, c); b = paired_muls1 (a, c); b = paired_madds0 (a, c, d); b = paired_madds1 (a, c, d); b = paired_merge00 (a, c); b = paired_merge01 (a, c); b = paired_merge10 (a, c); b = paired_merge11 (a, c); b = paired_abs (a); b = paired_nabs (a); b = paired_sqrt (a); b = paired_res (a); b = paired_sel (a, b, c); }
void ff_imdct_calc_paired(FFTContext *s, FFTSample *output, const FFTSample *input) { int n = 1 << s->mdct_bits; int n2 = n >> 1; int n4 = n >> 2; ff_imdct_half_paired(s, output+n4, input); vector float pair; FFTSample *base[2][2] = {{output+n2,output-2},{output+n2-2,output+n}}; for (int k=0; k<n4; k+=2) { pair = psq_lu(-8,base[0][0],0,0); pair = paired_neg(pair); pair = paired_merge10(pair, pair); psq_stu(pair,8,base[0][1],0,0); pair = psq_lu(8,base[1][0],0,0); pair = paired_merge10(pair, pair); psq_stu(pair,-8,base[1][1],0,0); } }