[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