mbox

[FFmpeg-devel,PATCHv4,00/29] RISC-V CPU extensions

Message ID 12078904.O9o76ZdvQC@basile.remlab.net
State New
Headers show

Pull-request

https://git.remlab.net/git/ffmpeg.git rv-cpu

Message

Rémi Denis-Courmont Sept. 22, 2022, 6:37 p.m. UTC
Changes since v3bis:
- Added aacpsdsp analysis.

Changes since v3:
- Rebased on, and resovled conflicts with, fmtconvert clean-up.

The following changes since commit 48615f0a7861fd1c24195f74856f68e06c7ca73c:

  x86/aacpsdsp: add ps_hybrid_analysis_fma3 (2022-09-22 13:27:43 -0300)

are available in the Git repository at:

  https://git.remlab.net/git/ffmpeg.git rv-cpu

for you to fetch changes up to d863b5b5d55bbcc9c060a6eceac7653f5ea178e3:

  lavc/aacpsdsp: RISC-V V hybrid_synthesis_deint (2022-09-22 21:23:48 +0300)

----------------------------------------------------------------
Rémi Denis-Courmont (29):
      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
      lavc/aacpsdsp: RISC-V V hybrid_analysis
      lavc/aacpsdsp: RISC-V V hybrid_analysis_ileave
      lavc/aacpsdsp: RISC-V V hybrid_synthesis_deint

 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    |  53 ++++++++
 libavcodec/riscv/aacpsdsp_rvv.S     | 229 +++++++++++++++++++++++++++++++++
 libavcodec/riscv/audiodsp_init.c    |  49 +++++++
 libavcodec/riscv/audiodsp_rvf.S     |  49 +++++++
 libavcodec/riscv/audiodsp_rvv.S     |  75 +++++++++++
 libavcodec/riscv/fmtconvert_init.c  |  44 +++++++
 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, 1431 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