diff options
author | Konstantinos Margaritis <konstantinos@vectorcamp.gr> | 2023-03-01 23:37:32 +0000 |
---|---|---|
committer | Konstantinos Margaritis <konstantinos@vectorcamp.gr> | 2023-03-14 08:22:40 +0000 |
commit | 29beea82437213bd705de4b01103ac0d88bcab72 (patch) | |
tree | 9c9bd9c8580b06b494a2c80fd0e92aa24cdc0d72 /vp9/common/vp9_rtcd_defs.pl | |
parent | d32a410880c6583d49baaac17c84b3d0fead43ba (diff) | |
download | libvpx-29beea82437213bd705de4b01103ac0d88bcab72.tar libvpx-29beea82437213bd705de4b01103ac0d88bcab72.tar.gz libvpx-29beea82437213bd705de4b01103ac0d88bcab72.tar.bz2 libvpx-29beea82437213bd705de4b01103ac0d88bcab72.zip |
[NEON] Add temporal filter functions, 8-bit and highbd
Both are around 3x faster than original C version. 8-bit gives a
small 0.5% speed increase, whereas highbd gives ~2.5%.
Change-Id: I71d75ddd2757b19aa201e879fd9fa8f3a25431ad
Diffstat (limited to 'vp9/common/vp9_rtcd_defs.pl')
-rw-r--r-- | vp9/common/vp9_rtcd_defs.pl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/vp9/common/vp9_rtcd_defs.pl b/vp9/common/vp9_rtcd_defs.pl index 2f9870dd4..d16b94711 100644 --- a/vp9/common/vp9_rtcd_defs.pl +++ b/vp9/common/vp9_rtcd_defs.pl @@ -179,11 +179,11 @@ specialize qw/vp9_diamond_search_sad avx neon/; # if (vpx_config("CONFIG_REALTIME_ONLY") ne "yes") { add_proto qw/void vp9_apply_temporal_filter/, "const uint8_t *y_src, int y_src_stride, const uint8_t *y_pre, int y_pre_stride, const uint8_t *u_src, const uint8_t *v_src, int uv_src_stride, const uint8_t *u_pre, const uint8_t *v_pre, int uv_pre_stride, unsigned int block_width, unsigned int block_height, int ss_x, int ss_y, int strength, const int *const blk_fw, int use_32x32, uint32_t *y_accumulator, uint16_t *y_count, uint32_t *u_accumulator, uint16_t *u_count, uint32_t *v_accumulator, uint16_t *v_count"; -specialize qw/vp9_apply_temporal_filter sse4_1/; +specialize qw/vp9_apply_temporal_filter sse4_1 neon/; if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { add_proto qw/void vp9_highbd_apply_temporal_filter/, "const uint16_t *y_src, int y_src_stride, const uint16_t *y_pre, int y_pre_stride, const uint16_t *u_src, const uint16_t *v_src, int uv_src_stride, const uint16_t *u_pre, const uint16_t *v_pre, int uv_pre_stride, unsigned int block_width, unsigned int block_height, int ss_x, int ss_y, int strength, const int *const blk_fw, int use_32x32, uint32_t *y_accum, uint16_t *y_count, uint32_t *u_accum, uint16_t *u_count, uint32_t *v_accum, uint16_t *v_count"; - specialize qw/vp9_highbd_apply_temporal_filter sse4_1/; + specialize qw/vp9_highbd_apply_temporal_filter sse4_1 neon/; } } |