tree 4274e606597be715eddda80c4d5af09e0a1f6529
parent 998ba757cc5391e9247bd452382f7dc26b1a91f0
author Alex Peterson <petersonab@google.com> 1605910078 -0800
committer Wan-Teh Chang <wtc@google.com> 1606332601 +0000

Contribute libgav1's FilterIntraPredictor_SSE4_1()

Contribute the following functions from libgav1
commit 07272aeb5abc1713adcaa705677439bac12a26c1 to libaom.

libgav1/src/dsp/x86/intrapred_sse4.cc:
Filter4x2_SSE4_1(), Filter4xH(), FilterIntraPredictor_SSE4_1().

Original author: Alex Peterson <petersonab@google.com>

Make the following changes for compilation.

1. Change C++ const reference parameters to const pointer parameters.

2. Change C++ casts to C casts.

3. Change C++ 'auto' to explicit types.

4. Change C++ 'constexpr' to 'const'.

5. Change constexpr int kDuplicateFirstHalf to the C preprocessor macro
DUPLICATE_FIRST_HALF. It must be a compile-time constant because it is
passed to _mm_shuffle_epi32() as the second argument.

6. Add 'static' to all the functions.

7. Change the 'FilterIntraPredictor pred' parameter to 'int mode'.

8. Change kFilterIntraTaps to av1_filter_intra_taps.

9. Change LoadUnaligned16 to LoadAligned16.

10. Replace Load and Store functions with equivalents in
aom_dsp/x86/synonyms.h:

  Load4 => xx_loadl_32
  LoadLo8 => xx_loadl_64
  LoadAligned16 => xx_load_128
  Store4 => xx_storel_32
  RightShiftWithRounding_S16 => xx_roundn_epi16_unsigned (new function)

11. Add int8_t casts to the second argument (which is of the type
uint8_t) to _mm_insert_epi8(). This fixes UBSan warnings like this:

  runtime error: implicit conversion from type 'int' of value
  153 (32-bit, signed) to type 'char' changed the value to
  -103 (8-bit, signed)

12. Run clang-format.

Tested:
test_libaom --gtest_filter=*FilterIntraPred* \
    --gtest_also_run_disabled_tests

BUG=aomedia:2880

Change-Id: Idbb668afadb5c818957eacf0fe66437eb5681eff
