diff options
author | Rémi Denis-Courmont <remi@remlab.net> | 2024-05-30 22:04:10 +0300 |
---|---|---|
committer | Rémi Denis-Courmont <remi@remlab.net> | 2024-06-11 20:12:37 +0300 |
commit | 324899b7483529c336f399022c63721df14663ef (patch) | |
tree | 61d2276a93bba8ca88c39ef9e3228eecae3bcb9d /libavutil/hwcontext_vulkan.c | |
parent | 378d1b06c350e09ac604566130b39126fd858478 (diff) | |
download | ffmpeg-324899b7483529c336f399022c63721df14663ef.tar.gz |
lavu/riscv: use Zbb REV8 at run-time
This adds runtime support to use Zbb REV8 for 32- and 64-bit byte-wise
swaps. The result is about five times slower than if targetting Zbb
statically, but still a lot faster than the default bespoke C code or a
call to GCC run-time functions.
For 16-bit swap, this is however unsurprisingly a lot worse, and so this
sticks to the baseline. In fact, even using REV8 statically does not
seem to be beneficial in that case.
Zbb static Zbb dynamic I baseline
bswap16: 0.668184765 3.340764069 0.668029012
bswap32: 0.668174014 3.340763319 9.353855435
bswap64: 0.668221765 3.340496313 14.698672283
(seconds for 1 billion iterations on a SiFive-U74 core)
Diffstat (limited to 'libavutil/hwcontext_vulkan.c')
0 files changed, 0 insertions, 0 deletions