diff options
author | RĂ©mi Denis-Courmont <remi@remlab.net> | 2022-09-20 20:42:13 +0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2022-09-22 13:27:43 -0300 |
commit | 08edacc248bce3f8946d75e97188d189c74a6de6 (patch) | |
tree | aa401517247543a9ad6f31117e393ffd568dc0d0 /libavcodec/ulti_cb.h | |
parent | db73ae0dc114aa6fae08e69f977944f056a24995 (diff) | |
download | ffmpeg-08edacc248bce3f8946d75e97188d189c74a6de6.tar.gz |
lavc/aacpsdsp: precompute constant factors
The input complex factors are constant for each iterations. This
substitudes 4 loads, 2 additions and 2 subtractions per iteration of
the inner-loop with another 4 loads. Thus effectively 4 arithmetic
operations per iteration of the inner loop are avoided, i.e. 24
operations per iteration of the outer loop, or 24 * (n - 1) operations
in total.
If the inner loop is not unrolled by the compiler, this also might
also save some pointer arithmetic as most instruction sets do not
have addressing modes with negated register offsets (12 - j). Unless
the compiler is optimising for code size, this is unlikely though.
Diffstat (limited to 'libavcodec/ulti_cb.h')
0 files changed, 0 insertions, 0 deletions