Hello, This supersedes the previous RISC-V sets.
Patches 01-04 support scalar "extensions", including benchmarks on SiFive U74. Patches 05-06 provide vector support detection. Patches 07-26 are initial vector optimisations validated with checkasm. Detection of the vector length and optimisations dependent on the vector length (VLEN) are left out for later for the sake of (very relative) brevity. The following changes since commit 79845ce6cf4d0192ebe99bf57b3f7e9b94726667: fate/mxf: add JPEG 2000 test (2022-09-20 11:26:00 +0200) are available in the Git repository at: https://git.remlab.net/git/ffmpeg.git rv-cpu for you to fetch changes up to df310e72cd9b9756faa50d286de41cfaa0604e32: lavc/aacpsdsp: RISC-V V mul_pair_single (2022-09-20 17:32:52 +0300) ---------------------------------------------------------------- Rémi Denis-Courmont (26): lavu/cpu: detect RISC-V base extensions lavu/riscv: initial common header for assembler macros lavc/audiodsp: RISC-V F vector_clipf lavc/pixblockdsp: RISC-V I get_pixels lavu/cpu: CPU flags for the RISC-V Vector extension configure: probe RISC-V Vector extension lavu/floatdsp: RISC-V V vector_fmul_scalar lavu/floatdsp: RISC-V V vector_dmul_scalar lavu/floatdsp: RISC-V V vector_fmul lavu/floatdsp: RISC-V V vector_dmul lavu/floatdsp: RISC-V V vector_fmac_scalar lavu/floatdsp: RISC-V V vector_dmac_scalar lavu/floatdsp: RISC-V V vector_fmul_add lavu/floatdsp: RISC-V V butterflies_float lavu/floatdsp: RISC-V V vector_fmul_reversed lavu/floatdsp: RISC-V V vector_fmul_window lavu/floatdsp: RISC-V V scalarproduct_float lavu/fixeddsp: RISC-V V butterflies_fixed lavc/audiodsp: RISC-V V vector_clip_int32 lavc/audiodsp: RISC-V V vector_clipf lavc/audiodsp: RISC-V V scalarproduct_int16 lavc/fmtconvert: RISC-V V int32_to_float_fmul_scalar lavc/fmtconvert: RISC-V V int32_to_float_fmul_array8 lavc/vorbisdsp: RISC-V V inverse_coupling lavc/aacpsdsp: RISC-V V add_squares lavc/aacpsdsp: RISC-V V mul_pair_single Makefile | 2 +- configure | 15 +++ ffbuild/arch.mak | 2 + libavcodec/aacpsdsp.h | 1 + libavcodec/aacpsdsp_template.c | 2 + libavcodec/audiodsp.c | 2 + libavcodec/audiodsp.h | 1 + libavcodec/fmtconvert.c | 2 + libavcodec/fmtconvert.h | 1 + libavcodec/pixblockdsp.c | 2 + libavcodec/pixblockdsp.h | 2 + libavcodec/riscv/Makefile | 11 ++ libavcodec/riscv/aacpsdsp_init.c | 41 ++++++ libavcodec/riscv/aacpsdsp_rvv.S | 58 +++++++++ libavcodec/riscv/audiodsp_init.c | 49 +++++++ libavcodec/riscv/audiodsp_rvf.S | 49 +++++++ libavcodec/riscv/audiodsp_rvv.S | 75 +++++++++++ libavcodec/riscv/fmtconvert_init.c | 46 +++++++ libavcodec/riscv/fmtconvert_rvv.S | 69 ++++++++++ libavcodec/riscv/pixblockdsp_init.c | 45 +++++++ libavcodec/riscv/pixblockdsp_rvi.S | 59 +++++++++ libavcodec/riscv/vorbisdsp_init.c | 37 ++++++ libavcodec/riscv/vorbisdsp_rvv.S | 45 +++++++ libavcodec/vorbisdsp.c | 2 + libavcodec/vorbisdsp.h | 1 + libavutil/cpu.c | 13 ++ libavutil/cpu.h | 9 ++ libavutil/cpu_internal.h | 3 + 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 | 77 +++++++++++ libavutil/riscv/cpu.c | 110 ++++++++++++++++ libavutil/riscv/fixed_dsp_init.c | 38 ++++++ libavutil/riscv/fixed_dsp_rvv.S | 41 ++++++ libavutil/riscv/float_dsp_init.c | 72 +++++++++++ libavutil/riscv/float_dsp_rvv.S | 249 ++++++++++++++++++++++++++++++++++++ tests/checkasm/checkasm.c | 8 ++ 40 files changed, 1250 insertions(+), 2 deletions(-) create mode 100644 libavcodec/riscv/Makefile create mode 100644 libavcodec/riscv/aacpsdsp_init.c create mode 100644 libavcodec/riscv/aacpsdsp_rvv.S create mode 100644 libavcodec/riscv/audiodsp_init.c create mode 100644 libavcodec/riscv/audiodsp_rvf.S create mode 100644 libavcodec/riscv/audiodsp_rvv.S create mode 100644 libavcodec/riscv/fmtconvert_init.c create mode 100644 libavcodec/riscv/fmtconvert_rvv.S create mode 100644 libavcodec/riscv/pixblockdsp_init.c create mode 100644 libavcodec/riscv/pixblockdsp_rvi.S create mode 100644 libavcodec/riscv/vorbisdsp_init.c create mode 100644 libavcodec/riscv/vorbisdsp_rvv.S 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 -- Rémi Denis-Courmont http://www.remlab.net/ _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".