diff --git a/EEDI3/vectorclass/vectori128.h b/EEDI3/vectorclass/vectori128.h index 74585ba..f46bd1a 100644 --- a/EEDI3/vectorclass/vectori128.h +++ b/EEDI3/vectorclass/vectori128.h @@ -2024,10 +2024,10 @@ class Vec4i : public Vec128b { // Member function to load 4 8-bit unsigned integers from array Vec4i & load_4uc(void const * p) { #if INSTRSET >= 5 // SSE4.1 - xmm = _mm_cvtepu8_epi32(_mm_cvtsi32_si128(*(int const*)p)); + xmm = _mm_cvtepu8_epi32(_mm_cvtsi32_si128(*(int32_t const*)p)); #else __m128i zero = _mm_setzero_si128(); - xmm = _mm_unpacklo_epi16(_mm_unpacklo_epi8(Vec16uc().loadl(p),zero),zero); + xmm = _mm_unpacklo_epi16(_mm_unpacklo_epi8(_mm_cvtsi32_si128(*(int32_t const*)p),zero),zero); #endif return *this; } @@ -5287,7 +5287,7 @@ static inline Vec16uc compress_saturated (Vec8us const & low, Vec8us const & hig // Function compress : packs two vectors of 16-bit integers into one vector of 8-bit integers // Signed to unsigned, with saturation static inline Vec16uc compress_saturated_s2u (Vec8s const & low, Vec8s const & high) { - return _mm_packus_epi16(low,high); + return _mm_packus_epi16(low,high); // this instruction saturates from signed 16 bit to unsigned 8 bit } // Compress 32-bit integers to 16-bit integers, signed and unsigned, with and without saturation @@ -5353,7 +5353,7 @@ static inline Vec8us compress_saturated (Vec4ui const & low, Vec4ui const & high // Signed to unsigned, with saturation static inline Vec8us compress_saturated_s2u (Vec4i const & low, Vec4i const & high) { #if INSTRSET >= 5 // SSE4.1 supported - return _mm_packus_epi32(low,high); // pack with unsigned saturation + return _mm_packus_epi32(low,high); // this instruction saturates from signed 32 bit to unsigned 16 bit #else __m128i signbit = _mm_set1_epi32(0x8000); __m128i low1 = _mm_sub_epi32(low,signbit); diff --git a/EEDI3/vectorclass/vectori256.h b/EEDI3/vectorclass/vectori256.h index 170a75b..a5bd678 100644 --- a/EEDI3/vectorclass/vectori256.h +++ b/EEDI3/vectorclass/vectori256.h @@ -5047,7 +5047,7 @@ static inline Vec32uc compress_saturated (Vec16us const & low, Vec16us const & h // Function compress : packs two vectors of 16-bit integers into one vector of 8-bit integers // Signed to unsigned, with saturation static inline Vec32uc compress_saturated_s2u (Vec16s const & low, Vec16s const & high) { - __m256i pk = _mm256_packus_epi16(low,high); // packed with unsigned saturation + __m256i pk = _mm256_packus_epi16(low,high); // this instruction saturates from signed 16 bit to unsigned 8 bit return _mm256_permute4x64_epi64(pk, 0xD8); // put in right place } @@ -5092,7 +5092,7 @@ static inline Vec16us compress_saturated (Vec8ui const & low, Vec8ui const & hig // Function compress : packs two vectors of 32-bit integers into one vector of 16-bit integers // Signed to unsigned, with saturation static inline Vec16us compress_saturated_s2u (Vec8i const & low, Vec8i const & high) { - __m256i pk = _mm256_packus_epi32(low,high); // pack with unsigned saturation + __m256i pk = _mm256_packus_epi32(low,high); // this instruction saturates from signed 32 bit to unsigned 16 bit return _mm256_permute4x64_epi64(pk, 0xD8); // put in right place } diff --git a/configure.ac b/configure.ac index 73656f6..6f315b0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([EEDI3], [4], [https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI3/issues], [EEDI3], [https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI3/]) +AC_INIT([EEDI3], [3], [https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI3/issues], [EEDI3], [https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI3/]) : ${CXXFLAGS=""}