summaryrefslogtreecommitdiff
path: root/vp9/common
diff options
context:
space:
mode:
authorSalome Thirot <salome.thirot@arm.com>2023-03-01 10:06:01 +0000
committerSalome Thirot <salome.thirot@arm.com>2023-03-07 11:29:31 +0000
commit5ae84ea5ae548314cfef982c95a4c9dbdfa79f6c (patch)
tree4c75984fc8d6e42b70d41e75f049a2dd8b93b2fe /vp9/common
parentd94e16404a08f3a67aa570d6b8c107ae47e158b5 (diff)
downloadlibvpx-5ae84ea5ae548314cfef982c95a4c9dbdfa79f6c.tar
libvpx-5ae84ea5ae548314cfef982c95a4c9dbdfa79f6c.tar.gz
libvpx-5ae84ea5ae548314cfef982c95a4c9dbdfa79f6c.tar.bz2
libvpx-5ae84ea5ae548314cfef982c95a4c9dbdfa79f6c.zip
Optimize vp9_block_error_fp_neon
Currently vp9_block_error_fp_neon is only used when CONFIG_VP9_HIGHBITDEPTH is set to false. This patch optimizes the implementation and uses tran_low_t instead of int16_t so that the function can also be used in builds where vp9_highbitdepth is enabled. Change-Id: Ibab7ec5f74b7652fa2ae5edf328f9ec587088fd3
Diffstat (limited to 'vp9/common')
-rw-r--r--vp9/common/vp9_rtcd_defs.pl5
1 files changed, 1 insertions, 4 deletions
diff --git a/vp9/common/vp9_rtcd_defs.pl b/vp9/common/vp9_rtcd_defs.pl
index 20a482c85..c939411a3 100644
--- a/vp9/common/vp9_rtcd_defs.pl
+++ b/vp9/common/vp9_rtcd_defs.pl
@@ -127,6 +127,7 @@ if (vpx_config("CONFIG_VP9_TEMPORAL_DENOISING") eq "yes") {
add_proto qw/int64_t vp9_block_error/, "const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz";
add_proto qw/int64_t vp9_block_error_fp/, "const tran_low_t *coeff, const tran_low_t *dqcoeff, int block_size";
+specialize qw/vp9_block_error_fp neon avx2 sse2/;
add_proto qw/void vp9_quantize_fp/, "const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *round_ptr, const int16_t *quant_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan";
specialize qw/vp9_quantize_fp neon sse2 ssse3 avx2 vsx/;
@@ -137,14 +138,10 @@ specialize qw/vp9_quantize_fp_32x32 neon ssse3 avx2 vsx/;
if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") {
specialize qw/vp9_block_error avx2 sse2/;
- specialize qw/vp9_block_error_fp avx2 sse2/;
-
add_proto qw/int64_t vp9_highbd_block_error/, "const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz, int bd";
specialize qw/vp9_highbd_block_error sse2/;
} else {
specialize qw/vp9_block_error avx2 msa sse2/;
-
- specialize qw/vp9_block_error_fp neon avx2 sse2/;
}
# fdct functions