diff options
author | Salome Thirot <salome.thirot@arm.com> | 2023-01-20 11:42:06 +0000 |
---|---|---|
committer | Salome Thirot <salome.thirot@arm.com> | 2023-01-23 15:06:28 +0000 |
commit | 67abc6738942fff8299919e736138679d4a08016 (patch) | |
tree | e31db5057f442007d6dc93f5794cbe8e81e13f1a /video_reader.c | |
parent | b7f6c641397eb1ddac6fcaf34ec6db8fa0cbd7e7 (diff) | |
download | libvpx-67abc6738942fff8299919e736138679d4a08016.tar libvpx-67abc6738942fff8299919e736138679d4a08016.tar.gz libvpx-67abc6738942fff8299919e736138679d4a08016.tar.bz2 libvpx-67abc6738942fff8299919e736138679d4a08016.zip |
Specialize Neon averaging subpel variance by filter value
Use the same specialization for averaging subpel variance functions
as used for the non-averaging variants. The rationale for the
specialization is as follows:
The optimal implementation of the bilinear interpolation depends on
the filter values being used. For both horizontal and vertical
interpolation this can simplify to just taking the source values, or
averaging the source and reference values - which can be computed
more easily than a bilinear interpolation with arbitrary filter
values.
This patch introduces tests to find the most optimal bilinear
interpolation implementation based on the filter values being used.
This new specialization is only used for larger block sizes
This is a backport of this libaom change[1].
After this change, the only differences between the code in libvpx and
libaom are due to libvpx being compiled with ISO C90, which forbids
mixing declarations and code [-Wdeclaration-after-statement].
[1] https://aomedia-review.googlesource.com/c/aom/+/166962
Change-Id: I7860c852db94a7c9c3d72ae4411316685f3800a4
Diffstat (limited to 'video_reader.c')
0 files changed, 0 insertions, 0 deletions