[FFmpeg-devel] [PATCHv3 0/12] RISC-V Vector functions for lavu float&fixed DSP
Rémi Denis-Courmont
remi at remlab.net
Tue Sep 6 21:43:20 EEST 2022
The following changes since commit d9e3cb7e73c77ccddc4d29ed5c1be3920f72c226:
avfilter/vf_scale: overwrite the width and height expressions with the
original values (2022-09-06 10:10:42 -0300)
are available in the Git repository at:
git.remlab.net:git/ffmpeg.git rvv
for you to fetch changes up to:
lavu/riscv: fixed vector sum-and-difference with RVV (2022-09-06 21:30:28
+0300)
Changes since v2:
- Add fixed butterflies (the only fixed point DSP function if !USE_FIXED).
- Clean up CPU flags definition.
- Move ISA extension selection to function macro.
- Add const macro (currently unused).
- Add checkasm support.
- Use ARM-like macros for FP ABIs.
This patchset is orthogonal to the RISC-V scalar patchset. They can be merged
in any order.
----------------------------------------------------------------
Rémi Denis-Courmont (12):
lavu/riscv: add CPU flags for the RISC-V Vector extension
checkasm: register the RISC-V V subsets
lavu/riscv: initial common header for assembler macros
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
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/riscv/Makefile | 5 +
libavutil/riscv/asm.S | 58 ++++++++++
libavutil/riscv/cpu.c | 57 +++++++++
libavutil/riscv/fixed_dsp_init.c | 33 ++++++
libavutil/riscv/fixed_dsp_rvv.S | 38 ++++++
libavutil/riscv/float_dsp_init.c | 67 +++++++++++
libavutil/riscv/float_dsp_rvv.S | 243 +++++++++++++++++++++++++++++++++++++++
tests/checkasm/checkasm.c | 5 +
15 files changed, 535 insertions(+), 1 deletion(-)
create mode 100644 libavutil/riscv/Makefile
create mode 100644 libavutil/riscv/asm.S
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
--
雷米‧德尼-库尔蒙
http://www.remlab.net/
More information about the ffmpeg-devel
mailing list