diff --git a/source/Lib/CommonLib/x86/BufferX86.h b/source/Lib/CommonLib/x86/BufferX86.h index b91ef72f2fada8d561d6b9582587ba08e4048d3c..3275097e88c78882ffcd4fda69fce38dfb80da3f 100644 --- a/source/Lib/CommonLib/x86/BufferX86.h +++ b/source/Lib/CommonLib/x86/BufferX86.h @@ -249,7 +249,8 @@ void addBIOAvg4_SSE(const Pel* src0, int src0Stride, const Pel* src1, int src1St a = _mm_unpacklo_epi16(_mm_loadl_epi64((const __m128i *) (src0 + x)), _mm_loadl_epi64((const __m128i *) (src1 + x))); #if JVET_P0091_REMOVE_BDOF_OFFSET_SHIFT - sum = _mm_add_epi32(sum, _mm_set1_epi32(2 * offset)); + sum = _mm_add_epi32(sum, _mm_madd_epi16(a, _mm_set1_epi16(1))); + sum = _mm_add_epi32(sum, _mm_set1_epi32(offset)); sum = _mm_sra_epi32(sum, _mm_cvtsi32_si128(shift)); #else sum = _mm_add_epi32(sum, _mm_madd_epi16(a, _mm_set1_epi16(2)));