[FFmpeg-devel] [PATCHv5 0/18] RISC-V cycle counters, Zbb & initial V extension support
Rémi Denis-Courmont
remi at remlab.net
Mon Sep 12 18:53:52 EEST 2022
The following changes since commit 3ce6fa6b6d099dcad43bb0178334441ab72df4cc:
avformat: add bonk demuxer (2022-09-12 11:35:43 +0200)
are available in the Git repository at:
git.remlab.net:git/ffmpeg.git rvv
for you to fetch changes up to ceb5ead12aba107292a09a342570f6fd12c9951d:
lavu/riscv: fixed vector sum-and-difference with RVV (2022-09-12 17:57:07
+0300)
Change since v4:
- Marked RVV makefile variablers as directory-specific to pave the way
for optimisations elsewhere than libavutil.
----------------------------------------------------------------
Rémi Denis-Courmont (18):
doc: reference the RISC-V specification
lavu/riscv: AV_READ_TIME cycle counter
configure/riscv: detect fast CLZ
lavu/riscv: byte-swap operations
lavu/riscv: add <intmath.h> optimisations
configure: probe RISC-V Vector extension
lavu/riscv: initial common header for assembler macros
lavu/riscv: add CPU flags for the RISC-V Vector extension
checkasm: register the RISC-V V subsets
lavu/riscv: float vector-scalar multiplication with RVV
lavu/riscv: float vector-vector multiplication with RVV
lavu/riscv: float vector multiply-accumulate with RVV
lavu/riscv: float vector multiplication-addition with RVV
lavu/riscv: float vector sum-and-difference with RVV
lavu/riscv: float reversed vector multiplication with RVV
lavu/riscv: float vector windowed overlap/add with RVV
lavu/riscv: float vector dot product with RVV
lavu/riscv: fixed vector sum-and-difference with RVV
Makefile | 2 +-
configure | 21 ++++
doc/optimization.txt | 5 +
ffbuild/arch.mak | 2 +
libavutil/bswap.h | 2 +
libavutil/cpu.c | 15 +++
libavutil/cpu.h | 6 +
libavutil/cpu_internal.h | 1 +
libavutil/fixed_dsp.c | 4 +-
libavutil/fixed_dsp.h | 1 +
libavutil/float_dsp.c | 2 +
libavutil/float_dsp.h | 1 +
libavutil/intmath.h | 5 +-
libavutil/riscv/Makefile | 5 +
libavutil/riscv/asm.S | 74 ++++++++++++
libavutil/riscv/bswap.h | 74 ++++++++++++
libavutil/riscv/cpu.c | 57 +++++++++
libavutil/riscv/fixed_dsp_init.c | 36 ++++++
libavutil/riscv/fixed_dsp_rvv.S | 38 ++++++
libavutil/riscv/float_dsp_init.c | 70 +++++++++++
libavutil/riscv/float_dsp_rvv.S | 243 +++++++++++++++++++++++++++++++++++++++
libavutil/riscv/intmath.h | 103 +++++++++++++++++
libavutil/riscv/timer.h | 53 +++++++++
libavutil/timer.h | 2 +
tests/checkasm/checkasm.c | 5 +
25 files changed, 823 insertions(+), 4 deletions(-)
create mode 100644 libavutil/riscv/Makefile
create mode 100644 libavutil/riscv/asm.S
create mode 100644 libavutil/riscv/bswap.h
create mode 100644 libavutil/riscv/cpu.c
create mode 100644 libavutil/riscv/fixed_dsp_init.c
create mode 100644 libavutil/riscv/fixed_dsp_rvv.S
create mode 100644 libavutil/riscv/float_dsp_init.c
create mode 100644 libavutil/riscv/float_dsp_rvv.S
create mode 100644 libavutil/riscv/intmath.h
create mode 100644 libavutil/riscv/timer.h
--
雷米‧德尼-库尔蒙
http://www.remlab.net/
More information about the ffmpeg-devel
mailing list