diff --git a/libvisual/libvisual/private/lv_video_blit_simd.cpp b/libvisual/libvisual/private/lv_video_blit_simd.cpp index 1e0ee716..e43afb47 100644 --- a/libvisual/libvisual/private/lv_video_blit_simd.cpp +++ b/libvisual/libvisual/private/lv_video_blit_simd.cpp @@ -45,7 +45,7 @@ namespace LV { // See the pure C implementation in blit_overlay_alphsrc() for the calculation involved. // Load source alpha as a 16-bit int. - uint16_t const src_alpha = *reinterpret_cast (src_pixel); + uint16_t const src_alpha = reinterpret_cast (src_pixel)[3]; // Load source and target pixel values into MMX registers, each channel zero-extended into 16 bits. auto src = _mm_cvtsi32_si64 (*src_pixel);