Amaze Demosaic: Speedup, cleaned code, changed nyquist code

This commit is contained in:
heckflosse
2016-01-26 13:10:38 +01:00
parent 2017a0e592
commit ee665d6790
4 changed files with 418 additions and 420 deletions

View File

@@ -39,8 +39,15 @@ typedef __m128i vint2;
#define STVFU(x,y) _mm_storeu_ps(&x,y)
#endif
// Load 8 floats from a and combine a[0],a[2],a[4] and a[6] into a vector of 4 floats
#define LC2VFU(a) _mm_shuffle_ps( LVFU(a), _mm_loadu_ps( (&a) + 4 ), _MM_SHUFFLE( 2,0,2,0 ) )
static INLINE vfloat LC2VFU(float &a)
{
// Load 8 floats from a and combine a[0],a[2],a[4] and a[6] into a vector of 4 floats
vfloat a1 = _mm_loadu_ps( &a );
vfloat a2 = _mm_loadu_ps( (&a) + 4 );
return _mm_shuffle_ps(a1,a2,_MM_SHUFFLE( 2,0,2,0 ));
}
// Store a vector of 4 floats in a[0],a[2],a[4] and a[6]
#if defined(__x86_64__) && defined(__SSE4_1__)