diff --git a/source/Lib/CommonLib/AdaptiveLoopFilter.cpp b/source/Lib/CommonLib/AdaptiveLoopFilter.cpp index eb5434a3107b9a6eb52cd9c0d2b474770b053c15..2c176bec1bcc317f7e303e2f547da8d4c4a3180b 100644 --- a/source/Lib/CommonLib/AdaptiveLoopFilter.cpp +++ b/source/Lib/CommonLib/AdaptiveLoopFilter.cpp @@ -1285,11 +1285,7 @@ void AdaptiveLoopFilter::filterBlk(AlfClassifier **classifier, const PelUnitBuf } else { -#if JVET_R0208_ALF_VB_ROUNDING_FIX sum = (sum + (1 << ((shift + 3) - 1))) >> (shift + 3); -#else - sum = (sum + offset) >> (shift + 3); -#endif } sum += curr; pRec1[jj] = ClipPel( sum, clpRng ); diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index d25d6fbcb14b1d64c56409e37440cf1720636f2e..2aff87a9c2e36925e72d7d290f31ef3aed217719 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -129,7 +129,6 @@ -#define JVET_R0208_ALF_VB_ROUNDING_FIX 1 // JVET-R0208: Rounding offset fix for ALF virtual boundary processing #define JVET_R0232_CCALF_APS_CONSTRAINT 1 // JVET-R0232 section 3.2: APS contraint for CCALF diff --git a/source/Lib/CommonLib/x86/AdaptiveLoopFilterX86.h b/source/Lib/CommonLib/x86/AdaptiveLoopFilterX86.h index 447d02b5c9bc891cebc3319d2994805291f83c68..8b8c68ea664b7212617fdc690c208570e57316cb 100644 --- a/source/Lib/CommonLib/x86/AdaptiveLoopFilterX86.h +++ b/source/Lib/CommonLib/x86/AdaptiveLoopFilterX86.h @@ -317,9 +317,7 @@ static void simdFilter5x5Blk(AlfClassifier **classifier, const PelUnitBuf &recDs constexpr int SHIFT = AdaptiveLoopFilter::m_NUM_BITS - 1; constexpr int ROUND = 1 << (SHIFT - 1); -#if JVET_R0208_ALF_VB_ROUNDING_FIX const __m128i mmOffset1 = _mm_set1_epi32((1 << ((SHIFT + 3) - 1)) - ROUND); -#endif const size_t width = blk.width; const size_t height = blk.height; @@ -432,13 +430,8 @@ static void simdFilter5x5Blk(AlfClassifier **classifier, const PelUnitBuf &recDs } else { -#if JVET_R0208_ALF_VB_ROUNDING_FIX accumA = _mm_srai_epi32(_mm_add_epi32(accumA, mmOffset1), SHIFT + 3); accumB = _mm_srai_epi32(_mm_add_epi32(accumB, mmOffset1), SHIFT + 3); -#else - accumA = _mm_srai_epi32(accumA, SHIFT + 3); - accumB = _mm_srai_epi32(accumB, SHIFT + 3); -#endif } accumA = _mm_packs_epi32(accumA, accumB); accumA = _mm_add_epi16(accumA, cur); @@ -523,9 +516,7 @@ static void simdFilter7x7Blk(AlfClassifier **classifier, const PelUnitBuf &recDs Pel * dst = dstBuffer.buf + blkDst.y * dstStride + blkDst.x; const __m128i mmOffset = _mm_set1_epi32(ROUND); -#if JVET_R0208_ALF_VB_ROUNDING_FIX const __m128i mmOffset1 = _mm_set1_epi32((1 << ((SHIFT + 3) - 1)) - ROUND); -#endif const __m128i mmMin = _mm_set1_epi16( clpRng.min ); const __m128i mmMax = _mm_set1_epi16( clpRng.max ); @@ -674,13 +665,8 @@ static void simdFilter7x7Blk(AlfClassifier **classifier, const PelUnitBuf &recDs } else { -#if JVET_R0208_ALF_VB_ROUNDING_FIX accumA = _mm_srai_epi32(_mm_add_epi32(accumA, mmOffset1), SHIFT + 3); accumB = _mm_srai_epi32(_mm_add_epi32(accumB, mmOffset1), SHIFT + 3); -#else - accumA = _mm_srai_epi32(accumA, SHIFT + 3); - accumB = _mm_srai_epi32(accumB, SHIFT + 3); -#endif } accumA = _mm_packs_epi32(accumA, accumB); accumA = _mm_add_epi16(accumA, cur);