MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/OpenColorIO / Load

Method Load

src/OpenColorIO/SSE2.h:240–253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

238 typedef typename BitDepthInfo<BD>::Type Type;
239
240 static inline void Load(const Type *in, __m128& r, __m128& g, __m128& b, __m128& a)
241 {
242 const __m128i zero = _mm_setzero_si128();
243 __m128i rgba_00_01 = _mm_loadu_si128((const __m128i*)(in + 0));
244 __m128i rgba_02_03 = _mm_loadu_si128((const __m128i*)(in + 8));
245
246 __m128 rgba0 = _mm_cvtepi32_ps(_mm_unpacklo_epi16(rgba_00_01, zero));
247 __m128 rgba1 = _mm_cvtepi32_ps(_mm_unpackhi_epi16(rgba_00_01, zero));
248
249 __m128 rgba2 = _mm_cvtepi32_ps(_mm_unpacklo_epi16(rgba_02_03, zero));
250 __m128 rgba3 = _mm_cvtepi32_ps(_mm_unpackhi_epi16(rgba_02_03, zero));
251
252 sse2RGBATranspose_4x4(rgba0, rgba1, rgba2, rgba3, r, g, b, a);
253 }
254
255 static inline void Store(Type *out, __m128 r, __m128 g, __m128 b, __m128 a)
256 {

Callers

nothing calls this directly

Calls 1

sse2RGBATranspose_4x4Function · 0.85

Tested by

no test coverage detected