Advertisement
Guest User

Untitled

a guest
Sep 1st, 2014
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.38 KB | None | 0 0
  1. // in_data[8*8]
  2. // dctlookup[8][8]
  3. static void idct_1d(float *in_data, float *out_data)
  4. {
  5.   int i,j;
  6.  
  7.   __m128 a, b, c, d;
  8.  
  9.   a = _mm_load_ps(&in_data[0]);
  10.   b = _mm_load_ps(&in_data[4]);
  11.  
  12.   for (i = 0; i < 8; i++)
  13.   {
  14.     for (j = 0; j < 8; j+=4)
  15.     {
  16.       c = _mm_load_ps(&dctlookup[i][j]);
  17.       d = _mm_mul_ps(a, b);
  18.       _mm_store_ps(&out_data[j], d);
  19.     }
  20.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement