diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-09-07 13:12:05 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-11-09 10:02:59 +0000 |
commit | 33fc33aa94d4add0878ec30dc818e34e1dd3cc2a (patch) | |
tree | f6af110909c79b2759136554f1143d8b0572af0a /chromium/third_party/libaom/source/config | |
parent | 7d2c5d177e9813077a621df8d18c0deda73099b3 (diff) | |
download | qtwebengine-chromium-33fc33aa94d4add0878ec30dc818e34e1dd3cc2a.tar.gz |
BASELINE: Update Chromium to 104.0.5112.120
Change-Id: I5d2726c2ab018d75d055739b6ba64317904f05bb
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/438935
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/libaom/source/config')
37 files changed, 10234 insertions, 1035 deletions
diff --git a/chromium/third_party/libaom/source/config/config/aom_version.h b/chromium/third_party/libaom/source/config/config/aom_version.h index 790736ffafa..3f163b8db5f 100644 --- a/chromium/third_party/libaom/source/config/config/aom_version.h +++ b/chromium/third_party/libaom/source/config/config/aom_version.h @@ -12,8 +12,8 @@ #define VERSION_MAJOR 3 #define VERSION_MINOR 3 #define VERSION_PATCH 0 -#define VERSION_EXTRA "475-ge24a83a72" +#define VERSION_EXTRA "648-g32d6783c4" #define VERSION_PACKED \ ((VERSION_MAJOR << 16) | (VERSION_MINOR << 8) | (VERSION_PATCH)) -#define VERSION_STRING_NOSP "3.3.0-475-ge24a83a72" -#define VERSION_STRING " 3.3.0-475-ge24a83a72" +#define VERSION_STRING_NOSP "3.3.0-648-g32d6783c4" +#define VERSION_STRING " 3.3.0-648-g32d6783c4" diff --git a/chromium/third_party/libaom/source/config/ios/arm-neon/config/aom_config.c b/chromium/third_party/libaom/source/config/ios/arm-neon/config/aom_config.c index b1084c5aef7..e81aaa8bc76 100644 --- a/chromium/third_party/libaom/source/config/ios/arm-neon/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/ios/arm-neon/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/armv7-ios.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/armv7-ios.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/ios/arm-neon/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/ios/arm-neon/config/aom_dsp_rtcd.h index 155c11857c0..49fb79d7f18 100644 --- a/chromium/third_party/libaom/source/config/ios/arm-neon/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/ios/arm-neon/config/aom_dsp_rtcd.h @@ -34,7 +34,12 @@ void aom_avg_8x8_quad_c(const uint8_t* s, int x16_idx, int y16_idx, int* avg); -#define aom_avg_8x8_quad aom_avg_8x8_quad_c +void aom_avg_8x8_quad_neon(const uint8_t* s, + int p, + int x16_idx, + int y16_idx, + int* avg); +#define aom_avg_8x8_quad aom_avg_8x8_quad_neon void aom_blend_a64_hmask_c(uint8_t* dst, uint32_t dst_stride, @@ -176,18 +181,24 @@ void aom_dc_128_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -210,6 +221,18 @@ void aom_dc_128_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -226,6 +249,12 @@ void aom_dc_128_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -244,6 +273,12 @@ void aom_dc_128_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -276,18 +311,24 @@ void aom_dc_left_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -310,6 +351,18 @@ void aom_dc_left_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -326,6 +379,12 @@ void aom_dc_left_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -344,6 +403,12 @@ void aom_dc_left_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -376,18 +441,24 @@ void aom_dc_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -410,6 +481,18 @@ void aom_dc_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -426,6 +509,12 @@ void aom_dc_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -444,6 +533,12 @@ void aom_dc_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -476,18 +571,24 @@ void aom_dc_top_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -510,6 +611,18 @@ void aom_dc_top_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -526,6 +639,12 @@ void aom_dc_top_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -544,6 +663,12 @@ void aom_dc_top_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1014,18 +1139,24 @@ void aom_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_c +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_c + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_c + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_c -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1048,6 +1179,18 @@ void aom_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_c +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_c + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_c + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1064,6 +1207,12 @@ void aom_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_c +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_c + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1082,6 +1231,12 @@ void aom_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_c +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_c + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1127,7 +1282,10 @@ void aom_hadamard_8x8_neon(const int16_t* src_diff, void aom_hadamard_8x8_dual_c(const int16_t* src_diff, ptrdiff_t src_stride, int16_t* coeff); -#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_c +void aom_hadamard_8x8_dual_neon(const int16_t* src_diff, + ptrdiff_t src_stride, + int16_t* coeff); +#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_neon void aom_hadamard_lp_16x16_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -1237,7 +1395,12 @@ void aom_lpf_horizontal_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_c +void aom_lpf_horizontal_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_neon void aom_lpf_horizontal_4_c(uint8_t* s, int pitch, @@ -1274,7 +1437,12 @@ void aom_lpf_horizontal_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_c +void aom_lpf_horizontal_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_neon void aom_lpf_horizontal_6_c(uint8_t* s, int pitch, @@ -1311,7 +1479,12 @@ void aom_lpf_horizontal_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_c +void aom_lpf_horizontal_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_neon void aom_lpf_horizontal_8_c(uint8_t* s, int pitch, @@ -1348,7 +1521,12 @@ void aom_lpf_horizontal_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_c +void aom_lpf_horizontal_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_neon void aom_lpf_vertical_14_c(uint8_t* s, int pitch, @@ -1385,7 +1563,12 @@ void aom_lpf_vertical_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_c +void aom_lpf_vertical_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_neon void aom_lpf_vertical_4_c(uint8_t* s, int pitch, @@ -1422,7 +1605,12 @@ void aom_lpf_vertical_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_c +void aom_lpf_vertical_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_neon void aom_lpf_vertical_6_c(uint8_t* s, int pitch, @@ -1459,7 +1647,12 @@ void aom_lpf_vertical_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_c +void aom_lpf_vertical_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_neon void aom_lpf_vertical_8_c(uint8_t* s, int pitch, @@ -1496,7 +1689,12 @@ void aom_lpf_vertical_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_c +void aom_lpf_vertical_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_neon unsigned int aom_masked_sad128x128_c(const uint8_t* src, int src_stride, @@ -2098,85 +2296,191 @@ void aom_paeth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_c +void aom_paeth_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_neon void aom_paeth_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c +void aom_paeth_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_neon -void aom_paeth_predictor_16x8_c(uint8_t* dst, +void aom_paeth_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c +void aom_paeth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_neon -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_neon + +void aom_paeth_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_neon void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_c +void aom_paeth_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_neon void aom_paeth_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_c +void aom_paeth_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_neon void aom_paeth_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c +void aom_paeth_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_neon + +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_neon + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_neon void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c +void aom_paeth_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_neon void aom_paeth_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c +void aom_paeth_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_neon + +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_neon void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c +void aom_paeth_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_neon void aom_paeth_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_c +void aom_paeth_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_neon void aom_paeth_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c +void aom_paeth_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_neon + +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_neon void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c +void aom_paeth_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_neon void aom_paeth_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_c +void aom_paeth_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_neon void aom_pixel_scale_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -3219,85 +3523,191 @@ void aom_smooth_h_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_c +void aom_smooth_h_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_neon void aom_smooth_h_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c +void aom_smooth_h_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_neon -void aom_smooth_h_predictor_16x8_c(uint8_t* dst, +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c +void aom_smooth_h_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_neon -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_neon + +void aom_smooth_h_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_neon void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_c +void aom_smooth_h_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_neon void aom_smooth_h_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_c +void aom_smooth_h_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_neon void aom_smooth_h_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c +void aom_smooth_h_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_neon + +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_neon + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_neon void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c +void aom_smooth_h_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_neon void aom_smooth_h_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c +void aom_smooth_h_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_neon + +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_neon void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c +void aom_smooth_h_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_neon void aom_smooth_h_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_c +void aom_smooth_h_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_neon void aom_smooth_h_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c +void aom_smooth_h_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_neon + +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_neon void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c +void aom_smooth_h_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_neon void aom_smooth_h_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_c +void aom_smooth_h_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_neon void aom_smooth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, @@ -3319,6 +3729,26 @@ void aom_smooth_predictor_16x32_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_neon +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_neon + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_neon + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3329,12 +3759,6 @@ void aom_smooth_predictor_16x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_neon -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3365,6 +3789,26 @@ void aom_smooth_predictor_32x64_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_neon +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_neon + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_neon + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3385,6 +3829,16 @@ void aom_smooth_predictor_4x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_neon +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_neon + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3415,6 +3869,16 @@ void aom_smooth_predictor_8x16_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_neon +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_neon + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3439,85 +3903,191 @@ void aom_smooth_v_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_c +void aom_smooth_v_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_neon void aom_smooth_v_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c +void aom_smooth_v_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_neon -void aom_smooth_v_predictor_16x8_c(uint8_t* dst, +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c +void aom_smooth_v_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_neon -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_neon + +void aom_smooth_v_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_neon void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_c +void aom_smooth_v_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_neon void aom_smooth_v_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_c +void aom_smooth_v_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_neon void aom_smooth_v_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c +void aom_smooth_v_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_neon + +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_neon + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_neon void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c +void aom_smooth_v_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_neon void aom_smooth_v_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c +void aom_smooth_v_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_neon + +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_neon void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c +void aom_smooth_v_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_neon void aom_smooth_v_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_c +void aom_smooth_v_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_neon void aom_smooth_v_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c +void aom_smooth_v_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_neon + +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_neon void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c +void aom_smooth_v_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_neon void aom_smooth_v_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_c +void aom_smooth_v_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_neon int64_t aom_sse_c(const uint8_t* a, int a_stride, @@ -4014,18 +4584,24 @@ void aom_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_c +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_c + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_c + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_c -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4048,6 +4624,18 @@ void aom_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_32x64 aom_v_predictor_32x64_c +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_c + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_c + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4064,6 +4652,12 @@ void aom_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_c +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_64x16 aom_v_predictor_64x16_c + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4082,6 +4676,12 @@ void aom_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_c +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_c + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, diff --git a/chromium/third_party/libaom/source/config/ios/arm-neon/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/ios/arm-neon/config/av1_rtcd.h index 23e831cc591..7c2e8affa18 100644 --- a/chromium/third_party/libaom/source/config/ios/arm-neon/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/ios/arm-neon/config/av1_rtcd.h @@ -183,6 +183,30 @@ void aom_upsampled_pred_c(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_c +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_neon(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_neon + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -234,6 +258,14 @@ void av1_build_compound_diffwtd_mask_d16_neon(uint8_t* mask, #define av1_build_compound_diffwtd_mask_d16 \ av1_build_compound_diffwtd_mask_d16_neon +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +#define av1_calc_frame_error av1_calc_frame_error_c + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1314,6 +1346,28 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_neon(int32_t* arr, int size, int bit); #define av1_round_shift_array av1_round_shift_array_neon +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_neon(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +#define av1_selfguided_restoration av1_selfguided_restoration_neon + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1330,6 +1384,44 @@ void av1_upsample_intra_edge_c(uint8_t* p, int sz); void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_neon(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +#define av1_warp_affine av1_warp_affine_neon + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -1610,7 +1702,15 @@ void cdef_find_dir_dual_c(const uint16_t* img1, int coeff_shift, int* out1, int* out2); -#define cdef_find_dir_dual cdef_find_dir_dual_c +void cdef_find_dir_dual_neon(const uint16_t* img1, + const uint16_t* img2, + int stride, + int32_t* var1, + int32_t* var2, + int coeff_shift, + int* out1, + int* out2); +#define cdef_find_dir_dual cdef_find_dir_dual_neon cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size); cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_neon(TX_SIZE tx_size); diff --git a/chromium/third_party/libaom/source/config/ios/arm64/config/aom_config.c b/chromium/third_party/libaom/source/config/ios/arm64/config/aom_config.c index cd0a632b72a..7f23b547ab1 100644 --- a/chromium/third_party/libaom/source/config/ios/arm64/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/ios/arm64/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/arm64-ios.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/arm64-ios.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/ios/arm64/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/ios/arm64/config/aom_dsp_rtcd.h index 155c11857c0..49fb79d7f18 100644 --- a/chromium/third_party/libaom/source/config/ios/arm64/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/ios/arm64/config/aom_dsp_rtcd.h @@ -34,7 +34,12 @@ void aom_avg_8x8_quad_c(const uint8_t* s, int x16_idx, int y16_idx, int* avg); -#define aom_avg_8x8_quad aom_avg_8x8_quad_c +void aom_avg_8x8_quad_neon(const uint8_t* s, + int p, + int x16_idx, + int y16_idx, + int* avg); +#define aom_avg_8x8_quad aom_avg_8x8_quad_neon void aom_blend_a64_hmask_c(uint8_t* dst, uint32_t dst_stride, @@ -176,18 +181,24 @@ void aom_dc_128_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -210,6 +221,18 @@ void aom_dc_128_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -226,6 +249,12 @@ void aom_dc_128_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -244,6 +273,12 @@ void aom_dc_128_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -276,18 +311,24 @@ void aom_dc_left_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -310,6 +351,18 @@ void aom_dc_left_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -326,6 +379,12 @@ void aom_dc_left_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -344,6 +403,12 @@ void aom_dc_left_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -376,18 +441,24 @@ void aom_dc_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -410,6 +481,18 @@ void aom_dc_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -426,6 +509,12 @@ void aom_dc_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -444,6 +533,12 @@ void aom_dc_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -476,18 +571,24 @@ void aom_dc_top_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -510,6 +611,18 @@ void aom_dc_top_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -526,6 +639,12 @@ void aom_dc_top_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -544,6 +663,12 @@ void aom_dc_top_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1014,18 +1139,24 @@ void aom_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_c +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_c + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_c + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_c -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1048,6 +1179,18 @@ void aom_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_c +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_c + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_c + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1064,6 +1207,12 @@ void aom_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_c +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_c + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1082,6 +1231,12 @@ void aom_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_c +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_c + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1127,7 +1282,10 @@ void aom_hadamard_8x8_neon(const int16_t* src_diff, void aom_hadamard_8x8_dual_c(const int16_t* src_diff, ptrdiff_t src_stride, int16_t* coeff); -#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_c +void aom_hadamard_8x8_dual_neon(const int16_t* src_diff, + ptrdiff_t src_stride, + int16_t* coeff); +#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_neon void aom_hadamard_lp_16x16_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -1237,7 +1395,12 @@ void aom_lpf_horizontal_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_c +void aom_lpf_horizontal_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_neon void aom_lpf_horizontal_4_c(uint8_t* s, int pitch, @@ -1274,7 +1437,12 @@ void aom_lpf_horizontal_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_c +void aom_lpf_horizontal_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_neon void aom_lpf_horizontal_6_c(uint8_t* s, int pitch, @@ -1311,7 +1479,12 @@ void aom_lpf_horizontal_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_c +void aom_lpf_horizontal_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_neon void aom_lpf_horizontal_8_c(uint8_t* s, int pitch, @@ -1348,7 +1521,12 @@ void aom_lpf_horizontal_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_c +void aom_lpf_horizontal_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_neon void aom_lpf_vertical_14_c(uint8_t* s, int pitch, @@ -1385,7 +1563,12 @@ void aom_lpf_vertical_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_c +void aom_lpf_vertical_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_neon void aom_lpf_vertical_4_c(uint8_t* s, int pitch, @@ -1422,7 +1605,12 @@ void aom_lpf_vertical_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_c +void aom_lpf_vertical_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_neon void aom_lpf_vertical_6_c(uint8_t* s, int pitch, @@ -1459,7 +1647,12 @@ void aom_lpf_vertical_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_c +void aom_lpf_vertical_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_neon void aom_lpf_vertical_8_c(uint8_t* s, int pitch, @@ -1496,7 +1689,12 @@ void aom_lpf_vertical_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_c +void aom_lpf_vertical_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_neon unsigned int aom_masked_sad128x128_c(const uint8_t* src, int src_stride, @@ -2098,85 +2296,191 @@ void aom_paeth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_c +void aom_paeth_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_neon void aom_paeth_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c +void aom_paeth_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_neon -void aom_paeth_predictor_16x8_c(uint8_t* dst, +void aom_paeth_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c +void aom_paeth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_neon -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_neon + +void aom_paeth_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_neon void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_c +void aom_paeth_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_neon void aom_paeth_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_c +void aom_paeth_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_neon void aom_paeth_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c +void aom_paeth_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_neon + +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_neon + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_neon void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c +void aom_paeth_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_neon void aom_paeth_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c +void aom_paeth_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_neon + +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_neon void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c +void aom_paeth_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_neon void aom_paeth_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_c +void aom_paeth_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_neon void aom_paeth_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c +void aom_paeth_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_neon + +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_neon void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c +void aom_paeth_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_neon void aom_paeth_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_c +void aom_paeth_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_neon void aom_pixel_scale_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -3219,85 +3523,191 @@ void aom_smooth_h_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_c +void aom_smooth_h_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_neon void aom_smooth_h_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c +void aom_smooth_h_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_neon -void aom_smooth_h_predictor_16x8_c(uint8_t* dst, +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c +void aom_smooth_h_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_neon -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_neon + +void aom_smooth_h_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_neon void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_c +void aom_smooth_h_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_neon void aom_smooth_h_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_c +void aom_smooth_h_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_neon void aom_smooth_h_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c +void aom_smooth_h_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_neon + +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_neon + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_neon void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c +void aom_smooth_h_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_neon void aom_smooth_h_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c +void aom_smooth_h_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_neon + +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_neon void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c +void aom_smooth_h_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_neon void aom_smooth_h_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_c +void aom_smooth_h_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_neon void aom_smooth_h_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c +void aom_smooth_h_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_neon + +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_neon void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c +void aom_smooth_h_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_neon void aom_smooth_h_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_c +void aom_smooth_h_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_neon void aom_smooth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, @@ -3319,6 +3729,26 @@ void aom_smooth_predictor_16x32_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_neon +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_neon + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_neon + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3329,12 +3759,6 @@ void aom_smooth_predictor_16x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_neon -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3365,6 +3789,26 @@ void aom_smooth_predictor_32x64_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_neon +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_neon + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_neon + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3385,6 +3829,16 @@ void aom_smooth_predictor_4x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_neon +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_neon + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3415,6 +3869,16 @@ void aom_smooth_predictor_8x16_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_neon +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_neon + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3439,85 +3903,191 @@ void aom_smooth_v_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_c +void aom_smooth_v_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_neon void aom_smooth_v_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c +void aom_smooth_v_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_neon -void aom_smooth_v_predictor_16x8_c(uint8_t* dst, +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c +void aom_smooth_v_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_neon -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_neon + +void aom_smooth_v_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_neon void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_c +void aom_smooth_v_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_neon void aom_smooth_v_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_c +void aom_smooth_v_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_neon void aom_smooth_v_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c +void aom_smooth_v_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_neon + +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_neon + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_neon void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c +void aom_smooth_v_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_neon void aom_smooth_v_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c +void aom_smooth_v_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_neon + +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_neon void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c +void aom_smooth_v_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_neon void aom_smooth_v_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_c +void aom_smooth_v_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_neon void aom_smooth_v_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c +void aom_smooth_v_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_neon + +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_neon void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c +void aom_smooth_v_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_neon void aom_smooth_v_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_c +void aom_smooth_v_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_neon int64_t aom_sse_c(const uint8_t* a, int a_stride, @@ -4014,18 +4584,24 @@ void aom_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_c +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_c + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_c + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_c -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4048,6 +4624,18 @@ void aom_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_32x64 aom_v_predictor_32x64_c +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_c + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_c + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4064,6 +4652,12 @@ void aom_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_c +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_64x16 aom_v_predictor_64x16_c + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4082,6 +4676,12 @@ void aom_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_c +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_c + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, diff --git a/chromium/third_party/libaom/source/config/ios/arm64/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/ios/arm64/config/av1_rtcd.h index 23e831cc591..7c2e8affa18 100644 --- a/chromium/third_party/libaom/source/config/ios/arm64/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/ios/arm64/config/av1_rtcd.h @@ -183,6 +183,30 @@ void aom_upsampled_pred_c(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_c +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_neon(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_neon + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -234,6 +258,14 @@ void av1_build_compound_diffwtd_mask_d16_neon(uint8_t* mask, #define av1_build_compound_diffwtd_mask_d16 \ av1_build_compound_diffwtd_mask_d16_neon +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +#define av1_calc_frame_error av1_calc_frame_error_c + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1314,6 +1346,28 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_neon(int32_t* arr, int size, int bit); #define av1_round_shift_array av1_round_shift_array_neon +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_neon(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +#define av1_selfguided_restoration av1_selfguided_restoration_neon + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1330,6 +1384,44 @@ void av1_upsample_intra_edge_c(uint8_t* p, int sz); void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_neon(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +#define av1_warp_affine av1_warp_affine_neon + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -1610,7 +1702,15 @@ void cdef_find_dir_dual_c(const uint16_t* img1, int coeff_shift, int* out1, int* out2); -#define cdef_find_dir_dual cdef_find_dir_dual_c +void cdef_find_dir_dual_neon(const uint16_t* img1, + const uint16_t* img2, + int stride, + int32_t* var1, + int32_t* var2, + int coeff_shift, + int* out1, + int* out2); +#define cdef_find_dir_dual cdef_find_dir_dual_neon cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size); cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_neon(TX_SIZE tx_size); diff --git a/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.c b/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.c index c20c00bb8b1..237bcef9085 100644 --- a/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/armv7-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/armv7-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_dsp_rtcd.h index 2a73acd6108..59e91c56bce 100644 --- a/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_dsp_rtcd.h @@ -34,7 +34,16 @@ void aom_avg_8x8_quad_c(const uint8_t* s, int x16_idx, int y16_idx, int* avg); -#define aom_avg_8x8_quad aom_avg_8x8_quad_c +void aom_avg_8x8_quad_neon(const uint8_t* s, + int p, + int x16_idx, + int y16_idx, + int* avg); +RTCD_EXTERN void (*aom_avg_8x8_quad)(const uint8_t* s, + int p, + int x16_idx, + int y16_idx, + int* avg); void aom_blend_a64_hmask_c(uint8_t* dst, uint32_t dst_stride, @@ -200,18 +209,24 @@ void aom_dc_128_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -237,6 +252,18 @@ void aom_dc_128_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -256,6 +283,12 @@ void aom_dc_128_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -274,6 +307,12 @@ void aom_dc_128_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -312,18 +351,24 @@ void aom_dc_left_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -349,6 +394,18 @@ void aom_dc_left_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -368,6 +425,12 @@ void aom_dc_left_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -386,6 +449,12 @@ void aom_dc_left_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -424,18 +493,24 @@ void aom_dc_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -461,6 +536,18 @@ void aom_dc_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -480,6 +567,12 @@ void aom_dc_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -498,6 +591,12 @@ void aom_dc_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -536,18 +635,24 @@ void aom_dc_top_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -573,6 +678,18 @@ void aom_dc_top_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -592,6 +709,12 @@ void aom_dc_top_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -610,6 +733,12 @@ void aom_dc_top_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1110,18 +1239,24 @@ void aom_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_c +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_c + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_c + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_c -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1147,6 +1282,18 @@ void aom_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_c +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_c + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_c + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1166,6 +1313,12 @@ void aom_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_c +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_c + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1184,6 +1337,12 @@ void aom_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_c +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_c + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1236,7 +1395,12 @@ RTCD_EXTERN void (*aom_hadamard_8x8)(const int16_t* src_diff, void aom_hadamard_8x8_dual_c(const int16_t* src_diff, ptrdiff_t src_stride, int16_t* coeff); -#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_c +void aom_hadamard_8x8_dual_neon(const int16_t* src_diff, + ptrdiff_t src_stride, + int16_t* coeff); +RTCD_EXTERN void (*aom_hadamard_8x8_dual)(const int16_t* src_diff, + ptrdiff_t src_stride, + int16_t* coeff); void aom_hadamard_lp_16x16_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -1376,7 +1540,16 @@ void aom_lpf_horizontal_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_c +void aom_lpf_horizontal_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +RTCD_EXTERN void (*aom_lpf_horizontal_14_quad)(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); void aom_lpf_horizontal_4_c(uint8_t* s, int pitch, @@ -1424,7 +1597,16 @@ void aom_lpf_horizontal_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_c +void aom_lpf_horizontal_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +RTCD_EXTERN void (*aom_lpf_horizontal_4_quad)(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); void aom_lpf_horizontal_6_c(uint8_t* s, int pitch, @@ -1472,7 +1654,16 @@ void aom_lpf_horizontal_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_c +void aom_lpf_horizontal_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +RTCD_EXTERN void (*aom_lpf_horizontal_6_quad)(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); void aom_lpf_horizontal_8_c(uint8_t* s, int pitch, @@ -1520,7 +1711,16 @@ void aom_lpf_horizontal_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_c +void aom_lpf_horizontal_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +RTCD_EXTERN void (*aom_lpf_horizontal_8_quad)(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); void aom_lpf_vertical_14_c(uint8_t* s, int pitch, @@ -1568,7 +1768,16 @@ void aom_lpf_vertical_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_c +void aom_lpf_vertical_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +RTCD_EXTERN void (*aom_lpf_vertical_14_quad)(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); void aom_lpf_vertical_4_c(uint8_t* s, int pitch, @@ -1616,7 +1825,16 @@ void aom_lpf_vertical_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_c +void aom_lpf_vertical_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +RTCD_EXTERN void (*aom_lpf_vertical_4_quad)(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); void aom_lpf_vertical_6_c(uint8_t* s, int pitch, @@ -1664,7 +1882,16 @@ void aom_lpf_vertical_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_c +void aom_lpf_vertical_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +RTCD_EXTERN void (*aom_lpf_vertical_6_quad)(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); void aom_lpf_vertical_8_c(uint8_t* s, int pitch, @@ -1712,7 +1939,16 @@ void aom_lpf_vertical_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_c +void aom_lpf_vertical_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +RTCD_EXTERN void (*aom_lpf_vertical_8_quad)(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); unsigned int aom_masked_sad128x128_c(const uint8_t* src, int src_stride, @@ -2318,85 +2554,248 @@ void aom_paeth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_c +void aom_paeth_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c +void aom_paeth_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); -void aom_paeth_predictor_16x8_c(uint8_t* dst, +void aom_paeth_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c +void aom_paeth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_c +void aom_paeth_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_32x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_c +void aom_paeth_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_32x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c +void aom_paeth_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_32x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c +void aom_paeth_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_4x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c +void aom_paeth_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_4x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c +void aom_paeth_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_64x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_c +void aom_paeth_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_64x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c +void aom_paeth_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_8x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c +void aom_paeth_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_8x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_paeth_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_c +void aom_paeth_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_8x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_pixel_scale_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -3616,85 +4015,248 @@ void aom_smooth_h_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_c +void aom_smooth_h_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c +void aom_smooth_h_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c - -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c +void aom_smooth_h_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_c +void aom_smooth_h_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_32x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_c +void aom_smooth_h_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_32x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c +void aom_smooth_h_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_32x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c +void aom_smooth_h_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_4x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c +void aom_smooth_h_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_4x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c +void aom_smooth_h_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_64x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_c +void aom_smooth_h_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_64x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c +void aom_smooth_h_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_8x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c +void aom_smooth_h_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_8x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_h_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_c +void aom_smooth_h_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_8x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, @@ -3722,6 +4284,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3735,12 +4323,6 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3780,6 +4362,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3806,6 +4414,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3845,6 +4466,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3875,85 +4509,248 @@ void aom_smooth_v_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_c +void aom_smooth_v_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c +void aom_smooth_v_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c - -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c +void aom_smooth_v_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_c +void aom_smooth_v_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_32x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_c +void aom_smooth_v_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_32x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c +void aom_smooth_v_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_32x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c +void aom_smooth_v_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_4x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c +void aom_smooth_v_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_4x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c +void aom_smooth_v_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_64x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_c +void aom_smooth_v_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_64x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c +void aom_smooth_v_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_8x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c +void aom_smooth_v_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_8x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); void aom_smooth_v_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_c +void aom_smooth_v_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_8x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); int64_t aom_sse_c(const uint8_t* a, int a_stride, @@ -4564,18 +5361,24 @@ void aom_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_c +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_c + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_c + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_c -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4601,6 +5404,18 @@ void aom_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_32x64 aom_v_predictor_32x64_c +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_c + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_c + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4620,6 +5435,12 @@ void aom_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_c +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_64x16 aom_v_predictor_64x16_c + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4638,6 +5459,12 @@ void aom_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_c +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_c + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4963,6 +5790,9 @@ static void setup_rtcd_internal(void) { aom_avg_8x8 = aom_avg_8x8_c; if (flags & HAS_NEON) aom_avg_8x8 = aom_avg_8x8_neon; + aom_avg_8x8_quad = aom_avg_8x8_quad_c; + if (flags & HAS_NEON) + aom_avg_8x8_quad = aom_avg_8x8_quad_neon; aom_blend_a64_hmask = aom_blend_a64_hmask_c; if (flags & HAS_NEON) aom_blend_a64_hmask = aom_blend_a64_hmask_neon; @@ -5059,6 +5889,9 @@ static void setup_rtcd_internal(void) { aom_hadamard_8x8 = aom_hadamard_8x8_c; if (flags & HAS_NEON) aom_hadamard_8x8 = aom_hadamard_8x8_neon; + aom_hadamard_8x8_dual = aom_hadamard_8x8_dual_c; + if (flags & HAS_NEON) + aom_hadamard_8x8_dual = aom_hadamard_8x8_dual_neon; aom_hadamard_lp_16x16 = aom_hadamard_lp_16x16_c; if (flags & HAS_NEON) aom_hadamard_lp_16x16 = aom_hadamard_lp_16x16_neon; @@ -5080,51 +5913,132 @@ static void setup_rtcd_internal(void) { aom_lpf_horizontal_14_dual = aom_lpf_horizontal_14_dual_c; if (flags & HAS_NEON) aom_lpf_horizontal_14_dual = aom_lpf_horizontal_14_dual_neon; + aom_lpf_horizontal_14_quad = aom_lpf_horizontal_14_quad_c; + if (flags & HAS_NEON) + aom_lpf_horizontal_14_quad = aom_lpf_horizontal_14_quad_neon; aom_lpf_horizontal_4 = aom_lpf_horizontal_4_c; if (flags & HAS_NEON) aom_lpf_horizontal_4 = aom_lpf_horizontal_4_neon; aom_lpf_horizontal_4_dual = aom_lpf_horizontal_4_dual_c; if (flags & HAS_NEON) aom_lpf_horizontal_4_dual = aom_lpf_horizontal_4_dual_neon; + aom_lpf_horizontal_4_quad = aom_lpf_horizontal_4_quad_c; + if (flags & HAS_NEON) + aom_lpf_horizontal_4_quad = aom_lpf_horizontal_4_quad_neon; aom_lpf_horizontal_6 = aom_lpf_horizontal_6_c; if (flags & HAS_NEON) aom_lpf_horizontal_6 = aom_lpf_horizontal_6_neon; aom_lpf_horizontal_6_dual = aom_lpf_horizontal_6_dual_c; if (flags & HAS_NEON) aom_lpf_horizontal_6_dual = aom_lpf_horizontal_6_dual_neon; + aom_lpf_horizontal_6_quad = aom_lpf_horizontal_6_quad_c; + if (flags & HAS_NEON) + aom_lpf_horizontal_6_quad = aom_lpf_horizontal_6_quad_neon; aom_lpf_horizontal_8 = aom_lpf_horizontal_8_c; if (flags & HAS_NEON) aom_lpf_horizontal_8 = aom_lpf_horizontal_8_neon; aom_lpf_horizontal_8_dual = aom_lpf_horizontal_8_dual_c; if (flags & HAS_NEON) aom_lpf_horizontal_8_dual = aom_lpf_horizontal_8_dual_neon; + aom_lpf_horizontal_8_quad = aom_lpf_horizontal_8_quad_c; + if (flags & HAS_NEON) + aom_lpf_horizontal_8_quad = aom_lpf_horizontal_8_quad_neon; aom_lpf_vertical_14 = aom_lpf_vertical_14_c; if (flags & HAS_NEON) aom_lpf_vertical_14 = aom_lpf_vertical_14_neon; aom_lpf_vertical_14_dual = aom_lpf_vertical_14_dual_c; if (flags & HAS_NEON) aom_lpf_vertical_14_dual = aom_lpf_vertical_14_dual_neon; + aom_lpf_vertical_14_quad = aom_lpf_vertical_14_quad_c; + if (flags & HAS_NEON) + aom_lpf_vertical_14_quad = aom_lpf_vertical_14_quad_neon; aom_lpf_vertical_4 = aom_lpf_vertical_4_c; if (flags & HAS_NEON) aom_lpf_vertical_4 = aom_lpf_vertical_4_neon; aom_lpf_vertical_4_dual = aom_lpf_vertical_4_dual_c; if (flags & HAS_NEON) aom_lpf_vertical_4_dual = aom_lpf_vertical_4_dual_neon; + aom_lpf_vertical_4_quad = aom_lpf_vertical_4_quad_c; + if (flags & HAS_NEON) + aom_lpf_vertical_4_quad = aom_lpf_vertical_4_quad_neon; aom_lpf_vertical_6 = aom_lpf_vertical_6_c; if (flags & HAS_NEON) aom_lpf_vertical_6 = aom_lpf_vertical_6_neon; aom_lpf_vertical_6_dual = aom_lpf_vertical_6_dual_c; if (flags & HAS_NEON) aom_lpf_vertical_6_dual = aom_lpf_vertical_6_dual_neon; + aom_lpf_vertical_6_quad = aom_lpf_vertical_6_quad_c; + if (flags & HAS_NEON) + aom_lpf_vertical_6_quad = aom_lpf_vertical_6_quad_neon; aom_lpf_vertical_8 = aom_lpf_vertical_8_c; if (flags & HAS_NEON) aom_lpf_vertical_8 = aom_lpf_vertical_8_neon; aom_lpf_vertical_8_dual = aom_lpf_vertical_8_dual_c; if (flags & HAS_NEON) aom_lpf_vertical_8_dual = aom_lpf_vertical_8_dual_neon; + aom_lpf_vertical_8_quad = aom_lpf_vertical_8_quad_c; + if (flags & HAS_NEON) + aom_lpf_vertical_8_quad = aom_lpf_vertical_8_quad_neon; aom_mse16x16 = aom_mse16x16_c; if (flags & HAS_NEON) aom_mse16x16 = aom_mse16x16_neon; + aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_c; + if (flags & HAS_NEON) + aom_paeth_predictor_16x16 = aom_paeth_predictor_16x16_neon; + aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_c; + if (flags & HAS_NEON) + aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_neon; + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_c; + if (flags & HAS_NEON) + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_neon; + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_c; + if (flags & HAS_NEON) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_neon; + aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_c; + if (flags & HAS_NEON) + aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_neon; + aom_paeth_predictor_32x16 = aom_paeth_predictor_32x16_c; + if (flags & HAS_NEON) + aom_paeth_predictor_32x16 = aom_paeth_predictor_32x16_neon; + aom_paeth_predictor_32x32 = aom_paeth_predictor_32x32_c; + if (flags & HAS_NEON) + aom_paeth_predictor_32x32 = aom_paeth_predictor_32x32_neon; + aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_c; + if (flags & HAS_NEON) + aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_neon; + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_c; + if (flags & HAS_NEON) + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_neon; + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_c; + if (flags & HAS_NEON) + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_neon; + aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_c; + if (flags & HAS_NEON) + aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_neon; + aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_c; + if (flags & HAS_NEON) + aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_neon; + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_c; + if (flags & HAS_NEON) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_neon; + aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_c; + if (flags & HAS_NEON) + aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_neon; + aom_paeth_predictor_64x64 = aom_paeth_predictor_64x64_c; + if (flags & HAS_NEON) + aom_paeth_predictor_64x64 = aom_paeth_predictor_64x64_neon; + aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_c; + if (flags & HAS_NEON) + aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_neon; + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_c; + if (flags & HAS_NEON) + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_neon; + aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_c; + if (flags & HAS_NEON) + aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_neon; + aom_paeth_predictor_8x8 = aom_paeth_predictor_8x8_c; + if (flags & HAS_NEON) + aom_paeth_predictor_8x8 = aom_paeth_predictor_8x8_neon; aom_quantize_b = aom_quantize_b_c; if (flags & HAS_NEON) aom_quantize_b = aom_quantize_b_neon; @@ -5260,12 +6174,75 @@ static void setup_rtcd_internal(void) { aom_scaled_2d = aom_scaled_2d_c; if (flags & HAS_NEON) aom_scaled_2d = aom_scaled_2d_neon; + aom_smooth_h_predictor_16x16 = aom_smooth_h_predictor_16x16_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_16x16 = aom_smooth_h_predictor_16x16_neon; + aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_neon; + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_neon; + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_neon; + aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_neon; + aom_smooth_h_predictor_32x16 = aom_smooth_h_predictor_32x16_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_32x16 = aom_smooth_h_predictor_32x16_neon; + aom_smooth_h_predictor_32x32 = aom_smooth_h_predictor_32x32_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_32x32 = aom_smooth_h_predictor_32x32_neon; + aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_neon; + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_neon; + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_neon; + aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_neon; + aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_neon; + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_neon; + aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_neon; + aom_smooth_h_predictor_64x64 = aom_smooth_h_predictor_64x64_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_64x64 = aom_smooth_h_predictor_64x64_neon; + aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_neon; + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_neon; + aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_neon; + aom_smooth_h_predictor_8x8 = aom_smooth_h_predictor_8x8_c; + if (flags & HAS_NEON) + aom_smooth_h_predictor_8x8 = aom_smooth_h_predictor_8x8_neon; aom_smooth_predictor_16x16 = aom_smooth_predictor_16x16_c; if (flags & HAS_NEON) aom_smooth_predictor_16x16 = aom_smooth_predictor_16x16_neon; aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_c; if (flags & HAS_NEON) aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_neon; + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_c; + if (flags & HAS_NEON) + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_neon; + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_c; + if (flags & HAS_NEON) + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_neon; aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_c; if (flags & HAS_NEON) aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_neon; @@ -5278,12 +6255,21 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_c; if (flags & HAS_NEON) aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_neon; + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_c; + if (flags & HAS_NEON) + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_neon; + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_c; + if (flags & HAS_NEON) + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_neon; aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_c; if (flags & HAS_NEON) aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_neon; aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_c; if (flags & HAS_NEON) aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_neon; + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_c; + if (flags & HAS_NEON) + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_neon; aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_c; if (flags & HAS_NEON) aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_neon; @@ -5293,12 +6279,72 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_c; if (flags & HAS_NEON) aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_neon; + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_c; + if (flags & HAS_NEON) + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_neon; aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_c; if (flags & HAS_NEON) aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_neon; aom_smooth_predictor_8x8 = aom_smooth_predictor_8x8_c; if (flags & HAS_NEON) aom_smooth_predictor_8x8 = aom_smooth_predictor_8x8_neon; + aom_smooth_v_predictor_16x16 = aom_smooth_v_predictor_16x16_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_16x16 = aom_smooth_v_predictor_16x16_neon; + aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_neon; + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_neon; + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_neon; + aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_neon; + aom_smooth_v_predictor_32x16 = aom_smooth_v_predictor_32x16_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_32x16 = aom_smooth_v_predictor_32x16_neon; + aom_smooth_v_predictor_32x32 = aom_smooth_v_predictor_32x32_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_32x32 = aom_smooth_v_predictor_32x32_neon; + aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_neon; + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_neon; + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_neon; + aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_neon; + aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_neon; + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_neon; + aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_neon; + aom_smooth_v_predictor_64x64 = aom_smooth_v_predictor_64x64_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_64x64 = aom_smooth_v_predictor_64x64_neon; + aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_neon; + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_neon; + aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_neon; + aom_smooth_v_predictor_8x8 = aom_smooth_v_predictor_8x8_c; + if (flags & HAS_NEON) + aom_smooth_v_predictor_8x8 = aom_smooth_v_predictor_8x8_neon; aom_sse = aom_sse_c; if (flags & HAS_NEON) aom_sse = aom_sse_neon; diff --git a/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/av1_rtcd.h index 90c222a2a20..185c01d4dd0 100644 --- a/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/av1_rtcd.h @@ -197,6 +197,40 @@ void aom_upsampled_pred_c(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_c +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_neon(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +RTCD_EXTERN void (*av1_apply_selfguided_restoration)(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -262,6 +296,14 @@ RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)( ConvolveParams* conv_params, int bd); +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +#define av1_calc_frame_error av1_calc_frame_error_c + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1683,6 +1725,37 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_neon(int32_t* arr, int size, int bit); RTCD_EXTERN void (*av1_round_shift_array)(int32_t* arr, int size, int bit); +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_neon(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1702,6 +1775,61 @@ void av1_upsample_intra_edge_c(uint8_t* p, int sz); void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_neon(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +RTCD_EXTERN void (*av1_warp_affine)(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -2086,7 +2214,22 @@ void cdef_find_dir_dual_c(const uint16_t* img1, int coeff_shift, int* out1, int* out2); -#define cdef_find_dir_dual cdef_find_dir_dual_c +void cdef_find_dir_dual_neon(const uint16_t* img1, + const uint16_t* img2, + int stride, + int32_t* var1, + int32_t* var2, + int coeff_shift, + int* out1, + int* out2); +RTCD_EXTERN void (*cdef_find_dir_dual)(const uint16_t* img1, + const uint16_t* img2, + int stride, + int32_t* var1, + int32_t* var2, + int coeff_shift, + int* out1, + int* out2); cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size); cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_neon(TX_SIZE tx_size); @@ -2126,6 +2269,9 @@ static void setup_rtcd_internal(void) { aom_quantize_b_helper = aom_quantize_b_helper_c; if (flags & HAS_NEON) aom_quantize_b_helper = aom_quantize_b_helper_neon; + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_c; + if (flags & HAS_NEON) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_neon; av1_block_error = av1_block_error_c; if (flags & HAS_NEON) av1_block_error = av1_block_error_neon; @@ -2352,9 +2498,15 @@ static void setup_rtcd_internal(void) { av1_round_shift_array = av1_round_shift_array_c; if (flags & HAS_NEON) av1_round_shift_array = av1_round_shift_array_neon; + av1_selfguided_restoration = av1_selfguided_restoration_c; + if (flags & HAS_NEON) + av1_selfguided_restoration = av1_selfguided_restoration_neon; av1_txb_init_levels = av1_txb_init_levels_c; if (flags & HAS_NEON) av1_txb_init_levels = av1_txb_init_levels_neon; + av1_warp_affine = av1_warp_affine_c; + if (flags & HAS_NEON) + av1_warp_affine = av1_warp_affine_neon; av1_wiener_convolve_add_src = av1_wiener_convolve_add_src_c; if (flags & HAS_NEON) av1_wiener_convolve_add_src = av1_wiener_convolve_add_src_neon; @@ -2391,6 +2543,9 @@ static void setup_rtcd_internal(void) { cdef_find_dir = cdef_find_dir_c; if (flags & HAS_NEON) cdef_find_dir = cdef_find_dir_neon; + cdef_find_dir_dual = cdef_find_dir_dual_c; + if (flags & HAS_NEON) + cdef_find_dir_dual = cdef_find_dir_dual_neon; cfl_get_luma_subsampling_420_lbd = cfl_get_luma_subsampling_420_lbd_c; if (flags & HAS_NEON) cfl_get_luma_subsampling_420_lbd = cfl_get_luma_subsampling_420_lbd_neon; diff --git a/chromium/third_party/libaom/source/config/linux/arm-neon/config/aom_config.c b/chromium/third_party/libaom/source/config/linux/arm-neon/config/aom_config.c index c20c00bb8b1..237bcef9085 100644 --- a/chromium/third_party/libaom/source/config/linux/arm-neon/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/linux/arm-neon/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/armv7-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/armv7-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/linux/arm-neon/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/linux/arm-neon/config/aom_dsp_rtcd.h index 155c11857c0..49fb79d7f18 100644 --- a/chromium/third_party/libaom/source/config/linux/arm-neon/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/arm-neon/config/aom_dsp_rtcd.h @@ -34,7 +34,12 @@ void aom_avg_8x8_quad_c(const uint8_t* s, int x16_idx, int y16_idx, int* avg); -#define aom_avg_8x8_quad aom_avg_8x8_quad_c +void aom_avg_8x8_quad_neon(const uint8_t* s, + int p, + int x16_idx, + int y16_idx, + int* avg); +#define aom_avg_8x8_quad aom_avg_8x8_quad_neon void aom_blend_a64_hmask_c(uint8_t* dst, uint32_t dst_stride, @@ -176,18 +181,24 @@ void aom_dc_128_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -210,6 +221,18 @@ void aom_dc_128_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -226,6 +249,12 @@ void aom_dc_128_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -244,6 +273,12 @@ void aom_dc_128_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -276,18 +311,24 @@ void aom_dc_left_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -310,6 +351,18 @@ void aom_dc_left_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -326,6 +379,12 @@ void aom_dc_left_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -344,6 +403,12 @@ void aom_dc_left_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -376,18 +441,24 @@ void aom_dc_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -410,6 +481,18 @@ void aom_dc_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -426,6 +509,12 @@ void aom_dc_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -444,6 +533,12 @@ void aom_dc_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -476,18 +571,24 @@ void aom_dc_top_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -510,6 +611,18 @@ void aom_dc_top_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -526,6 +639,12 @@ void aom_dc_top_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -544,6 +663,12 @@ void aom_dc_top_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1014,18 +1139,24 @@ void aom_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_c +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_c + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_c + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_c -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1048,6 +1179,18 @@ void aom_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_c +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_c + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_c + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1064,6 +1207,12 @@ void aom_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_c +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_c + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1082,6 +1231,12 @@ void aom_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_c +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_c + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1127,7 +1282,10 @@ void aom_hadamard_8x8_neon(const int16_t* src_diff, void aom_hadamard_8x8_dual_c(const int16_t* src_diff, ptrdiff_t src_stride, int16_t* coeff); -#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_c +void aom_hadamard_8x8_dual_neon(const int16_t* src_diff, + ptrdiff_t src_stride, + int16_t* coeff); +#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_neon void aom_hadamard_lp_16x16_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -1237,7 +1395,12 @@ void aom_lpf_horizontal_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_c +void aom_lpf_horizontal_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_neon void aom_lpf_horizontal_4_c(uint8_t* s, int pitch, @@ -1274,7 +1437,12 @@ void aom_lpf_horizontal_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_c +void aom_lpf_horizontal_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_neon void aom_lpf_horizontal_6_c(uint8_t* s, int pitch, @@ -1311,7 +1479,12 @@ void aom_lpf_horizontal_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_c +void aom_lpf_horizontal_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_neon void aom_lpf_horizontal_8_c(uint8_t* s, int pitch, @@ -1348,7 +1521,12 @@ void aom_lpf_horizontal_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_c +void aom_lpf_horizontal_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_neon void aom_lpf_vertical_14_c(uint8_t* s, int pitch, @@ -1385,7 +1563,12 @@ void aom_lpf_vertical_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_c +void aom_lpf_vertical_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_neon void aom_lpf_vertical_4_c(uint8_t* s, int pitch, @@ -1422,7 +1605,12 @@ void aom_lpf_vertical_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_c +void aom_lpf_vertical_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_neon void aom_lpf_vertical_6_c(uint8_t* s, int pitch, @@ -1459,7 +1647,12 @@ void aom_lpf_vertical_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_c +void aom_lpf_vertical_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_neon void aom_lpf_vertical_8_c(uint8_t* s, int pitch, @@ -1496,7 +1689,12 @@ void aom_lpf_vertical_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_c +void aom_lpf_vertical_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_neon unsigned int aom_masked_sad128x128_c(const uint8_t* src, int src_stride, @@ -2098,85 +2296,191 @@ void aom_paeth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_c +void aom_paeth_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_neon void aom_paeth_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c +void aom_paeth_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_neon -void aom_paeth_predictor_16x8_c(uint8_t* dst, +void aom_paeth_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c +void aom_paeth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_neon -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_neon + +void aom_paeth_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_neon void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_c +void aom_paeth_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_neon void aom_paeth_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_c +void aom_paeth_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_neon void aom_paeth_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c +void aom_paeth_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_neon + +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_neon + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_neon void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c +void aom_paeth_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_neon void aom_paeth_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c +void aom_paeth_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_neon + +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_neon void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c +void aom_paeth_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_neon void aom_paeth_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_c +void aom_paeth_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_neon void aom_paeth_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c +void aom_paeth_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_neon + +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_neon void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c +void aom_paeth_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_neon void aom_paeth_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_c +void aom_paeth_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_neon void aom_pixel_scale_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -3219,85 +3523,191 @@ void aom_smooth_h_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_c +void aom_smooth_h_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_neon void aom_smooth_h_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c +void aom_smooth_h_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_neon -void aom_smooth_h_predictor_16x8_c(uint8_t* dst, +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c +void aom_smooth_h_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_neon -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_neon + +void aom_smooth_h_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_neon void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_c +void aom_smooth_h_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_neon void aom_smooth_h_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_c +void aom_smooth_h_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_neon void aom_smooth_h_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c +void aom_smooth_h_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_neon + +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_neon + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_neon void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c +void aom_smooth_h_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_neon void aom_smooth_h_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c +void aom_smooth_h_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_neon + +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_neon void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c +void aom_smooth_h_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_neon void aom_smooth_h_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_c +void aom_smooth_h_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_neon void aom_smooth_h_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c +void aom_smooth_h_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_neon + +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_neon void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c +void aom_smooth_h_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_neon void aom_smooth_h_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_c +void aom_smooth_h_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_neon void aom_smooth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, @@ -3319,6 +3729,26 @@ void aom_smooth_predictor_16x32_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_neon +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_neon + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_neon + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3329,12 +3759,6 @@ void aom_smooth_predictor_16x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_neon -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3365,6 +3789,26 @@ void aom_smooth_predictor_32x64_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_neon +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_neon + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_neon + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3385,6 +3829,16 @@ void aom_smooth_predictor_4x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_neon +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_neon + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3415,6 +3869,16 @@ void aom_smooth_predictor_8x16_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_neon +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_neon + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3439,85 +3903,191 @@ void aom_smooth_v_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_c +void aom_smooth_v_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_neon void aom_smooth_v_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c +void aom_smooth_v_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_neon -void aom_smooth_v_predictor_16x8_c(uint8_t* dst, +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c +void aom_smooth_v_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_neon -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_neon + +void aom_smooth_v_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_neon void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_c +void aom_smooth_v_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_neon void aom_smooth_v_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_c +void aom_smooth_v_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_neon void aom_smooth_v_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c +void aom_smooth_v_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_neon + +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_neon + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_neon void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c +void aom_smooth_v_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_neon void aom_smooth_v_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c +void aom_smooth_v_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_neon + +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_neon void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c +void aom_smooth_v_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_neon void aom_smooth_v_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_c +void aom_smooth_v_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_neon void aom_smooth_v_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c +void aom_smooth_v_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_neon + +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_neon void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c +void aom_smooth_v_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_neon void aom_smooth_v_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_c +void aom_smooth_v_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_neon int64_t aom_sse_c(const uint8_t* a, int a_stride, @@ -4014,18 +4584,24 @@ void aom_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_c +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_c + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_c + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_c -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4048,6 +4624,18 @@ void aom_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_32x64 aom_v_predictor_32x64_c +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_c + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_c + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4064,6 +4652,12 @@ void aom_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_c +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_64x16 aom_v_predictor_64x16_c + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4082,6 +4676,12 @@ void aom_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_c +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_c + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, diff --git a/chromium/third_party/libaom/source/config/linux/arm-neon/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/linux/arm-neon/config/av1_rtcd.h index 23e831cc591..7c2e8affa18 100644 --- a/chromium/third_party/libaom/source/config/linux/arm-neon/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/arm-neon/config/av1_rtcd.h @@ -183,6 +183,30 @@ void aom_upsampled_pred_c(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_c +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_neon(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_neon + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -234,6 +258,14 @@ void av1_build_compound_diffwtd_mask_d16_neon(uint8_t* mask, #define av1_build_compound_diffwtd_mask_d16 \ av1_build_compound_diffwtd_mask_d16_neon +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +#define av1_calc_frame_error av1_calc_frame_error_c + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1314,6 +1346,28 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_neon(int32_t* arr, int size, int bit); #define av1_round_shift_array av1_round_shift_array_neon +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_neon(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +#define av1_selfguided_restoration av1_selfguided_restoration_neon + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1330,6 +1384,44 @@ void av1_upsample_intra_edge_c(uint8_t* p, int sz); void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_neon(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +#define av1_warp_affine av1_warp_affine_neon + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -1610,7 +1702,15 @@ void cdef_find_dir_dual_c(const uint16_t* img1, int coeff_shift, int* out1, int* out2); -#define cdef_find_dir_dual cdef_find_dir_dual_c +void cdef_find_dir_dual_neon(const uint16_t* img1, + const uint16_t* img2, + int stride, + int32_t* var1, + int32_t* var2, + int coeff_shift, + int* out1, + int* out2); +#define cdef_find_dir_dual cdef_find_dir_dual_neon cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size); cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_neon(TX_SIZE tx_size); diff --git a/chromium/third_party/libaom/source/config/linux/arm/config/aom_config.c b/chromium/third_party/libaom/source/config/linux/arm/config/aom_config.c index c6697d9573f..becd745fe8b 100644 --- a/chromium/third_party/libaom/source/config/linux/arm/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/linux/arm/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/armv7-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384 -DENABLE_NEON=0"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/armv7-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384 -DENABLE_NEON=0"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/linux/arm/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/linux/arm/config/aom_dsp_rtcd.h index a87855d6013..df533799ed2 100644 --- a/chromium/third_party/libaom/source/config/linux/arm/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/arm/config/aom_dsp_rtcd.h @@ -146,18 +146,24 @@ void aom_dc_128_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -176,6 +182,18 @@ void aom_dc_128_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -188,6 +206,12 @@ void aom_dc_128_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -206,6 +230,12 @@ void aom_dc_128_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -230,18 +260,24 @@ void aom_dc_left_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -260,6 +296,18 @@ void aom_dc_left_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -272,6 +320,12 @@ void aom_dc_left_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -290,6 +344,12 @@ void aom_dc_left_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -314,18 +374,24 @@ void aom_dc_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -344,6 +410,18 @@ void aom_dc_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -356,6 +434,12 @@ void aom_dc_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -374,6 +458,12 @@ void aom_dc_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -398,18 +488,24 @@ void aom_dc_top_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -428,6 +524,18 @@ void aom_dc_top_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -440,6 +548,12 @@ void aom_dc_top_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -458,6 +572,12 @@ void aom_dc_top_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -895,18 +1015,24 @@ void aom_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_c +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_c + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_c + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_c -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -925,6 +1051,18 @@ void aom_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_c +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_c + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_c + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -937,6 +1075,12 @@ void aom_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_c +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_c + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -955,6 +1099,12 @@ void aom_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_c +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_c + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1836,18 +1986,24 @@ void aom_paeth_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c +void aom_paeth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_c + +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_c + void aom_paeth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c - void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1866,6 +2022,18 @@ void aom_paeth_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_c + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_c + void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1878,6 +2046,12 @@ void aom_paeth_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_c + void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1896,6 +2070,12 @@ void aom_paeth_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_c + void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2735,18 +2915,24 @@ void aom_smooth_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_c + +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_c + void aom_smooth_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c - void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2765,6 +2951,18 @@ void aom_smooth_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_c + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_c + void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2777,6 +2975,12 @@ void aom_smooth_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_c + void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2795,6 +2999,12 @@ void aom_smooth_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_c + void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2819,18 +3029,24 @@ void aom_smooth_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_c +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_c + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_c + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_c -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2849,6 +3065,18 @@ void aom_smooth_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_c +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_c + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_c + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2861,6 +3089,12 @@ void aom_smooth_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_c +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_c + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2879,6 +3113,12 @@ void aom_smooth_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_c +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_c + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2903,18 +3143,24 @@ void aom_smooth_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_c + +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_c + void aom_smooth_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c - void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2933,6 +3179,18 @@ void aom_smooth_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_c + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_c + void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2945,6 +3203,12 @@ void aom_smooth_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_c + void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2963,6 +3227,12 @@ void aom_smooth_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_c + void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3336,18 +3606,24 @@ void aom_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_c +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_c + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_c + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_c -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3366,6 +3642,18 @@ void aom_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_32x64 aom_v_predictor_32x64_c +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_c + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_c + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3378,6 +3666,12 @@ void aom_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_c +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_64x16 aom_v_predictor_64x16_c + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3396,6 +3690,12 @@ void aom_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_c +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_c + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, diff --git a/chromium/third_party/libaom/source/config/linux/arm/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/linux/arm/config/av1_rtcd.h index eb237126baa..dc3e04f11a4 100644 --- a/chromium/third_party/libaom/source/config/linux/arm/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/arm/config/av1_rtcd.h @@ -168,6 +168,19 @@ void aom_upsampled_pred_c(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_c +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_c + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -202,6 +215,14 @@ void av1_build_compound_diffwtd_mask_d16_c(uint8_t* mask, #define av1_build_compound_diffwtd_mask_d16 \ av1_build_compound_diffwtd_mask_d16_c +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +#define av1_calc_frame_error av1_calc_frame_error_c + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -875,6 +896,18 @@ void av1_resize_and_extend_frame_c(const YV12_BUFFER_CONFIG* src, void av1_round_shift_array_c(int32_t* arr, int size, int bit); #define av1_round_shift_array av1_round_shift_array_c +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +#define av1_selfguided_restoration av1_selfguided_restoration_c + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -887,6 +920,26 @@ void av1_upsample_intra_edge_c(uint8_t* p, int sz); void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +#define av1_warp_affine av1_warp_affine_c + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, diff --git a/chromium/third_party/libaom/source/config/linux/arm64/config/aom_config.c b/chromium/third_party/libaom/source/config/linux/arm64/config/aom_config.c index 7c8f15b9d65..ff9196735fc 100644 --- a/chromium/third_party/libaom/source/config/linux/arm64/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/linux/arm64/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/arm64-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/arm64-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/linux/arm64/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/linux/arm64/config/aom_dsp_rtcd.h index 155c11857c0..49fb79d7f18 100644 --- a/chromium/third_party/libaom/source/config/linux/arm64/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/arm64/config/aom_dsp_rtcd.h @@ -34,7 +34,12 @@ void aom_avg_8x8_quad_c(const uint8_t* s, int x16_idx, int y16_idx, int* avg); -#define aom_avg_8x8_quad aom_avg_8x8_quad_c +void aom_avg_8x8_quad_neon(const uint8_t* s, + int p, + int x16_idx, + int y16_idx, + int* avg); +#define aom_avg_8x8_quad aom_avg_8x8_quad_neon void aom_blend_a64_hmask_c(uint8_t* dst, uint32_t dst_stride, @@ -176,18 +181,24 @@ void aom_dc_128_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -210,6 +221,18 @@ void aom_dc_128_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -226,6 +249,12 @@ void aom_dc_128_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -244,6 +273,12 @@ void aom_dc_128_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -276,18 +311,24 @@ void aom_dc_left_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -310,6 +351,18 @@ void aom_dc_left_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -326,6 +379,12 @@ void aom_dc_left_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -344,6 +403,12 @@ void aom_dc_left_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -376,18 +441,24 @@ void aom_dc_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -410,6 +481,18 @@ void aom_dc_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -426,6 +509,12 @@ void aom_dc_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -444,6 +533,12 @@ void aom_dc_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -476,18 +571,24 @@ void aom_dc_top_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -510,6 +611,18 @@ void aom_dc_top_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -526,6 +639,12 @@ void aom_dc_top_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -544,6 +663,12 @@ void aom_dc_top_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1014,18 +1139,24 @@ void aom_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_c +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_c + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_c + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_c -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1048,6 +1179,18 @@ void aom_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_c +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_c + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_c + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1064,6 +1207,12 @@ void aom_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_c +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_c + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1082,6 +1231,12 @@ void aom_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_c +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_c + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1127,7 +1282,10 @@ void aom_hadamard_8x8_neon(const int16_t* src_diff, void aom_hadamard_8x8_dual_c(const int16_t* src_diff, ptrdiff_t src_stride, int16_t* coeff); -#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_c +void aom_hadamard_8x8_dual_neon(const int16_t* src_diff, + ptrdiff_t src_stride, + int16_t* coeff); +#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_neon void aom_hadamard_lp_16x16_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -1237,7 +1395,12 @@ void aom_lpf_horizontal_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_c +void aom_lpf_horizontal_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_neon void aom_lpf_horizontal_4_c(uint8_t* s, int pitch, @@ -1274,7 +1437,12 @@ void aom_lpf_horizontal_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_c +void aom_lpf_horizontal_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_neon void aom_lpf_horizontal_6_c(uint8_t* s, int pitch, @@ -1311,7 +1479,12 @@ void aom_lpf_horizontal_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_c +void aom_lpf_horizontal_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_neon void aom_lpf_horizontal_8_c(uint8_t* s, int pitch, @@ -1348,7 +1521,12 @@ void aom_lpf_horizontal_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_c +void aom_lpf_horizontal_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_neon void aom_lpf_vertical_14_c(uint8_t* s, int pitch, @@ -1385,7 +1563,12 @@ void aom_lpf_vertical_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_c +void aom_lpf_vertical_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_neon void aom_lpf_vertical_4_c(uint8_t* s, int pitch, @@ -1422,7 +1605,12 @@ void aom_lpf_vertical_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_c +void aom_lpf_vertical_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_neon void aom_lpf_vertical_6_c(uint8_t* s, int pitch, @@ -1459,7 +1647,12 @@ void aom_lpf_vertical_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_c +void aom_lpf_vertical_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_neon void aom_lpf_vertical_8_c(uint8_t* s, int pitch, @@ -1496,7 +1689,12 @@ void aom_lpf_vertical_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_c +void aom_lpf_vertical_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_neon unsigned int aom_masked_sad128x128_c(const uint8_t* src, int src_stride, @@ -2098,85 +2296,191 @@ void aom_paeth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_c +void aom_paeth_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_neon void aom_paeth_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c +void aom_paeth_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_neon -void aom_paeth_predictor_16x8_c(uint8_t* dst, +void aom_paeth_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c +void aom_paeth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_neon -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_neon + +void aom_paeth_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_neon void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_c +void aom_paeth_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_neon void aom_paeth_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_c +void aom_paeth_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_neon void aom_paeth_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c +void aom_paeth_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_neon + +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_neon + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_neon void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c +void aom_paeth_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_neon void aom_paeth_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c +void aom_paeth_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_neon + +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_neon void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c +void aom_paeth_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_neon void aom_paeth_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_c +void aom_paeth_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_neon void aom_paeth_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c +void aom_paeth_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_neon + +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_neon void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c +void aom_paeth_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_neon void aom_paeth_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_c +void aom_paeth_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_neon void aom_pixel_scale_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -3219,85 +3523,191 @@ void aom_smooth_h_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_c +void aom_smooth_h_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_neon void aom_smooth_h_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c +void aom_smooth_h_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_neon -void aom_smooth_h_predictor_16x8_c(uint8_t* dst, +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c +void aom_smooth_h_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_neon -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_neon + +void aom_smooth_h_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_neon void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_c +void aom_smooth_h_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_neon void aom_smooth_h_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_c +void aom_smooth_h_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_neon void aom_smooth_h_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c +void aom_smooth_h_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_neon + +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_neon + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_neon void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c +void aom_smooth_h_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_neon void aom_smooth_h_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c +void aom_smooth_h_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_neon + +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_neon void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c +void aom_smooth_h_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_neon void aom_smooth_h_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_c +void aom_smooth_h_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_neon void aom_smooth_h_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c +void aom_smooth_h_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_neon + +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_neon void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c +void aom_smooth_h_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_neon void aom_smooth_h_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_c +void aom_smooth_h_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_neon void aom_smooth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, @@ -3319,6 +3729,26 @@ void aom_smooth_predictor_16x32_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_neon +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_neon + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_neon + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3329,12 +3759,6 @@ void aom_smooth_predictor_16x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_neon -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3365,6 +3789,26 @@ void aom_smooth_predictor_32x64_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_neon +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_neon + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_neon + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3385,6 +3829,16 @@ void aom_smooth_predictor_4x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_neon +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_neon + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3415,6 +3869,16 @@ void aom_smooth_predictor_8x16_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_neon +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_neon + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3439,85 +3903,191 @@ void aom_smooth_v_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_c +void aom_smooth_v_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_neon void aom_smooth_v_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c +void aom_smooth_v_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_neon -void aom_smooth_v_predictor_16x8_c(uint8_t* dst, +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c +void aom_smooth_v_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_neon -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_neon + +void aom_smooth_v_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_neon void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_c +void aom_smooth_v_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_neon void aom_smooth_v_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_c +void aom_smooth_v_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_neon void aom_smooth_v_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c +void aom_smooth_v_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_neon + +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_neon + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_neon void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c +void aom_smooth_v_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_neon void aom_smooth_v_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c +void aom_smooth_v_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_neon + +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_neon void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c +void aom_smooth_v_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_neon void aom_smooth_v_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_c +void aom_smooth_v_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_neon void aom_smooth_v_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c +void aom_smooth_v_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_neon + +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_neon void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c +void aom_smooth_v_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_neon void aom_smooth_v_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_c +void aom_smooth_v_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_neon int64_t aom_sse_c(const uint8_t* a, int a_stride, @@ -4014,18 +4584,24 @@ void aom_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_c +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_c + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_c + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_c -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4048,6 +4624,18 @@ void aom_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_32x64 aom_v_predictor_32x64_c +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_c + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_c + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4064,6 +4652,12 @@ void aom_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_c +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_64x16 aom_v_predictor_64x16_c + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4082,6 +4676,12 @@ void aom_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_c +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_c + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, diff --git a/chromium/third_party/libaom/source/config/linux/arm64/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/linux/arm64/config/av1_rtcd.h index 23e831cc591..7c2e8affa18 100644 --- a/chromium/third_party/libaom/source/config/linux/arm64/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/arm64/config/av1_rtcd.h @@ -183,6 +183,30 @@ void aom_upsampled_pred_c(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_c +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_neon(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_neon + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -234,6 +258,14 @@ void av1_build_compound_diffwtd_mask_d16_neon(uint8_t* mask, #define av1_build_compound_diffwtd_mask_d16 \ av1_build_compound_diffwtd_mask_d16_neon +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +#define av1_calc_frame_error av1_calc_frame_error_c + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1314,6 +1346,28 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_neon(int32_t* arr, int size, int bit); #define av1_round_shift_array av1_round_shift_array_neon +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_neon(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +#define av1_selfguided_restoration av1_selfguided_restoration_neon + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1330,6 +1384,44 @@ void av1_upsample_intra_edge_c(uint8_t* p, int sz); void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_neon(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +#define av1_warp_affine av1_warp_affine_neon + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -1610,7 +1702,15 @@ void cdef_find_dir_dual_c(const uint16_t* img1, int coeff_shift, int* out1, int* out2); -#define cdef_find_dir_dual cdef_find_dir_dual_c +void cdef_find_dir_dual_neon(const uint16_t* img1, + const uint16_t* img2, + int stride, + int32_t* var1, + int32_t* var2, + int coeff_shift, + int* out1, + int* out2); +#define cdef_find_dir_dual cdef_find_dir_dual_neon cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size); cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_neon(TX_SIZE tx_size); diff --git a/chromium/third_party/libaom/source/config/linux/generic/config/aom_config.c b/chromium/third_party/libaom/source/config/linux/generic/config/aom_config.c index d4d7e87a64e..d7a0494ec2c 100644 --- a/chromium/third_party/libaom/source/config/linux/generic/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/linux/generic/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DAOM_TARGET_CPU=generic -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DAOM_TARGET_CPU=generic -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/linux/generic/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/linux/generic/config/aom_dsp_rtcd.h index 5fbcf9c3384..7ec152b1f42 100644 --- a/chromium/third_party/libaom/source/config/linux/generic/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/generic/config/aom_dsp_rtcd.h @@ -146,18 +146,24 @@ void aom_dc_128_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -176,6 +182,18 @@ void aom_dc_128_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -188,6 +206,12 @@ void aom_dc_128_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -206,6 +230,12 @@ void aom_dc_128_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -230,18 +260,24 @@ void aom_dc_left_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -260,6 +296,18 @@ void aom_dc_left_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -272,6 +320,12 @@ void aom_dc_left_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -290,6 +344,12 @@ void aom_dc_left_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -314,18 +374,24 @@ void aom_dc_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -344,6 +410,18 @@ void aom_dc_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -356,6 +434,12 @@ void aom_dc_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -374,6 +458,12 @@ void aom_dc_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -398,18 +488,24 @@ void aom_dc_top_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -428,6 +524,18 @@ void aom_dc_top_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -440,6 +548,12 @@ void aom_dc_top_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -458,6 +572,12 @@ void aom_dc_top_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -895,18 +1015,24 @@ void aom_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_c +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_c + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_c + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_c -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -925,6 +1051,18 @@ void aom_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_c +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_c + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_c + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -937,6 +1075,12 @@ void aom_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_c +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_c + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -955,6 +1099,12 @@ void aom_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_c +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_c + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1836,18 +1986,24 @@ void aom_paeth_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c +void aom_paeth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_c + +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_c + void aom_paeth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c - void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1866,6 +2022,18 @@ void aom_paeth_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_c + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_c + void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1878,6 +2046,12 @@ void aom_paeth_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_c + void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1896,6 +2070,12 @@ void aom_paeth_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_c + void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2735,18 +2915,24 @@ void aom_smooth_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_c + +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_c + void aom_smooth_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c - void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2765,6 +2951,18 @@ void aom_smooth_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_c + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_c + void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2777,6 +2975,12 @@ void aom_smooth_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_c + void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2795,6 +2999,12 @@ void aom_smooth_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_c + void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2819,18 +3029,24 @@ void aom_smooth_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_c +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_c + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_c + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_c -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2849,6 +3065,18 @@ void aom_smooth_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_c +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_c + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_c + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2861,6 +3089,12 @@ void aom_smooth_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_c +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_c + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2879,6 +3113,12 @@ void aom_smooth_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_c +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_c + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2903,18 +3143,24 @@ void aom_smooth_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_c + +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_c + void aom_smooth_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c - void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2933,6 +3179,18 @@ void aom_smooth_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_c + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_c + void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2945,6 +3203,12 @@ void aom_smooth_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_c + void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2963,6 +3227,12 @@ void aom_smooth_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_c + void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3336,18 +3606,24 @@ void aom_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_c +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_c + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_c + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_c -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3366,6 +3642,18 @@ void aom_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_32x64 aom_v_predictor_32x64_c +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_c + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_c + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3378,6 +3666,12 @@ void aom_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_c +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_64x16 aom_v_predictor_64x16_c + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3396,6 +3690,12 @@ void aom_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_c +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_c + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, diff --git a/chromium/third_party/libaom/source/config/linux/generic/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/linux/generic/config/av1_rtcd.h index eb649a65e9c..c0ed827d1fd 100644 --- a/chromium/third_party/libaom/source/config/linux/generic/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/generic/config/av1_rtcd.h @@ -168,6 +168,19 @@ void aom_upsampled_pred_c(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_c +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_c + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -202,6 +215,14 @@ void av1_build_compound_diffwtd_mask_d16_c(uint8_t* mask, #define av1_build_compound_diffwtd_mask_d16 \ av1_build_compound_diffwtd_mask_d16_c +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +#define av1_calc_frame_error av1_calc_frame_error_c + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -875,6 +896,18 @@ void av1_resize_and_extend_frame_c(const YV12_BUFFER_CONFIG* src, void av1_round_shift_array_c(int32_t* arr, int size, int bit); #define av1_round_shift_array av1_round_shift_array_c +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +#define av1_selfguided_restoration av1_selfguided_restoration_c + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -887,6 +920,26 @@ void av1_upsample_intra_edge_c(uint8_t* p, int sz); void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +#define av1_warp_affine av1_warp_affine_c + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, diff --git a/chromium/third_party/libaom/source/config/linux/ia32/config/aom_config.c b/chromium/third_party/libaom/source/config/linux/ia32/config/aom_config.c index aaa8142b8b8..dadb41a0d60 100644 --- a/chromium/third_party/libaom/source/config/linux/ia32/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/linux/ia32/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/x86-linux.cmake\" -DAOM_RTCD_FLAGS=--require-mmx;--require-sse;--require-sse2 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_PIC=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/x86-linux.cmake\" -DAOM_RTCD_FLAGS=--require-mmx;--require-sse;--require-sse2 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_PIC=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/linux/ia32/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/linux/ia32/config/aom_dsp_rtcd.h index aa189c45f4a..a76e597b134 100644 --- a/chromium/third_party/libaom/source/config/linux/ia32/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/ia32/config/aom_dsp_rtcd.h @@ -360,6 +360,26 @@ void aom_dc_128_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_sse2 +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_sse2 + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_sse2 + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -370,12 +390,6 @@ void aom_dc_128_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_sse2 -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -427,6 +441,26 @@ RTCD_EXTERN void (*aom_dc_128_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_sse2 + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_sse2 + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -447,6 +481,23 @@ void aom_dc_128_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_sse2 +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_128_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -491,6 +542,16 @@ void aom_dc_128_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_sse2 +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_sse2 + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -531,6 +592,26 @@ void aom_dc_left_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_sse2 +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_sse2 + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_sse2 + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -541,12 +622,6 @@ void aom_dc_left_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_sse2 -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -598,6 +673,26 @@ RTCD_EXTERN void (*aom_dc_left_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_sse2 + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_sse2 + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -618,6 +713,23 @@ void aom_dc_left_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_sse2 +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_left_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -662,6 +774,16 @@ void aom_dc_left_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_sse2 +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_sse2 + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -702,6 +824,26 @@ void aom_dc_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_sse2 +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_sse2 + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_sse2 + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -712,12 +854,6 @@ void aom_dc_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_sse2 -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -769,6 +905,26 @@ RTCD_EXTERN void (*aom_dc_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_sse2 + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_sse2 + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -789,6 +945,23 @@ void aom_dc_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_sse2 +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -833,6 +1006,16 @@ void aom_dc_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_sse2 +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_sse2 + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -873,6 +1056,26 @@ void aom_dc_top_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_sse2 +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_sse2 + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_sse2 + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -883,12 +1086,6 @@ void aom_dc_top_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_sse2 -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -940,6 +1137,26 @@ RTCD_EXTERN void (*aom_dc_top_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_sse2 + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_sse2 + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -960,6 +1177,23 @@ void aom_dc_top_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_sse2 +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_top_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1004,6 +1238,16 @@ void aom_dc_top_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_sse2 +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_sse2 + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2024,6 +2268,26 @@ void aom_h_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_sse2 +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_sse2 + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_sse2 + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2034,12 +2298,6 @@ void aom_h_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_sse2 -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2077,6 +2335,26 @@ void aom_h_predictor_32x64_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_sse2 +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_sse2 + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_sse2 + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2097,6 +2375,16 @@ void aom_h_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_sse2 +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_sse2 + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2127,6 +2415,16 @@ void aom_h_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_sse2 +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_sse2 + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4357,6 +4655,36 @@ RTCD_EXTERN void (*aom_paeth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4374,12 +4702,6 @@ RTCD_EXTERN void (*aom_paeth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c - void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4431,6 +4753,32 @@ RTCD_EXTERN void (*aom_paeth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4457,6 +4805,23 @@ RTCD_EXTERN void (*aom_paeth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4504,6 +4869,19 @@ RTCD_EXTERN void (*aom_paeth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6256,6 +6634,32 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6269,12 +6673,6 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c - void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6314,6 +6712,32 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6340,6 +6764,19 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6379,6 +6816,19 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6431,6 +6881,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6444,12 +6920,6 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6489,6 +6959,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6515,6 +7011,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6554,6 +7063,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6606,6 +7128,32 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6619,12 +7167,6 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c - void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6664,6 +7206,32 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6690,6 +7258,19 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6729,6 +7310,19 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8035,6 +8629,26 @@ void aom_v_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_sse2 +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_sse2 + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_sse2 + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8045,12 +8659,6 @@ void aom_v_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_sse2 -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8102,6 +8710,26 @@ RTCD_EXTERN void (*aom_v_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_sse2 + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_sse2 + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8122,6 +8750,23 @@ void aom_v_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_sse2 +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8166,6 +8811,16 @@ void aom_v_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_sse2 +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_sse2 + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8579,6 +9234,9 @@ static void setup_rtcd_internal(void) { aom_dc_128_predictor_32x64 = aom_dc_128_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_128_predictor_32x64 = aom_dc_128_predictor_32x64_avx2; + aom_dc_128_predictor_64x16 = aom_dc_128_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_128_predictor_64x16 = aom_dc_128_predictor_64x16_avx2; aom_dc_128_predictor_64x32 = aom_dc_128_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_128_predictor_64x32 = aom_dc_128_predictor_64x32_avx2; @@ -8594,6 +9252,9 @@ static void setup_rtcd_internal(void) { aom_dc_left_predictor_32x64 = aom_dc_left_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_left_predictor_32x64 = aom_dc_left_predictor_32x64_avx2; + aom_dc_left_predictor_64x16 = aom_dc_left_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_left_predictor_64x16 = aom_dc_left_predictor_64x16_avx2; aom_dc_left_predictor_64x32 = aom_dc_left_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_left_predictor_64x32 = aom_dc_left_predictor_64x32_avx2; @@ -8609,6 +9270,9 @@ static void setup_rtcd_internal(void) { aom_dc_predictor_32x64 = aom_dc_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_predictor_32x64 = aom_dc_predictor_32x64_avx2; + aom_dc_predictor_64x16 = aom_dc_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_predictor_64x16 = aom_dc_predictor_64x16_avx2; aom_dc_predictor_64x32 = aom_dc_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_predictor_64x32 = aom_dc_predictor_64x32_avx2; @@ -8624,6 +9288,9 @@ static void setup_rtcd_internal(void) { aom_dc_top_predictor_32x64 = aom_dc_top_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_top_predictor_32x64 = aom_dc_top_predictor_32x64_avx2; + aom_dc_top_predictor_64x16 = aom_dc_top_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_top_predictor_64x16 = aom_dc_top_predictor_64x16_avx2; aom_dc_top_predictor_64x32 = aom_dc_top_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_top_predictor_64x32 = aom_dc_top_predictor_64x32_avx2; @@ -9016,6 +9683,14 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_ssse3; if (flags & HAS_AVX2) aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_avx2; + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_ssse3; + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_ssse3; + if (flags & HAS_AVX2) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_avx2; aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_c; if (flags & HAS_SSSE3) aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_ssse3; @@ -9036,12 +9711,23 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_ssse3; if (flags & HAS_AVX2) aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_avx2; + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_ssse3; + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_ssse3; aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_c; if (flags & HAS_SSSE3) aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_ssse3; aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_c; if (flags & HAS_SSSE3) aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_ssse3; + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_ssse3; + if (flags & HAS_AVX2) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_avx2; aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_c; if (flags & HAS_SSSE3) aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_ssse3; @@ -9055,6 +9741,9 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_c; if (flags & HAS_SSSE3) aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_ssse3; + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_ssse3; aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_c; if (flags & HAS_SSSE3) aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_ssse3; @@ -9208,6 +9897,12 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_ssse3; + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_ssse3; + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_ssse3; aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_ssse3; @@ -9220,12 +9915,21 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_ssse3; + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_ssse3; + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_ssse3; aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_ssse3; aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_ssse3; + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_ssse3; aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_ssse3; @@ -9235,6 +9939,9 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_ssse3; + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_ssse3; aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_ssse3; @@ -9247,6 +9954,12 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_ssse3; + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_ssse3; + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_ssse3; aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_ssse3; @@ -9259,12 +9972,21 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_ssse3; + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_ssse3; + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_ssse3; aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_ssse3; aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_ssse3; + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_ssse3; aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_ssse3; @@ -9274,6 +9996,9 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_ssse3; + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_ssse3; aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_ssse3; @@ -9286,6 +10011,12 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_ssse3; + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_ssse3; + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_ssse3; aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_ssse3; @@ -9298,12 +10029,21 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_ssse3; + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_ssse3; + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_ssse3; aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_ssse3; aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_ssse3; + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_ssse3; aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_ssse3; @@ -9313,6 +10053,9 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_ssse3; + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_ssse3; aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_ssse3; @@ -9476,6 +10219,9 @@ static void setup_rtcd_internal(void) { aom_v_predictor_32x64 = aom_v_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_v_predictor_32x64 = aom_v_predictor_32x64_avx2; + aom_v_predictor_64x16 = aom_v_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_v_predictor_64x16 = aom_v_predictor_64x16_avx2; aom_v_predictor_64x32 = aom_v_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_v_predictor_64x32 = aom_v_predictor_64x32_avx2; diff --git a/chromium/third_party/libaom/source/config/linux/ia32/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/linux/ia32/config/av1_rtcd.h index 8d516d90bde..6d8a64d1270 100644 --- a/chromium/third_party/libaom/source/config/linux/ia32/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/ia32/config/av1_rtcd.h @@ -242,6 +242,51 @@ void aom_upsampled_pred_sse2(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_sse2 +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_sse4_1(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_avx2(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +RTCD_EXTERN void (*av1_apply_selfguided_restoration)(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -347,6 +392,31 @@ RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)( ConvolveParams* conv_params, int bd); +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +int64_t av1_calc_frame_error_sse2(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +int64_t av1_calc_frame_error_avx2(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +RTCD_EXTERN int64_t (*av1_calc_frame_error)(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1839,6 +1909,47 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_sse4_1(int32_t* arr, int size, int bit); RTCD_EXTERN void (*av1_round_shift_array)(int32_t* arr, int size, int bit); +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_sse4_1(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_avx2(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1864,6 +1975,79 @@ void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); void av1_upsample_intra_edge_high_sse4_1(uint16_t* p, int sz, int bd); RTCD_EXTERN void (*av1_upsample_intra_edge_high)(uint16_t* p, int sz, int bd); +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_sse4_1(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_avx2(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +RTCD_EXTERN void (*av1_warp_affine)(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -2687,6 +2871,11 @@ static void setup_rtcd_internal(void) { if (flags & HAS_SSSE3) aom_dist_wtd_comp_avg_upsampled_pred = aom_dist_wtd_comp_avg_upsampled_pred_ssse3; + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_c; + if (flags & HAS_SSE4_1) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_sse4_1; + if (flags & HAS_AVX2) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_avx2; av1_block_error = av1_block_error_sse2; if (flags & HAS_AVX2) av1_block_error = av1_block_error_avx2; @@ -2705,6 +2894,9 @@ static void setup_rtcd_internal(void) { if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2; + av1_calc_frame_error = av1_calc_frame_error_sse2; + if (flags & HAS_AVX2) + av1_calc_frame_error = av1_calc_frame_error_avx2; av1_calc_indices_dim1 = av1_calc_indices_dim1_sse2; if (flags & HAS_AVX2) av1_calc_indices_dim1 = av1_calc_indices_dim1_avx2; @@ -2903,6 +3095,11 @@ static void setup_rtcd_internal(void) { av1_round_shift_array = av1_round_shift_array_c; if (flags & HAS_SSE4_1) av1_round_shift_array = av1_round_shift_array_sse4_1; + av1_selfguided_restoration = av1_selfguided_restoration_c; + if (flags & HAS_SSE4_1) + av1_selfguided_restoration = av1_selfguided_restoration_sse4_1; + if (flags & HAS_AVX2) + av1_selfguided_restoration = av1_selfguided_restoration_avx2; av1_txb_init_levels = av1_txb_init_levels_c; if (flags & HAS_SSE4_1) av1_txb_init_levels = av1_txb_init_levels_sse4_1; @@ -2914,6 +3111,11 @@ static void setup_rtcd_internal(void) { av1_upsample_intra_edge_high = av1_upsample_intra_edge_high_c; if (flags & HAS_SSE4_1) av1_upsample_intra_edge_high = av1_upsample_intra_edge_high_sse4_1; + av1_warp_affine = av1_warp_affine_c; + if (flags & HAS_SSE4_1) + av1_warp_affine = av1_warp_affine_sse4_1; + if (flags & HAS_AVX2) + av1_warp_affine = av1_warp_affine_avx2; av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_sse2; if (flags & HAS_AVX2) av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_avx2; diff --git a/chromium/third_party/libaom/source/config/linux/x64/config/aom_config.c b/chromium/third_party/libaom/source/config/linux/x64/config/aom_config.c index 8786cc6957d..4c037ce451b 100644 --- a/chromium/third_party/libaom/source/config/linux/x64/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/linux/x64/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DAOM_TARGET_CPU=x86_64 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DAOM_TARGET_CPU=x86_64 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/linux/x64/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/linux/x64/config/aom_dsp_rtcd.h index b04c0cfea23..9f1f936e240 100644 --- a/chromium/third_party/libaom/source/config/linux/x64/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/x64/config/aom_dsp_rtcd.h @@ -360,6 +360,26 @@ void aom_dc_128_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_sse2 +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_sse2 + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_sse2 + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -370,12 +390,6 @@ void aom_dc_128_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_sse2 -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -427,6 +441,26 @@ RTCD_EXTERN void (*aom_dc_128_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_sse2 + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_sse2 + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -447,6 +481,23 @@ void aom_dc_128_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_sse2 +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_128_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -491,6 +542,16 @@ void aom_dc_128_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_sse2 +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_sse2 + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -531,6 +592,26 @@ void aom_dc_left_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_sse2 +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_sse2 + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_sse2 + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -541,12 +622,6 @@ void aom_dc_left_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_sse2 -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -598,6 +673,26 @@ RTCD_EXTERN void (*aom_dc_left_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_sse2 + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_sse2 + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -618,6 +713,23 @@ void aom_dc_left_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_sse2 +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_left_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -662,6 +774,16 @@ void aom_dc_left_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_sse2 +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_sse2 + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -702,6 +824,26 @@ void aom_dc_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_sse2 +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_sse2 + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_sse2 + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -712,12 +854,6 @@ void aom_dc_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_sse2 -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -769,6 +905,26 @@ RTCD_EXTERN void (*aom_dc_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_sse2 + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_sse2 + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -789,6 +945,23 @@ void aom_dc_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_sse2 +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -833,6 +1006,16 @@ void aom_dc_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_sse2 +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_sse2 + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -873,6 +1056,26 @@ void aom_dc_top_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_sse2 +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_sse2 + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_sse2 + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -883,12 +1086,6 @@ void aom_dc_top_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_sse2 -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -940,6 +1137,26 @@ RTCD_EXTERN void (*aom_dc_top_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_sse2 + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_sse2 + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -960,6 +1177,23 @@ void aom_dc_top_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_sse2 +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_top_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1004,6 +1238,16 @@ void aom_dc_top_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_sse2 +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_sse2 + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2027,6 +2271,26 @@ void aom_h_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_sse2 +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_sse2 + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_sse2 + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2037,12 +2301,6 @@ void aom_h_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_sse2 -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2080,6 +2338,26 @@ void aom_h_predictor_32x64_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_sse2 +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_sse2 + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_sse2 + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2100,6 +2378,16 @@ void aom_h_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_sse2 +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_sse2 + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2130,6 +2418,16 @@ void aom_h_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_sse2 +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_sse2 + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4360,6 +4658,36 @@ RTCD_EXTERN void (*aom_paeth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4377,12 +4705,6 @@ RTCD_EXTERN void (*aom_paeth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c - void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4434,6 +4756,32 @@ RTCD_EXTERN void (*aom_paeth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4460,6 +4808,23 @@ RTCD_EXTERN void (*aom_paeth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4507,6 +4872,19 @@ RTCD_EXTERN void (*aom_paeth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6283,6 +6661,32 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6296,12 +6700,6 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c - void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6341,6 +6739,32 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6367,6 +6791,19 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6406,6 +6843,19 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6458,6 +6908,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6471,12 +6947,6 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6516,6 +6986,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6542,6 +7038,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6581,6 +7090,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6633,6 +7155,32 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6646,12 +7194,6 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c - void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6691,6 +7233,32 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6717,6 +7285,19 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6756,6 +7337,19 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8071,6 +8665,26 @@ void aom_v_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_sse2 +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_sse2 + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_sse2 + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8081,12 +8695,6 @@ void aom_v_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_sse2 -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8138,6 +8746,26 @@ RTCD_EXTERN void (*aom_v_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_sse2 + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_sse2 + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8158,6 +8786,23 @@ void aom_v_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_sse2 +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8202,6 +8847,16 @@ void aom_v_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_sse2 +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_sse2 + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8615,6 +9270,9 @@ static void setup_rtcd_internal(void) { aom_dc_128_predictor_32x64 = aom_dc_128_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_128_predictor_32x64 = aom_dc_128_predictor_32x64_avx2; + aom_dc_128_predictor_64x16 = aom_dc_128_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_128_predictor_64x16 = aom_dc_128_predictor_64x16_avx2; aom_dc_128_predictor_64x32 = aom_dc_128_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_128_predictor_64x32 = aom_dc_128_predictor_64x32_avx2; @@ -8630,6 +9288,9 @@ static void setup_rtcd_internal(void) { aom_dc_left_predictor_32x64 = aom_dc_left_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_left_predictor_32x64 = aom_dc_left_predictor_32x64_avx2; + aom_dc_left_predictor_64x16 = aom_dc_left_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_left_predictor_64x16 = aom_dc_left_predictor_64x16_avx2; aom_dc_left_predictor_64x32 = aom_dc_left_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_left_predictor_64x32 = aom_dc_left_predictor_64x32_avx2; @@ -8645,6 +9306,9 @@ static void setup_rtcd_internal(void) { aom_dc_predictor_32x64 = aom_dc_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_predictor_32x64 = aom_dc_predictor_32x64_avx2; + aom_dc_predictor_64x16 = aom_dc_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_predictor_64x16 = aom_dc_predictor_64x16_avx2; aom_dc_predictor_64x32 = aom_dc_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_predictor_64x32 = aom_dc_predictor_64x32_avx2; @@ -8660,6 +9324,9 @@ static void setup_rtcd_internal(void) { aom_dc_top_predictor_32x64 = aom_dc_top_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_top_predictor_32x64 = aom_dc_top_predictor_32x64_avx2; + aom_dc_top_predictor_64x16 = aom_dc_top_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_top_predictor_64x16 = aom_dc_top_predictor_64x16_avx2; aom_dc_top_predictor_64x32 = aom_dc_top_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_top_predictor_64x32 = aom_dc_top_predictor_64x32_avx2; @@ -9055,6 +9722,14 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_ssse3; if (flags & HAS_AVX2) aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_avx2; + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_ssse3; + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_ssse3; + if (flags & HAS_AVX2) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_avx2; aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_c; if (flags & HAS_SSSE3) aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_ssse3; @@ -9075,12 +9750,23 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_ssse3; if (flags & HAS_AVX2) aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_avx2; + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_ssse3; + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_ssse3; aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_c; if (flags & HAS_SSSE3) aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_ssse3; aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_c; if (flags & HAS_SSSE3) aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_ssse3; + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_ssse3; + if (flags & HAS_AVX2) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_avx2; aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_c; if (flags & HAS_SSSE3) aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_ssse3; @@ -9094,6 +9780,9 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_c; if (flags & HAS_SSSE3) aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_ssse3; + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_ssse3; aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_c; if (flags & HAS_SSSE3) aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_ssse3; @@ -9251,6 +9940,12 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_ssse3; + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_ssse3; + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_ssse3; aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_ssse3; @@ -9263,12 +9958,21 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_ssse3; + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_ssse3; + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_ssse3; aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_ssse3; aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_ssse3; + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_ssse3; aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_ssse3; @@ -9278,6 +9982,9 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_ssse3; + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_ssse3; aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_ssse3; @@ -9290,6 +9997,12 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_ssse3; + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_ssse3; + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_ssse3; aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_ssse3; @@ -9302,12 +10015,21 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_ssse3; + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_ssse3; + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_ssse3; aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_ssse3; aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_ssse3; + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_ssse3; aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_ssse3; @@ -9317,6 +10039,9 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_ssse3; + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_ssse3; aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_ssse3; @@ -9329,6 +10054,12 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_ssse3; + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_ssse3; + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_ssse3; aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_ssse3; @@ -9341,12 +10072,21 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_ssse3; + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_ssse3; + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_ssse3; aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_ssse3; aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_ssse3; + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_ssse3; aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_ssse3; @@ -9356,6 +10096,9 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_ssse3; + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_ssse3; aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_ssse3; @@ -9519,6 +10262,9 @@ static void setup_rtcd_internal(void) { aom_v_predictor_32x64 = aom_v_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_v_predictor_32x64 = aom_v_predictor_32x64_avx2; + aom_v_predictor_64x16 = aom_v_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_v_predictor_64x16 = aom_v_predictor_64x16_avx2; aom_v_predictor_64x32 = aom_v_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_v_predictor_64x32 = aom_v_predictor_64x32_avx2; diff --git a/chromium/third_party/libaom/source/config/linux/x64/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/linux/x64/config/av1_rtcd.h index 8d516d90bde..6d8a64d1270 100644 --- a/chromium/third_party/libaom/source/config/linux/x64/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/linux/x64/config/av1_rtcd.h @@ -242,6 +242,51 @@ void aom_upsampled_pred_sse2(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_sse2 +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_sse4_1(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_avx2(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +RTCD_EXTERN void (*av1_apply_selfguided_restoration)(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -347,6 +392,31 @@ RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)( ConvolveParams* conv_params, int bd); +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +int64_t av1_calc_frame_error_sse2(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +int64_t av1_calc_frame_error_avx2(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +RTCD_EXTERN int64_t (*av1_calc_frame_error)(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1839,6 +1909,47 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_sse4_1(int32_t* arr, int size, int bit); RTCD_EXTERN void (*av1_round_shift_array)(int32_t* arr, int size, int bit); +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_sse4_1(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_avx2(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1864,6 +1975,79 @@ void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); void av1_upsample_intra_edge_high_sse4_1(uint16_t* p, int sz, int bd); RTCD_EXTERN void (*av1_upsample_intra_edge_high)(uint16_t* p, int sz, int bd); +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_sse4_1(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_avx2(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +RTCD_EXTERN void (*av1_warp_affine)(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -2687,6 +2871,11 @@ static void setup_rtcd_internal(void) { if (flags & HAS_SSSE3) aom_dist_wtd_comp_avg_upsampled_pred = aom_dist_wtd_comp_avg_upsampled_pred_ssse3; + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_c; + if (flags & HAS_SSE4_1) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_sse4_1; + if (flags & HAS_AVX2) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_avx2; av1_block_error = av1_block_error_sse2; if (flags & HAS_AVX2) av1_block_error = av1_block_error_avx2; @@ -2705,6 +2894,9 @@ static void setup_rtcd_internal(void) { if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2; + av1_calc_frame_error = av1_calc_frame_error_sse2; + if (flags & HAS_AVX2) + av1_calc_frame_error = av1_calc_frame_error_avx2; av1_calc_indices_dim1 = av1_calc_indices_dim1_sse2; if (flags & HAS_AVX2) av1_calc_indices_dim1 = av1_calc_indices_dim1_avx2; @@ -2903,6 +3095,11 @@ static void setup_rtcd_internal(void) { av1_round_shift_array = av1_round_shift_array_c; if (flags & HAS_SSE4_1) av1_round_shift_array = av1_round_shift_array_sse4_1; + av1_selfguided_restoration = av1_selfguided_restoration_c; + if (flags & HAS_SSE4_1) + av1_selfguided_restoration = av1_selfguided_restoration_sse4_1; + if (flags & HAS_AVX2) + av1_selfguided_restoration = av1_selfguided_restoration_avx2; av1_txb_init_levels = av1_txb_init_levels_c; if (flags & HAS_SSE4_1) av1_txb_init_levels = av1_txb_init_levels_sse4_1; @@ -2914,6 +3111,11 @@ static void setup_rtcd_internal(void) { av1_upsample_intra_edge_high = av1_upsample_intra_edge_high_c; if (flags & HAS_SSE4_1) av1_upsample_intra_edge_high = av1_upsample_intra_edge_high_sse4_1; + av1_warp_affine = av1_warp_affine_c; + if (flags & HAS_SSE4_1) + av1_warp_affine = av1_warp_affine_sse4_1; + if (flags & HAS_AVX2) + av1_warp_affine = av1_warp_affine_avx2; av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_sse2; if (flags & HAS_AVX2) av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_avx2; diff --git a/chromium/third_party/libaom/source/config/win/arm64/config/aom_config.c b/chromium/third_party/libaom/source/config/win/arm64/config/aom_config.c index 7c8f15b9d65..ff9196735fc 100644 --- a/chromium/third_party/libaom/source/config/win/arm64/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/win/arm64/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/arm64-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/arm64-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/win/arm64/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/win/arm64/config/aom_dsp_rtcd.h index 155c11857c0..49fb79d7f18 100644 --- a/chromium/third_party/libaom/source/config/win/arm64/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/win/arm64/config/aom_dsp_rtcd.h @@ -34,7 +34,12 @@ void aom_avg_8x8_quad_c(const uint8_t* s, int x16_idx, int y16_idx, int* avg); -#define aom_avg_8x8_quad aom_avg_8x8_quad_c +void aom_avg_8x8_quad_neon(const uint8_t* s, + int p, + int x16_idx, + int y16_idx, + int* avg); +#define aom_avg_8x8_quad aom_avg_8x8_quad_neon void aom_blend_a64_hmask_c(uint8_t* dst, uint32_t dst_stride, @@ -176,18 +181,24 @@ void aom_dc_128_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -210,6 +221,18 @@ void aom_dc_128_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -226,6 +249,12 @@ void aom_dc_128_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -244,6 +273,12 @@ void aom_dc_128_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -276,18 +311,24 @@ void aom_dc_left_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -310,6 +351,18 @@ void aom_dc_left_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -326,6 +379,12 @@ void aom_dc_left_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -344,6 +403,12 @@ void aom_dc_left_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -376,18 +441,24 @@ void aom_dc_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -410,6 +481,18 @@ void aom_dc_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -426,6 +509,12 @@ void aom_dc_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -444,6 +533,12 @@ void aom_dc_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -476,18 +571,24 @@ void aom_dc_top_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -510,6 +611,18 @@ void aom_dc_top_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -526,6 +639,12 @@ void aom_dc_top_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -544,6 +663,12 @@ void aom_dc_top_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1014,18 +1139,24 @@ void aom_h_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_c +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_c + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_c + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_c -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1048,6 +1179,18 @@ void aom_h_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_c +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_c + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_c + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1064,6 +1207,12 @@ void aom_h_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_c +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_c + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1082,6 +1231,12 @@ void aom_h_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_c +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_c + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1127,7 +1282,10 @@ void aom_hadamard_8x8_neon(const int16_t* src_diff, void aom_hadamard_8x8_dual_c(const int16_t* src_diff, ptrdiff_t src_stride, int16_t* coeff); -#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_c +void aom_hadamard_8x8_dual_neon(const int16_t* src_diff, + ptrdiff_t src_stride, + int16_t* coeff); +#define aom_hadamard_8x8_dual aom_hadamard_8x8_dual_neon void aom_hadamard_lp_16x16_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -1237,7 +1395,12 @@ void aom_lpf_horizontal_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_c +void aom_lpf_horizontal_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_14_quad aom_lpf_horizontal_14_quad_neon void aom_lpf_horizontal_4_c(uint8_t* s, int pitch, @@ -1274,7 +1437,12 @@ void aom_lpf_horizontal_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_c +void aom_lpf_horizontal_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_4_quad aom_lpf_horizontal_4_quad_neon void aom_lpf_horizontal_6_c(uint8_t* s, int pitch, @@ -1311,7 +1479,12 @@ void aom_lpf_horizontal_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_c +void aom_lpf_horizontal_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_6_quad aom_lpf_horizontal_6_quad_neon void aom_lpf_horizontal_8_c(uint8_t* s, int pitch, @@ -1348,7 +1521,12 @@ void aom_lpf_horizontal_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_c +void aom_lpf_horizontal_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_horizontal_8_quad aom_lpf_horizontal_8_quad_neon void aom_lpf_vertical_14_c(uint8_t* s, int pitch, @@ -1385,7 +1563,12 @@ void aom_lpf_vertical_14_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_c +void aom_lpf_vertical_14_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_14_quad aom_lpf_vertical_14_quad_neon void aom_lpf_vertical_4_c(uint8_t* s, int pitch, @@ -1422,7 +1605,12 @@ void aom_lpf_vertical_4_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_c +void aom_lpf_vertical_4_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_4_quad aom_lpf_vertical_4_quad_neon void aom_lpf_vertical_6_c(uint8_t* s, int pitch, @@ -1459,7 +1647,12 @@ void aom_lpf_vertical_6_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_c +void aom_lpf_vertical_6_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_6_quad aom_lpf_vertical_6_quad_neon void aom_lpf_vertical_8_c(uint8_t* s, int pitch, @@ -1496,7 +1689,12 @@ void aom_lpf_vertical_8_quad_c(uint8_t* s, const uint8_t* blimit0, const uint8_t* limit0, const uint8_t* thresh0); -#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_c +void aom_lpf_vertical_8_quad_neon(uint8_t* s, + int pitch, + const uint8_t* blimit0, + const uint8_t* limit0, + const uint8_t* thresh0); +#define aom_lpf_vertical_8_quad aom_lpf_vertical_8_quad_neon unsigned int aom_masked_sad128x128_c(const uint8_t* src, int src_stride, @@ -2098,85 +2296,191 @@ void aom_paeth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_c +void aom_paeth_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x16 aom_paeth_predictor_16x16_neon void aom_paeth_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c +void aom_paeth_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_neon -void aom_paeth_predictor_16x8_c(uint8_t* dst, +void aom_paeth_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c +void aom_paeth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_neon -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_neon + +void aom_paeth_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_neon void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_c +void aom_paeth_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x16 aom_paeth_predictor_32x16_neon void aom_paeth_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_c +void aom_paeth_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x32 aom_paeth_predictor_32x32_neon void aom_paeth_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c +void aom_paeth_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_neon + +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_neon + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_neon void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c +void aom_paeth_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_neon void aom_paeth_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c +void aom_paeth_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_neon + +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_neon void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c +void aom_paeth_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_neon void aom_paeth_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_c +void aom_paeth_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_64x64 aom_paeth_predictor_64x64_neon void aom_paeth_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c +void aom_paeth_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_neon + +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_neon void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c +void aom_paeth_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_neon void aom_paeth_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_c +void aom_paeth_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_paeth_predictor_8x8 aom_paeth_predictor_8x8_neon void aom_pixel_scale_c(const int16_t* src_diff, ptrdiff_t src_stride, @@ -3219,85 +3523,191 @@ void aom_smooth_h_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_c +void aom_smooth_h_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x16 aom_smooth_h_predictor_16x16_neon void aom_smooth_h_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c +void aom_smooth_h_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_neon -void aom_smooth_h_predictor_16x8_c(uint8_t* dst, +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c +void aom_smooth_h_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_neon -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_neon + +void aom_smooth_h_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_neon void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_c +void aom_smooth_h_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x16 aom_smooth_h_predictor_32x16_neon void aom_smooth_h_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_c +void aom_smooth_h_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x32 aom_smooth_h_predictor_32x32_neon void aom_smooth_h_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c +void aom_smooth_h_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_neon + +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_neon + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_neon void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c +void aom_smooth_h_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_neon void aom_smooth_h_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c +void aom_smooth_h_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_neon + +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_neon void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c +void aom_smooth_h_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_neon void aom_smooth_h_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_c +void aom_smooth_h_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_64x64 aom_smooth_h_predictor_64x64_neon void aom_smooth_h_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c +void aom_smooth_h_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_neon + +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_neon void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c +void aom_smooth_h_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_neon void aom_smooth_h_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_c +void aom_smooth_h_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_h_predictor_8x8 aom_smooth_h_predictor_8x8_neon void aom_smooth_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, @@ -3319,6 +3729,26 @@ void aom_smooth_predictor_16x32_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_neon +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_neon + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_neon + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3329,12 +3759,6 @@ void aom_smooth_predictor_16x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_neon -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3365,6 +3789,26 @@ void aom_smooth_predictor_32x64_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_neon +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_neon + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_neon + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3385,6 +3829,16 @@ void aom_smooth_predictor_4x8_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_neon +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_neon + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3415,6 +3869,16 @@ void aom_smooth_predictor_8x16_neon(uint8_t* dst, const uint8_t* left); #define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_neon +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_neon + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -3439,85 +3903,191 @@ void aom_smooth_v_predictor_16x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_c +void aom_smooth_v_predictor_16x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x16 aom_smooth_v_predictor_16x16_neon void aom_smooth_v_predictor_16x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c +void aom_smooth_v_predictor_16x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_neon -void aom_smooth_v_predictor_16x8_c(uint8_t* dst, +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c +void aom_smooth_v_predictor_16x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_neon -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_neon + +void aom_smooth_v_predictor_16x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_neon void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_c +void aom_smooth_v_predictor_32x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x16 aom_smooth_v_predictor_32x16_neon void aom_smooth_v_predictor_32x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_c +void aom_smooth_v_predictor_32x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x32 aom_smooth_v_predictor_32x32_neon void aom_smooth_v_predictor_32x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c +void aom_smooth_v_predictor_32x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_neon + +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_neon + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_neon void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c +void aom_smooth_v_predictor_4x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_neon void aom_smooth_v_predictor_4x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c +void aom_smooth_v_predictor_4x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_neon + +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_neon void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c +void aom_smooth_v_predictor_64x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_neon void aom_smooth_v_predictor_64x64_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_c +void aom_smooth_v_predictor_64x64_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_64x64 aom_smooth_v_predictor_64x64_neon void aom_smooth_v_predictor_8x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c +void aom_smooth_v_predictor_8x16_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_neon + +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_neon void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c +void aom_smooth_v_predictor_8x4_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_neon void aom_smooth_v_predictor_8x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); -#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_c +void aom_smooth_v_predictor_8x8_neon(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_smooth_v_predictor_8x8 aom_smooth_v_predictor_8x8_neon int64_t aom_sse_c(const uint8_t* a, int a_stride, @@ -4014,18 +4584,24 @@ void aom_v_predictor_16x32_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_c +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_c + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_c + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_c -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4048,6 +4624,18 @@ void aom_v_predictor_32x64_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_32x64 aom_v_predictor_32x64_c +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_c + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_c + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4064,6 +4652,12 @@ void aom_v_predictor_4x8_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_c +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_64x16 aom_v_predictor_64x16_c + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4082,6 +4676,12 @@ void aom_v_predictor_8x16_c(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_c +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_c + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, diff --git a/chromium/third_party/libaom/source/config/win/arm64/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/win/arm64/config/av1_rtcd.h index 23e831cc591..7c2e8affa18 100644 --- a/chromium/third_party/libaom/source/config/win/arm64/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/win/arm64/config/av1_rtcd.h @@ -183,6 +183,30 @@ void aom_upsampled_pred_c(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_c +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_neon(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_neon + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -234,6 +258,14 @@ void av1_build_compound_diffwtd_mask_d16_neon(uint8_t* mask, #define av1_build_compound_diffwtd_mask_d16 \ av1_build_compound_diffwtd_mask_d16_neon +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +#define av1_calc_frame_error av1_calc_frame_error_c + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1314,6 +1346,28 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_neon(int32_t* arr, int size, int bit); #define av1_round_shift_array av1_round_shift_array_neon +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_neon(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +#define av1_selfguided_restoration av1_selfguided_restoration_neon + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1330,6 +1384,44 @@ void av1_upsample_intra_edge_c(uint8_t* p, int sz); void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); #define av1_upsample_intra_edge_high av1_upsample_intra_edge_high_c +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_neon(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +#define av1_warp_affine av1_warp_affine_neon + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -1610,7 +1702,15 @@ void cdef_find_dir_dual_c(const uint16_t* img1, int coeff_shift, int* out1, int* out2); -#define cdef_find_dir_dual cdef_find_dir_dual_c +void cdef_find_dir_dual_neon(const uint16_t* img1, + const uint16_t* img2, + int stride, + int32_t* var1, + int32_t* var2, + int coeff_shift, + int* out1, + int* out2); +#define cdef_find_dir_dual cdef_find_dir_dual_neon cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size); cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_neon(TX_SIZE tx_size); diff --git a/chromium/third_party/libaom/source/config/win/ia32/config/aom_config.c b/chromium/third_party/libaom/source/config/win/ia32/config/aom_config.c index aaa8142b8b8..dadb41a0d60 100644 --- a/chromium/third_party/libaom/source/config/win/ia32/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/win/ia32/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/x86-linux.cmake\" -DAOM_RTCD_FLAGS=--require-mmx;--require-sse;--require-sse2 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_PIC=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/x86-linux.cmake\" -DAOM_RTCD_FLAGS=--require-mmx;--require-sse;--require-sse2 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_PIC=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/win/ia32/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/win/ia32/config/aom_dsp_rtcd.h index aa189c45f4a..a76e597b134 100644 --- a/chromium/third_party/libaom/source/config/win/ia32/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/win/ia32/config/aom_dsp_rtcd.h @@ -360,6 +360,26 @@ void aom_dc_128_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_sse2 +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_sse2 + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_sse2 + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -370,12 +390,6 @@ void aom_dc_128_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_sse2 -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -427,6 +441,26 @@ RTCD_EXTERN void (*aom_dc_128_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_sse2 + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_sse2 + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -447,6 +481,23 @@ void aom_dc_128_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_sse2 +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_128_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -491,6 +542,16 @@ void aom_dc_128_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_sse2 +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_sse2 + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -531,6 +592,26 @@ void aom_dc_left_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_sse2 +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_sse2 + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_sse2 + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -541,12 +622,6 @@ void aom_dc_left_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_sse2 -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -598,6 +673,26 @@ RTCD_EXTERN void (*aom_dc_left_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_sse2 + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_sse2 + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -618,6 +713,23 @@ void aom_dc_left_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_sse2 +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_left_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -662,6 +774,16 @@ void aom_dc_left_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_sse2 +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_sse2 + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -702,6 +824,26 @@ void aom_dc_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_sse2 +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_sse2 + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_sse2 + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -712,12 +854,6 @@ void aom_dc_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_sse2 -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -769,6 +905,26 @@ RTCD_EXTERN void (*aom_dc_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_sse2 + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_sse2 + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -789,6 +945,23 @@ void aom_dc_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_sse2 +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -833,6 +1006,16 @@ void aom_dc_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_sse2 +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_sse2 + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -873,6 +1056,26 @@ void aom_dc_top_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_sse2 +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_sse2 + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_sse2 + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -883,12 +1086,6 @@ void aom_dc_top_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_sse2 -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -940,6 +1137,26 @@ RTCD_EXTERN void (*aom_dc_top_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_sse2 + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_sse2 + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -960,6 +1177,23 @@ void aom_dc_top_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_sse2 +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_top_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1004,6 +1238,16 @@ void aom_dc_top_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_sse2 +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_sse2 + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2024,6 +2268,26 @@ void aom_h_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_sse2 +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_sse2 + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_sse2 + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2034,12 +2298,6 @@ void aom_h_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_sse2 -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2077,6 +2335,26 @@ void aom_h_predictor_32x64_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_sse2 +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_sse2 + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_sse2 + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2097,6 +2375,16 @@ void aom_h_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_sse2 +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_sse2 + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2127,6 +2415,16 @@ void aom_h_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_sse2 +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_sse2 + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4357,6 +4655,36 @@ RTCD_EXTERN void (*aom_paeth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4374,12 +4702,6 @@ RTCD_EXTERN void (*aom_paeth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c - void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4431,6 +4753,32 @@ RTCD_EXTERN void (*aom_paeth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4457,6 +4805,23 @@ RTCD_EXTERN void (*aom_paeth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4504,6 +4869,19 @@ RTCD_EXTERN void (*aom_paeth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6256,6 +6634,32 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6269,12 +6673,6 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c - void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6314,6 +6712,32 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6340,6 +6764,19 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6379,6 +6816,19 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6431,6 +6881,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6444,12 +6920,6 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6489,6 +6959,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6515,6 +7011,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6554,6 +7063,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6606,6 +7128,32 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6619,12 +7167,6 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c - void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6664,6 +7206,32 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6690,6 +7258,19 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6729,6 +7310,19 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8035,6 +8629,26 @@ void aom_v_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_sse2 +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_sse2 + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_sse2 + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8045,12 +8659,6 @@ void aom_v_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_sse2 -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8102,6 +8710,26 @@ RTCD_EXTERN void (*aom_v_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_sse2 + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_sse2 + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8122,6 +8750,23 @@ void aom_v_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_sse2 +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8166,6 +8811,16 @@ void aom_v_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_sse2 +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_sse2 + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8579,6 +9234,9 @@ static void setup_rtcd_internal(void) { aom_dc_128_predictor_32x64 = aom_dc_128_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_128_predictor_32x64 = aom_dc_128_predictor_32x64_avx2; + aom_dc_128_predictor_64x16 = aom_dc_128_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_128_predictor_64x16 = aom_dc_128_predictor_64x16_avx2; aom_dc_128_predictor_64x32 = aom_dc_128_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_128_predictor_64x32 = aom_dc_128_predictor_64x32_avx2; @@ -8594,6 +9252,9 @@ static void setup_rtcd_internal(void) { aom_dc_left_predictor_32x64 = aom_dc_left_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_left_predictor_32x64 = aom_dc_left_predictor_32x64_avx2; + aom_dc_left_predictor_64x16 = aom_dc_left_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_left_predictor_64x16 = aom_dc_left_predictor_64x16_avx2; aom_dc_left_predictor_64x32 = aom_dc_left_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_left_predictor_64x32 = aom_dc_left_predictor_64x32_avx2; @@ -8609,6 +9270,9 @@ static void setup_rtcd_internal(void) { aom_dc_predictor_32x64 = aom_dc_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_predictor_32x64 = aom_dc_predictor_32x64_avx2; + aom_dc_predictor_64x16 = aom_dc_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_predictor_64x16 = aom_dc_predictor_64x16_avx2; aom_dc_predictor_64x32 = aom_dc_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_predictor_64x32 = aom_dc_predictor_64x32_avx2; @@ -8624,6 +9288,9 @@ static void setup_rtcd_internal(void) { aom_dc_top_predictor_32x64 = aom_dc_top_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_top_predictor_32x64 = aom_dc_top_predictor_32x64_avx2; + aom_dc_top_predictor_64x16 = aom_dc_top_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_top_predictor_64x16 = aom_dc_top_predictor_64x16_avx2; aom_dc_top_predictor_64x32 = aom_dc_top_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_top_predictor_64x32 = aom_dc_top_predictor_64x32_avx2; @@ -9016,6 +9683,14 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_ssse3; if (flags & HAS_AVX2) aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_avx2; + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_ssse3; + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_ssse3; + if (flags & HAS_AVX2) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_avx2; aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_c; if (flags & HAS_SSSE3) aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_ssse3; @@ -9036,12 +9711,23 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_ssse3; if (flags & HAS_AVX2) aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_avx2; + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_ssse3; + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_ssse3; aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_c; if (flags & HAS_SSSE3) aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_ssse3; aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_c; if (flags & HAS_SSSE3) aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_ssse3; + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_ssse3; + if (flags & HAS_AVX2) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_avx2; aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_c; if (flags & HAS_SSSE3) aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_ssse3; @@ -9055,6 +9741,9 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_c; if (flags & HAS_SSSE3) aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_ssse3; + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_ssse3; aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_c; if (flags & HAS_SSSE3) aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_ssse3; @@ -9208,6 +9897,12 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_ssse3; + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_ssse3; + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_ssse3; aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_ssse3; @@ -9220,12 +9915,21 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_ssse3; + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_ssse3; + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_ssse3; aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_ssse3; aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_ssse3; + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_ssse3; aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_ssse3; @@ -9235,6 +9939,9 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_ssse3; + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_ssse3; aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_ssse3; @@ -9247,6 +9954,12 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_ssse3; + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_ssse3; + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_ssse3; aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_ssse3; @@ -9259,12 +9972,21 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_ssse3; + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_ssse3; + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_ssse3; aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_ssse3; aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_ssse3; + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_ssse3; aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_ssse3; @@ -9274,6 +9996,9 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_ssse3; + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_ssse3; aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_ssse3; @@ -9286,6 +10011,12 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_ssse3; + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_ssse3; + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_ssse3; aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_ssse3; @@ -9298,12 +10029,21 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_ssse3; + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_ssse3; + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_ssse3; aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_ssse3; aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_ssse3; + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_ssse3; aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_ssse3; @@ -9313,6 +10053,9 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_ssse3; + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_ssse3; aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_ssse3; @@ -9476,6 +10219,9 @@ static void setup_rtcd_internal(void) { aom_v_predictor_32x64 = aom_v_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_v_predictor_32x64 = aom_v_predictor_32x64_avx2; + aom_v_predictor_64x16 = aom_v_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_v_predictor_64x16 = aom_v_predictor_64x16_avx2; aom_v_predictor_64x32 = aom_v_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_v_predictor_64x32 = aom_v_predictor_64x32_avx2; diff --git a/chromium/third_party/libaom/source/config/win/ia32/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/win/ia32/config/av1_rtcd.h index 8d516d90bde..6d8a64d1270 100644 --- a/chromium/third_party/libaom/source/config/win/ia32/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/win/ia32/config/av1_rtcd.h @@ -242,6 +242,51 @@ void aom_upsampled_pred_sse2(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_sse2 +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_sse4_1(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_avx2(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +RTCD_EXTERN void (*av1_apply_selfguided_restoration)(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -347,6 +392,31 @@ RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)( ConvolveParams* conv_params, int bd); +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +int64_t av1_calc_frame_error_sse2(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +int64_t av1_calc_frame_error_avx2(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +RTCD_EXTERN int64_t (*av1_calc_frame_error)(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1839,6 +1909,47 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_sse4_1(int32_t* arr, int size, int bit); RTCD_EXTERN void (*av1_round_shift_array)(int32_t* arr, int size, int bit); +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_sse4_1(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_avx2(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1864,6 +1975,79 @@ void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); void av1_upsample_intra_edge_high_sse4_1(uint16_t* p, int sz, int bd); RTCD_EXTERN void (*av1_upsample_intra_edge_high)(uint16_t* p, int sz, int bd); +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_sse4_1(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_avx2(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +RTCD_EXTERN void (*av1_warp_affine)(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -2687,6 +2871,11 @@ static void setup_rtcd_internal(void) { if (flags & HAS_SSSE3) aom_dist_wtd_comp_avg_upsampled_pred = aom_dist_wtd_comp_avg_upsampled_pred_ssse3; + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_c; + if (flags & HAS_SSE4_1) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_sse4_1; + if (flags & HAS_AVX2) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_avx2; av1_block_error = av1_block_error_sse2; if (flags & HAS_AVX2) av1_block_error = av1_block_error_avx2; @@ -2705,6 +2894,9 @@ static void setup_rtcd_internal(void) { if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2; + av1_calc_frame_error = av1_calc_frame_error_sse2; + if (flags & HAS_AVX2) + av1_calc_frame_error = av1_calc_frame_error_avx2; av1_calc_indices_dim1 = av1_calc_indices_dim1_sse2; if (flags & HAS_AVX2) av1_calc_indices_dim1 = av1_calc_indices_dim1_avx2; @@ -2903,6 +3095,11 @@ static void setup_rtcd_internal(void) { av1_round_shift_array = av1_round_shift_array_c; if (flags & HAS_SSE4_1) av1_round_shift_array = av1_round_shift_array_sse4_1; + av1_selfguided_restoration = av1_selfguided_restoration_c; + if (flags & HAS_SSE4_1) + av1_selfguided_restoration = av1_selfguided_restoration_sse4_1; + if (flags & HAS_AVX2) + av1_selfguided_restoration = av1_selfguided_restoration_avx2; av1_txb_init_levels = av1_txb_init_levels_c; if (flags & HAS_SSE4_1) av1_txb_init_levels = av1_txb_init_levels_sse4_1; @@ -2914,6 +3111,11 @@ static void setup_rtcd_internal(void) { av1_upsample_intra_edge_high = av1_upsample_intra_edge_high_c; if (flags & HAS_SSE4_1) av1_upsample_intra_edge_high = av1_upsample_intra_edge_high_sse4_1; + av1_warp_affine = av1_warp_affine_c; + if (flags & HAS_SSE4_1) + av1_warp_affine = av1_warp_affine_sse4_1; + if (flags & HAS_AVX2) + av1_warp_affine = av1_warp_affine_avx2; av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_sse2; if (flags & HAS_AVX2) av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_avx2; diff --git a/chromium/third_party/libaom/source/config/win/x64/config/aom_config.c b/chromium/third_party/libaom/source/config/win/x64/config/aom_config.c index 8786cc6957d..4c037ce451b 100644 --- a/chromium/third_party/libaom/source/config/win/x64/config/aom_config.c +++ b/chromium/third_party/libaom/source/config/win/x64/config/aom_config.c @@ -9,5 +9,5 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #include "aom/aom_codec.h" -static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DAOM_TARGET_CPU=x86_64 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; +static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DAOM_TARGET_CPU=x86_64 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384"; const char *aom_codec_build_config(void) {return cfg;} diff --git a/chromium/third_party/libaom/source/config/win/x64/config/aom_dsp_rtcd.h b/chromium/third_party/libaom/source/config/win/x64/config/aom_dsp_rtcd.h index b04c0cfea23..9f1f936e240 100644 --- a/chromium/third_party/libaom/source/config/win/x64/config/aom_dsp_rtcd.h +++ b/chromium/third_party/libaom/source/config/win/x64/config/aom_dsp_rtcd.h @@ -360,6 +360,26 @@ void aom_dc_128_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_sse2 +void aom_dc_128_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_sse2 + +void aom_dc_128_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_sse2 + void aom_dc_128_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -370,12 +390,6 @@ void aom_dc_128_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_sse2 -void aom_dc_128_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_128_predictor_2x2 aom_dc_128_predictor_2x2_c - void aom_dc_128_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -427,6 +441,26 @@ RTCD_EXTERN void (*aom_dc_128_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_128_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_sse2 + +void aom_dc_128_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_sse2 + void aom_dc_128_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -447,6 +481,23 @@ void aom_dc_128_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_sse2 +void aom_dc_128_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_128_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_128_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -491,6 +542,16 @@ void aom_dc_128_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_sse2 +void aom_dc_128_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_128_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_sse2 + void aom_dc_128_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -531,6 +592,26 @@ void aom_dc_left_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_sse2 +void aom_dc_left_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_sse2 + +void aom_dc_left_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_sse2 + void aom_dc_left_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -541,12 +622,6 @@ void aom_dc_left_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_sse2 -void aom_dc_left_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_left_predictor_2x2 aom_dc_left_predictor_2x2_c - void aom_dc_left_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -598,6 +673,26 @@ RTCD_EXTERN void (*aom_dc_left_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_left_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_sse2 + +void aom_dc_left_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_sse2 + void aom_dc_left_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -618,6 +713,23 @@ void aom_dc_left_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_sse2 +void aom_dc_left_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_left_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_left_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -662,6 +774,16 @@ void aom_dc_left_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_sse2 +void aom_dc_left_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_left_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_sse2 + void aom_dc_left_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -702,6 +824,26 @@ void aom_dc_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x32 aom_dc_predictor_16x32_sse2 +void aom_dc_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_sse2 + +void aom_dc_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_sse2 + void aom_dc_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -712,12 +854,6 @@ void aom_dc_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_16x8 aom_dc_predictor_16x8_sse2 -void aom_dc_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_predictor_2x2 aom_dc_predictor_2x2_c - void aom_dc_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -769,6 +905,26 @@ RTCD_EXTERN void (*aom_dc_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_sse2 + +void aom_dc_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_sse2 + void aom_dc_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -789,6 +945,23 @@ void aom_dc_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_4x8 aom_dc_predictor_4x8_sse2 +void aom_dc_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -833,6 +1006,16 @@ void aom_dc_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_predictor_8x16 aom_dc_predictor_8x16_sse2 +void aom_dc_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_sse2 + void aom_dc_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -873,6 +1056,26 @@ void aom_dc_top_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_sse2 +void aom_dc_top_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_sse2 + +void aom_dc_top_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_sse2 + void aom_dc_top_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -883,12 +1086,6 @@ void aom_dc_top_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_sse2 -void aom_dc_top_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_dc_top_predictor_2x2 aom_dc_top_predictor_2x2_c - void aom_dc_top_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -940,6 +1137,26 @@ RTCD_EXTERN void (*aom_dc_top_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_dc_top_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_sse2 + +void aom_dc_top_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_sse2 + void aom_dc_top_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -960,6 +1177,23 @@ void aom_dc_top_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_sse2 +void aom_dc_top_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_dc_top_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_dc_top_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -1004,6 +1238,16 @@ void aom_dc_top_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_sse2 +void aom_dc_top_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_dc_top_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_sse2 + void aom_dc_top_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2027,6 +2271,26 @@ void aom_h_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x32 aom_h_predictor_16x32_sse2 +void aom_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x4 aom_h_predictor_16x4_sse2 + +void aom_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_16x64 aom_h_predictor_16x64_sse2 + void aom_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2037,12 +2301,6 @@ void aom_h_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_16x8 aom_h_predictor_16x8_sse2 -void aom_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_h_predictor_2x2 aom_h_predictor_2x2_c - void aom_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2080,6 +2338,26 @@ void aom_h_predictor_32x64_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_32x64 aom_h_predictor_32x64_sse2 +void aom_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_32x8 aom_h_predictor_32x8_sse2 + +void aom_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_4x16 aom_h_predictor_4x16_sse2 + void aom_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2100,6 +2378,16 @@ void aom_h_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_4x8 aom_h_predictor_4x8_sse2 +void aom_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_64x16 aom_h_predictor_64x16_sse2 + void aom_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -2130,6 +2418,16 @@ void aom_h_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_h_predictor_8x16 aom_h_predictor_8x16_sse2 +void aom_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_h_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_h_predictor_8x32 aom_h_predictor_8x32_sse2 + void aom_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4360,6 +4658,36 @@ RTCD_EXTERN void (*aom_paeth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_16x64_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4377,12 +4705,6 @@ RTCD_EXTERN void (*aom_paeth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_paeth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_paeth_predictor_2x2 aom_paeth_predictor_2x2_c - void aom_paeth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4434,6 +4756,32 @@ RTCD_EXTERN void (*aom_paeth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_paeth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4460,6 +4808,23 @@ RTCD_EXTERN void (*aom_paeth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -4507,6 +4872,19 @@ RTCD_EXTERN void (*aom_paeth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_paeth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_paeth_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_paeth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_paeth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6283,6 +6661,32 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6296,12 +6700,6 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_h_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_h_predictor_2x2 aom_smooth_h_predictor_2x2_c - void aom_smooth_h_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6341,6 +6739,32 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_h_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6367,6 +6791,19 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6406,6 +6843,19 @@ RTCD_EXTERN void (*aom_smooth_h_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_h_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_h_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_h_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_h_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6458,6 +6908,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6471,12 +6947,6 @@ RTCD_EXTERN void (*aom_smooth_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_predictor_2x2 aom_smooth_predictor_2x2_c - void aom_smooth_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6516,6 +6986,32 @@ RTCD_EXTERN void (*aom_smooth_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6542,6 +7038,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6581,6 +7090,19 @@ RTCD_EXTERN void (*aom_smooth_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6633,6 +7155,32 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_16x32)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x4_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x4)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_16x64_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_16x64)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6646,12 +7194,6 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_16x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); -void aom_smooth_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_smooth_v_predictor_2x2 aom_smooth_v_predictor_2x2_c - void aom_smooth_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6691,6 +7233,32 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_32x8_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_32x8)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + +void aom_smooth_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_4x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_4x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6717,6 +7285,19 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_4x8)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_64x16_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -6756,6 +7337,19 @@ RTCD_EXTERN void (*aom_smooth_v_predictor_8x16)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_smooth_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_smooth_v_predictor_8x32_ssse3(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_smooth_v_predictor_8x32)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_smooth_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8071,6 +8665,26 @@ void aom_v_predictor_16x32_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x32 aom_v_predictor_16x32_sse2 +void aom_v_predictor_16x4_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_16x4_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x4 aom_v_predictor_16x4_sse2 + +void aom_v_predictor_16x64_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_16x64_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_16x64 aom_v_predictor_16x64_sse2 + void aom_v_predictor_16x8_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8081,12 +8695,6 @@ void aom_v_predictor_16x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_16x8 aom_v_predictor_16x8_sse2 -void aom_v_predictor_2x2_c(uint8_t* dst, - ptrdiff_t y_stride, - const uint8_t* above, - const uint8_t* left); -#define aom_v_predictor_2x2 aom_v_predictor_2x2_c - void aom_v_predictor_32x16_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8138,6 +8746,26 @@ RTCD_EXTERN void (*aom_v_predictor_32x64)(uint8_t* dst, const uint8_t* above, const uint8_t* left); +void aom_v_predictor_32x8_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_32x8_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_32x8 aom_v_predictor_32x8_sse2 + +void aom_v_predictor_4x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_4x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_4x16 aom_v_predictor_4x16_sse2 + void aom_v_predictor_4x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8158,6 +8786,23 @@ void aom_v_predictor_4x8_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_4x8 aom_v_predictor_4x8_sse2 +void aom_v_predictor_64x16_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_64x16_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_64x16_avx2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +RTCD_EXTERN void (*aom_v_predictor_64x16)(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); + void aom_v_predictor_64x32_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8202,6 +8847,16 @@ void aom_v_predictor_8x16_sse2(uint8_t* dst, const uint8_t* left); #define aom_v_predictor_8x16 aom_v_predictor_8x16_sse2 +void aom_v_predictor_8x32_c(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +void aom_v_predictor_8x32_sse2(uint8_t* dst, + ptrdiff_t y_stride, + const uint8_t* above, + const uint8_t* left); +#define aom_v_predictor_8x32 aom_v_predictor_8x32_sse2 + void aom_v_predictor_8x4_c(uint8_t* dst, ptrdiff_t y_stride, const uint8_t* above, @@ -8615,6 +9270,9 @@ static void setup_rtcd_internal(void) { aom_dc_128_predictor_32x64 = aom_dc_128_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_128_predictor_32x64 = aom_dc_128_predictor_32x64_avx2; + aom_dc_128_predictor_64x16 = aom_dc_128_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_128_predictor_64x16 = aom_dc_128_predictor_64x16_avx2; aom_dc_128_predictor_64x32 = aom_dc_128_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_128_predictor_64x32 = aom_dc_128_predictor_64x32_avx2; @@ -8630,6 +9288,9 @@ static void setup_rtcd_internal(void) { aom_dc_left_predictor_32x64 = aom_dc_left_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_left_predictor_32x64 = aom_dc_left_predictor_32x64_avx2; + aom_dc_left_predictor_64x16 = aom_dc_left_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_left_predictor_64x16 = aom_dc_left_predictor_64x16_avx2; aom_dc_left_predictor_64x32 = aom_dc_left_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_left_predictor_64x32 = aom_dc_left_predictor_64x32_avx2; @@ -8645,6 +9306,9 @@ static void setup_rtcd_internal(void) { aom_dc_predictor_32x64 = aom_dc_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_predictor_32x64 = aom_dc_predictor_32x64_avx2; + aom_dc_predictor_64x16 = aom_dc_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_predictor_64x16 = aom_dc_predictor_64x16_avx2; aom_dc_predictor_64x32 = aom_dc_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_predictor_64x32 = aom_dc_predictor_64x32_avx2; @@ -8660,6 +9324,9 @@ static void setup_rtcd_internal(void) { aom_dc_top_predictor_32x64 = aom_dc_top_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_dc_top_predictor_32x64 = aom_dc_top_predictor_32x64_avx2; + aom_dc_top_predictor_64x16 = aom_dc_top_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_dc_top_predictor_64x16 = aom_dc_top_predictor_64x16_avx2; aom_dc_top_predictor_64x32 = aom_dc_top_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_dc_top_predictor_64x32 = aom_dc_top_predictor_64x32_avx2; @@ -9055,6 +9722,14 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_ssse3; if (flags & HAS_AVX2) aom_paeth_predictor_16x32 = aom_paeth_predictor_16x32_avx2; + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_16x4 = aom_paeth_predictor_16x4_ssse3; + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_ssse3; + if (flags & HAS_AVX2) + aom_paeth_predictor_16x64 = aom_paeth_predictor_16x64_avx2; aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_c; if (flags & HAS_SSSE3) aom_paeth_predictor_16x8 = aom_paeth_predictor_16x8_ssse3; @@ -9075,12 +9750,23 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_ssse3; if (flags & HAS_AVX2) aom_paeth_predictor_32x64 = aom_paeth_predictor_32x64_avx2; + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_32x8 = aom_paeth_predictor_32x8_ssse3; + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_4x16 = aom_paeth_predictor_4x16_ssse3; aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_c; if (flags & HAS_SSSE3) aom_paeth_predictor_4x4 = aom_paeth_predictor_4x4_ssse3; aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_c; if (flags & HAS_SSSE3) aom_paeth_predictor_4x8 = aom_paeth_predictor_4x8_ssse3; + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_ssse3; + if (flags & HAS_AVX2) + aom_paeth_predictor_64x16 = aom_paeth_predictor_64x16_avx2; aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_c; if (flags & HAS_SSSE3) aom_paeth_predictor_64x32 = aom_paeth_predictor_64x32_ssse3; @@ -9094,6 +9780,9 @@ static void setup_rtcd_internal(void) { aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_c; if (flags & HAS_SSSE3) aom_paeth_predictor_8x16 = aom_paeth_predictor_8x16_ssse3; + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_paeth_predictor_8x32 = aom_paeth_predictor_8x32_ssse3; aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_c; if (flags & HAS_SSSE3) aom_paeth_predictor_8x4 = aom_paeth_predictor_8x4_ssse3; @@ -9251,6 +9940,12 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_16x32 = aom_smooth_h_predictor_16x32_ssse3; + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_16x4 = aom_smooth_h_predictor_16x4_ssse3; + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_16x64 = aom_smooth_h_predictor_16x64_ssse3; aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_16x8 = aom_smooth_h_predictor_16x8_ssse3; @@ -9263,12 +9958,21 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_32x64 = aom_smooth_h_predictor_32x64_ssse3; + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_32x8 = aom_smooth_h_predictor_32x8_ssse3; + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_4x16 = aom_smooth_h_predictor_4x16_ssse3; aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_4x4 = aom_smooth_h_predictor_4x4_ssse3; aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_4x8 = aom_smooth_h_predictor_4x8_ssse3; + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_64x16 = aom_smooth_h_predictor_64x16_ssse3; aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_64x32 = aom_smooth_h_predictor_64x32_ssse3; @@ -9278,6 +9982,9 @@ static void setup_rtcd_internal(void) { aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_8x16 = aom_smooth_h_predictor_8x16_ssse3; + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_h_predictor_8x32 = aom_smooth_h_predictor_8x32_ssse3; aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_h_predictor_8x4 = aom_smooth_h_predictor_8x4_ssse3; @@ -9290,6 +9997,12 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_predictor_16x32 = aom_smooth_predictor_16x32_ssse3; + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_16x4 = aom_smooth_predictor_16x4_ssse3; + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_16x64 = aom_smooth_predictor_16x64_ssse3; aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_predictor_16x8 = aom_smooth_predictor_16x8_ssse3; @@ -9302,12 +10015,21 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_predictor_32x64 = aom_smooth_predictor_32x64_ssse3; + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_32x8 = aom_smooth_predictor_32x8_ssse3; + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_4x16 = aom_smooth_predictor_4x16_ssse3; aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_predictor_4x4 = aom_smooth_predictor_4x4_ssse3; aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_predictor_4x8 = aom_smooth_predictor_4x8_ssse3; + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_64x16 = aom_smooth_predictor_64x16_ssse3; aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_predictor_64x32 = aom_smooth_predictor_64x32_ssse3; @@ -9317,6 +10039,9 @@ static void setup_rtcd_internal(void) { aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_predictor_8x16 = aom_smooth_predictor_8x16_ssse3; + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_predictor_8x32 = aom_smooth_predictor_8x32_ssse3; aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_predictor_8x4 = aom_smooth_predictor_8x4_ssse3; @@ -9329,6 +10054,12 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_16x32 = aom_smooth_v_predictor_16x32_ssse3; + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_16x4 = aom_smooth_v_predictor_16x4_ssse3; + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_16x64 = aom_smooth_v_predictor_16x64_ssse3; aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_16x8 = aom_smooth_v_predictor_16x8_ssse3; @@ -9341,12 +10072,21 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_32x64 = aom_smooth_v_predictor_32x64_ssse3; + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_32x8 = aom_smooth_v_predictor_32x8_ssse3; + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_4x16 = aom_smooth_v_predictor_4x16_ssse3; aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_4x4 = aom_smooth_v_predictor_4x4_ssse3; aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_4x8 = aom_smooth_v_predictor_4x8_ssse3; + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_64x16 = aom_smooth_v_predictor_64x16_ssse3; aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_64x32 = aom_smooth_v_predictor_64x32_ssse3; @@ -9356,6 +10096,9 @@ static void setup_rtcd_internal(void) { aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_8x16 = aom_smooth_v_predictor_8x16_ssse3; + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_c; + if (flags & HAS_SSSE3) + aom_smooth_v_predictor_8x32 = aom_smooth_v_predictor_8x32_ssse3; aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_c; if (flags & HAS_SSSE3) aom_smooth_v_predictor_8x4 = aom_smooth_v_predictor_8x4_ssse3; @@ -9519,6 +10262,9 @@ static void setup_rtcd_internal(void) { aom_v_predictor_32x64 = aom_v_predictor_32x64_sse2; if (flags & HAS_AVX2) aom_v_predictor_32x64 = aom_v_predictor_32x64_avx2; + aom_v_predictor_64x16 = aom_v_predictor_64x16_sse2; + if (flags & HAS_AVX2) + aom_v_predictor_64x16 = aom_v_predictor_64x16_avx2; aom_v_predictor_64x32 = aom_v_predictor_64x32_sse2; if (flags & HAS_AVX2) aom_v_predictor_64x32 = aom_v_predictor_64x32_avx2; diff --git a/chromium/third_party/libaom/source/config/win/x64/config/av1_rtcd.h b/chromium/third_party/libaom/source/config/win/x64/config/av1_rtcd.h index 8d516d90bde..6d8a64d1270 100644 --- a/chromium/third_party/libaom/source/config/win/x64/config/av1_rtcd.h +++ b/chromium/third_party/libaom/source/config/win/x64/config/av1_rtcd.h @@ -242,6 +242,51 @@ void aom_upsampled_pred_sse2(MACROBLOCKD* xd, int subpel_search); #define aom_upsampled_pred aom_upsampled_pred_sse2 +void av1_apply_selfguided_restoration_c(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_sse4_1(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +void av1_apply_selfguided_restoration_avx2(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); +RTCD_EXTERN void (*av1_apply_selfguided_restoration)(const uint8_t* dat, + int width, + int height, + int stride, + int eps, + const int* xqd, + uint8_t* dst, + int dst_stride, + int32_t* tmpbuf, + int bit_depth, + int highbd); + int64_t av1_block_error_c(const tran_low_t* coeff, const tran_low_t* dqcoeff, intptr_t block_size, @@ -347,6 +392,31 @@ RTCD_EXTERN void (*av1_build_compound_diffwtd_mask_d16)( ConvolveParams* conv_params, int bd); +int64_t av1_calc_frame_error_c(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +int64_t av1_calc_frame_error_sse2(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +int64_t av1_calc_frame_error_avx2(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); +RTCD_EXTERN int64_t (*av1_calc_frame_error)(const uint8_t* const ref, + int stride, + const uint8_t* const dst, + int p_width, + int p_height, + int p_stride); + void av1_calc_indices_dim1_c(const int* data, const int* centroids, uint8_t* indices, @@ -1839,6 +1909,47 @@ void av1_round_shift_array_c(int32_t* arr, int size, int bit); void av1_round_shift_array_sse4_1(int32_t* arr, int size, int bit); RTCD_EXTERN void (*av1_round_shift_array)(int32_t* arr, int size, int bit); +int av1_selfguided_restoration_c(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_sse4_1(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +int av1_selfguided_restoration_avx2(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); +RTCD_EXTERN int (*av1_selfguided_restoration)(const uint8_t* dgd8, + int width, + int height, + int dgd_stride, + int32_t* flt0, + int32_t* flt1, + int flt_stride, + int sgr_params_idx, + int bit_depth, + int highbd); + void av1_txb_init_levels_c(const tran_low_t* const coeff, const int width, const int height, @@ -1864,6 +1975,79 @@ void av1_upsample_intra_edge_high_c(uint16_t* p, int sz, int bd); void av1_upsample_intra_edge_high_sse4_1(uint16_t* p, int sz, int bd); RTCD_EXTERN void (*av1_upsample_intra_edge_high)(uint16_t* p, int sz, int bd); +void av1_warp_affine_c(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_sse4_1(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +void av1_warp_affine_avx2(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); +RTCD_EXTERN void (*av1_warp_affine)(const int32_t* mat, + const uint8_t* ref, + int width, + int height, + int stride, + uint8_t* pred, + int p_col, + int p_row, + int p_width, + int p_height, + int p_stride, + int subsampling_x, + int subsampling_y, + ConvolveParams* conv_params, + int16_t alpha, + int16_t beta, + int16_t gamma, + int16_t delta); + void av1_wedge_compute_delta_squares_c(int16_t* d, const int16_t* a, const int16_t* b, @@ -2687,6 +2871,11 @@ static void setup_rtcd_internal(void) { if (flags & HAS_SSSE3) aom_dist_wtd_comp_avg_upsampled_pred = aom_dist_wtd_comp_avg_upsampled_pred_ssse3; + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_c; + if (flags & HAS_SSE4_1) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_sse4_1; + if (flags & HAS_AVX2) + av1_apply_selfguided_restoration = av1_apply_selfguided_restoration_avx2; av1_block_error = av1_block_error_sse2; if (flags & HAS_AVX2) av1_block_error = av1_block_error_avx2; @@ -2705,6 +2894,9 @@ static void setup_rtcd_internal(void) { if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2; + av1_calc_frame_error = av1_calc_frame_error_sse2; + if (flags & HAS_AVX2) + av1_calc_frame_error = av1_calc_frame_error_avx2; av1_calc_indices_dim1 = av1_calc_indices_dim1_sse2; if (flags & HAS_AVX2) av1_calc_indices_dim1 = av1_calc_indices_dim1_avx2; @@ -2903,6 +3095,11 @@ static void setup_rtcd_internal(void) { av1_round_shift_array = av1_round_shift_array_c; if (flags & HAS_SSE4_1) av1_round_shift_array = av1_round_shift_array_sse4_1; + av1_selfguided_restoration = av1_selfguided_restoration_c; + if (flags & HAS_SSE4_1) + av1_selfguided_restoration = av1_selfguided_restoration_sse4_1; + if (flags & HAS_AVX2) + av1_selfguided_restoration = av1_selfguided_restoration_avx2; av1_txb_init_levels = av1_txb_init_levels_c; if (flags & HAS_SSE4_1) av1_txb_init_levels = av1_txb_init_levels_sse4_1; @@ -2914,6 +3111,11 @@ static void setup_rtcd_internal(void) { av1_upsample_intra_edge_high = av1_upsample_intra_edge_high_c; if (flags & HAS_SSE4_1) av1_upsample_intra_edge_high = av1_upsample_intra_edge_high_sse4_1; + av1_warp_affine = av1_warp_affine_c; + if (flags & HAS_SSE4_1) + av1_warp_affine = av1_warp_affine_sse4_1; + if (flags & HAS_AVX2) + av1_warp_affine = av1_warp_affine_avx2; av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_sse2; if (flags & HAS_AVX2) av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_avx2; |