コード例 #1
0
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);
}
コード例 #2
0
ファイル: mdct_paired.c プロジェクト: Gamer125/wiibrowser
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);
	}
}