Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 0/3] RISC-V V Opus post-filter
@ 2022-10-01 12:32 Rémi Denis-Courmont
  2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 1/3] lavc/opusdsp: RISC-V V postfilter remi
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Rémi Denis-Courmont @ 2022-10-01 12:32 UTC (permalink / raw)
  To: ffmpeg-devel

	Hello,

This adds the Opus post-filter. Opus deemphasis is not included as it (IMHO)
involves too many unknowns to write a good implementation without
benchmarking.

This post-filter implementation merely vectors the scalar product. It does
purposed not vector the memory accesses to avoid reconfiguring the vector unit
too often. It might be possible to work it out, but again, I cannot really
tell without real hardware

The following changes since commit b0c7352cd494c88d33f032be60b5e1c4e8b092a0:

  avcodec/mjpegdec: Fix compilation (2022-09-30 19:30:29 +0200)

are available in the Git repository at:

  git.remlab.net:git/ffmpeg.git rvv-vtype

for you to fetch changes up to 1aa3efa0563aaaed376a35c0e7c9fe53089c3a7e:

  lavc/opusdsp: RISC-V V (256-bit vectors) postfilter (2022-10-01 15:24:42 +0300)

----------------------------------------------------------------
Rémi Denis-Courmont (4):
      QEMU hack
      lavc/opusdsp: RISC-V V postfilter
      lavu/riscv: helper macro for VTYPE encoding
      lavc/opusdsp: RISC-V V (256-bit vectors) postfilter

 libavcodec/opusdsp.c            |  2 ++
 libavcodec/opusdsp.h            |  1 +
 libavcodec/riscv/Makefile       |  2 ++
 libavcodec/riscv/opusdsp_init.c | 49 +++++++++++++++++++++++++++
 libavcodec/riscv/opusdsp_rvv.S  | 59 ++++++++++++++++++++++++++++++++
 libavutil/riscv/asm.S           | 75 +++++++++++++++++++++++++++++++++++++++++
 libavutil/riscv/cpu.c           |  2 +-
 7 files changed, 189 insertions(+), 1 deletion(-)
 create mode 100644 libavcodec/riscv/opusdsp_init.c
 create mode 100644 libavcodec/riscv/opusdsp_rvv.S

-- 
レミ・デニ-クールモン
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-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [FFmpeg-devel] [PATCH 1/3] lavc/opusdsp: RISC-V V postfilter
  2022-10-01 12:32 [FFmpeg-devel] [PATCH 0/3] RISC-V V Opus post-filter Rémi Denis-Courmont
@ 2022-10-01 12:32 ` remi
  2022-10-04 21:46   ` Lynne
  2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 2/3] lavu/riscv: helper macro for VTYPE encoding remi
  2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 3/3] lavc/opusdsp: RISC-V V (256-bit vectors) postfilter remi
  2 siblings, 1 reply; 5+ messages in thread
From: remi @ 2022-10-01 12:32 UTC (permalink / raw)
  To: ffmpeg-devel

From: Rémi Denis-Courmont <remi@remlab.net>

This is optimised for a vector size of 128-bit. Or maybe it would be
more accurate to state that this is not properly optimised for larger
vector sizes, as they would work just fine with a smaller vector group
multiplier.
---
 libavcodec/opusdsp.c            |  2 ++
 libavcodec/opusdsp.h            |  1 +
 libavcodec/riscv/Makefile       |  2 ++
 libavcodec/riscv/opusdsp_init.c | 38 ++++++++++++++++++++++++
 libavcodec/riscv/opusdsp_rvv.S  | 51 +++++++++++++++++++++++++++++++++
 5 files changed, 94 insertions(+)
 create mode 100644 libavcodec/riscv/opusdsp_init.c
 create mode 100644 libavcodec/riscv/opusdsp_rvv.S

diff --git a/libavcodec/opusdsp.c b/libavcodec/opusdsp.c
index badcfcc884..0764d712e4 100644
--- a/libavcodec/opusdsp.c
+++ b/libavcodec/opusdsp.c
@@ -58,6 +58,8 @@ av_cold void ff_opus_dsp_init(OpusDSP *ctx)
 
 #if ARCH_AARCH64
     ff_opus_dsp_init_aarch64(ctx);
+#elif ARCH_RISCV
+    ff_opus_dsp_init_riscv(ctx);
 #elif ARCH_X86
     ff_opus_dsp_init_x86(ctx);
 #endif
diff --git a/libavcodec/opusdsp.h b/libavcodec/opusdsp.h
index 3ea3d14bf0..c2a301e832 100644
--- a/libavcodec/opusdsp.h
+++ b/libavcodec/opusdsp.h
@@ -30,5 +30,6 @@ void ff_opus_dsp_init(OpusDSP *ctx);
 
 void ff_opus_dsp_init_x86(OpusDSP *ctx);
 void ff_opus_dsp_init_aarch64(OpusDSP *ctx);
+void ff_opus_dsp_init_riscv(OpusDSP *ctx);
 
 #endif /* AVCODEC_OPUSDSP_H */
diff --git a/libavcodec/riscv/Makefile b/libavcodec/riscv/Makefile
index 0fb2c81c75..1edfa76ea5 100644
--- a/libavcodec/riscv/Makefile
+++ b/libavcodec/riscv/Makefile
@@ -7,6 +7,8 @@ OBJS-$(CONFIG_FMTCONVERT) += riscv/fmtconvert_init.o
 RVV-OBJS-$(CONFIG_FMTCONVERT) += riscv/fmtconvert_rvv.o
 OBJS-$(CONFIG_IDCTDSP) += riscv/idctdsp_init.o
 RVV-OBJS-$(CONFIG_IDCTDSP) += riscv/idctdsp_rvv.o
+OBJS-$(CONFIG_OPUS_DECODER) += riscv/opusdsp_init.o
+RVV-OBJS-$(CONFIG_OPUS_DECODER) += riscv/opusdsp_rvv.o
 OBJS-$(CONFIG_PIXBLOCKDSP) += riscv/pixblockdsp_init.o \
                               riscv/pixblockdsp_rvi.o
 RVV-OBJS-$(CONFIG_PIXBLOCKDSP) += riscv/pixblockdsp_rvv.o
diff --git a/libavcodec/riscv/opusdsp_init.c b/libavcodec/riscv/opusdsp_init.c
new file mode 100644
index 0000000000..18d3892329
--- /dev/null
+++ b/libavcodec/riscv/opusdsp_init.c
@@ -0,0 +1,38 @@
+/*
+ * Copyright © 2022 Rémi Denis-Courmont.
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "libavutil/attributes.h"
+#include "libavutil/cpu.h"
+#include "libavutil/riscv/cpu.h"
+#include "libavcodec/opusdsp.h"
+
+void ff_opus_postfilter_rvv(float *data, int period, float *gains, int len);
+
+av_cold void ff_opus_dsp_init_riscv(OpusDSP *d)
+{
+#if HAVE_RVV
+    int flags = av_get_cpu_flags();
+
+    if ((flags & AV_CPU_FLAG_RVV_I32) && ff_get_rv_vlenb() >= 16)
+        d->postfilter = ff_opus_postfilter_rvv;
+#endif
+}
diff --git a/libavcodec/riscv/opusdsp_rvv.S b/libavcodec/riscv/opusdsp_rvv.S
new file mode 100644
index 0000000000..f42a9c36c5
--- /dev/null
+++ b/libavcodec/riscv/opusdsp_rvv.S
@@ -0,0 +1,51 @@
+/*
+ * Copyright © 2022 Rémi Denis-Courmont.
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+#include "libavutil/riscv/asm.S"
+
+func ff_opus_postfilter_rvv, zve32f
+        addi         a1, a1, 2
+        slli         a1, a1, 2
+        sh2add       a3, a3, a0
+        sub          t0, a0, a1
+        vsetivli     zero, 3, e32, m2, ta, ma
+        vle32.v      v24, (a2)
+        lw           t1, 4(a2)
+        vsetivli     zero, 5, e32, m2, ta, ma
+        vslide1up.vx v8, v24, t1
+        lw           t2, 8(a2)
+        vle32.v      v16, (t0)
+        vslide1up.vx v24, v8, t2
+2:
+        lw             t1, (a0)
+        vfmul.vv       v8, v24, v16
+        addi           a0, a0, 4
+        vmv.s.x        v0, t1
+        lw             t2, 20(t0)
+        vfredusum.vs   v0, v8, v0
+        addi           t0, t0, 4
+        vslide1down.vx v16, v16, t2
+        vmv.x.s        t1, v0
+        sw             t1, -4(a0)
+        bne            a0, a3, 2b
+
+        ret
+endfunc
-- 
2.37.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [FFmpeg-devel] [PATCH 2/3] lavu/riscv: helper macro for VTYPE encoding
  2022-10-01 12:32 [FFmpeg-devel] [PATCH 0/3] RISC-V V Opus post-filter Rémi Denis-Courmont
  2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 1/3] lavc/opusdsp: RISC-V V postfilter remi
@ 2022-10-01 12:32 ` remi
  2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 3/3] lavc/opusdsp: RISC-V V (256-bit vectors) postfilter remi
  2 siblings, 0 replies; 5+ messages in thread
From: remi @ 2022-10-01 12:32 UTC (permalink / raw)
  To: ffmpeg-devel

From: Rémi Denis-Courmont <remi@remlab.net>

On most cases, the vector type (VTYPE) for the RISC-V Vector extension
is supplied as an immediate value, with either of the VSETVLI or
VSETIVLI instructions. There is however a third instruction VSETVL
which takes the vector type from a general purpose register. That is so
the type can be selected at run-time.

This introduces a macro to load a (valid) vector type into a register.
The syntax follows that of VSETVLI and VSETIVLI, with element size,
group multiplier, then tail and mask policies.
---
 libavutil/riscv/asm.S | 75 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/libavutil/riscv/asm.S b/libavutil/riscv/asm.S
index de5e1ad0a6..f8c9f6749b 100644
--- a/libavutil/riscv/asm.S
+++ b/libavutil/riscv/asm.S
@@ -94,3 +94,78 @@
         shnadd  3, \rd, \rs1, \rs2
         .endm
 #endif
+
+        /* Convenience macro to load a Vector type (vtype) as immediate */
+        .macro  lvtypei rd, e, m=m1, tp=tu, mp=mu
+
+        .ifc \e,e8
+        .equ ei, 0
+        .else
+        .ifc \e,e16
+        .equ ei, 8
+        .else
+        .ifc \e,e32
+        .equ ei, 16
+        .else
+        .ifc \e,e64
+        .equ ei, 24
+        .else
+        .error "Unknown element type"
+        .endif
+        .endif
+        .endif
+        .endif
+
+        .ifc \m,m1
+        .equ mi, 0
+        .else
+        .ifc \m,m2
+        .equ mi, 1
+        .else
+        .ifc \m,m4
+        .equ mi, 2
+        .else
+        .ifc \m,m8
+        .equ mi, 3
+        .else
+        .ifc \m,mf8
+        .equ mi, 5
+        .else
+        .ifc \m,mf4
+        .equ mi, 6
+        .else
+        .ifc \m,mf2
+        .equ mi, 7
+        .else
+        .error "Unknown multiplier"
+        .equ mi, 3
+        .endif
+        .endif
+        .endif
+        .endif
+        .endif
+        .endif
+        .endif
+
+        .ifc \tp,tu
+        .equ tpi, 0
+        .else
+        .ifc \tp,ta
+        .equ tpi, 64
+        .else
+        .error "Unknown tail policy"
+        .endif
+        .endif
+
+        .ifc \mp,mu
+        .equ mpi, 0
+        .else
+        .ifc \mp,ma
+        .equ mpi, 128
+        .else
+        .error "Unknown mask policy"
+        .endif
+        .endif
+
+        li      \rd, (ei | mi | tpi | mpi)
+        .endm
-- 
2.37.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [FFmpeg-devel] [PATCH 3/3] lavc/opusdsp: RISC-V V (256-bit vectors) postfilter
  2022-10-01 12:32 [FFmpeg-devel] [PATCH 0/3] RISC-V V Opus post-filter Rémi Denis-Courmont
  2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 1/3] lavc/opusdsp: RISC-V V postfilter remi
  2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 2/3] lavu/riscv: helper macro for VTYPE encoding remi
@ 2022-10-01 12:32 ` remi
  2 siblings, 0 replies; 5+ messages in thread
From: remi @ 2022-10-01 12:32 UTC (permalink / raw)
  To: ffmpeg-devel

From: Rémi Denis-Courmont <remi@remlab.net>

This adds a variant of the postfilter for use with 256-bit vectors (or
larger). Since the function requires 160-bit logical vectors, we can
cut the group multiplier down to just one.

The different vector type is passed via register. Unfortunately,
there is no VSETIVL instruction, so the constant vector size (5) also
needs to be passed via a register.
---
 libavcodec/riscv/opusdsp_init.c | 17 ++++++++++++++---
 libavcodec/riscv/opusdsp_rvv.S  | 10 +++++++++-
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/libavcodec/riscv/opusdsp_init.c b/libavcodec/riscv/opusdsp_init.c
index 18d3892329..433b71e710 100644
--- a/libavcodec/riscv/opusdsp_init.c
+++ b/libavcodec/riscv/opusdsp_init.c
@@ -25,14 +25,25 @@
 #include "libavutil/riscv/cpu.h"
 #include "libavcodec/opusdsp.h"
 
-void ff_opus_postfilter_rvv(float *data, int period, float *gains, int len);
+void ff_opus_postfilter_rvv_32(float *data, int period, float *gains, int len);
+void ff_opus_postfilter_rvv_16(float *data, int period, float *gains, int len);
 
 av_cold void ff_opus_dsp_init_riscv(OpusDSP *d)
 {
 #if HAVE_RVV
     int flags = av_get_cpu_flags();
 
-    if ((flags & AV_CPU_FLAG_RVV_I32) && ff_get_rv_vlenb() >= 16)
-        d->postfilter = ff_opus_postfilter_rvv;
+    if (flags & AV_CPU_FLAG_RVV_I32)
+        switch (ff_get_rv_vlenb()) {
+            default:
+                d->postfilter = ff_opus_postfilter_rvv_32;
+                break;
+            case 16:
+                d->postfilter = ff_opus_postfilter_rvv_16;
+                break;
+            case 8:
+            case 4:
+                break;
+        }
 #endif
 }
diff --git a/libavcodec/riscv/opusdsp_rvv.S b/libavcodec/riscv/opusdsp_rvv.S
index f42a9c36c5..cfe332227e 100644
--- a/libavcodec/riscv/opusdsp_rvv.S
+++ b/libavcodec/riscv/opusdsp_rvv.S
@@ -21,7 +21,15 @@
 #include "config.h"
 #include "libavutil/riscv/asm.S"
 
-func ff_opus_postfilter_rvv, zve32f
+func ff_opus_postfilter_rvv_16, zve32f
+        lvtypei a5, e32, m2, ta, ma
+        j       1f
+endfunc
+
+func ff_opus_postfilter_rvv_32, zve32f
+        lvtypei a5, e32, m1, ta, ma
+1:
+        li           a4, 5
         addi         a1, a1, 2
         slli         a1, a1, 2
         sh2add       a3, a3, a0
-- 
2.37.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/3] lavc/opusdsp: RISC-V V postfilter
  2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 1/3] lavc/opusdsp: RISC-V V postfilter remi
@ 2022-10-04 21:46   ` Lynne
  0 siblings, 0 replies; 5+ messages in thread
From: Lynne @ 2022-10-04 21:46 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Oct 1, 2022, 14:32 by remi@remlab.net:

> From: Rémi Denis-Courmont <remi@remlab.net>
>
> This is optimised for a vector size of 128-bit. Or maybe it would be
> more accurate to state that this is not properly optimised for larger
> vector sizes, as they would work just fine with a smaller vector group
> multiplier.
> ---
>  libavcodec/opusdsp.c            |  2 ++
>  libavcodec/opusdsp.h            |  1 +
>  libavcodec/riscv/Makefile       |  2 ++
>  libavcodec/riscv/opusdsp_init.c | 38 ++++++++++++++++++++++++
>  libavcodec/riscv/opusdsp_rvv.S  | 51 +++++++++++++++++++++++++++++++++
>  5 files changed, 94 insertions(+)
>  create mode 100644 libavcodec/riscv/opusdsp_init.c
>  create mode 100644 libavcodec/riscv/opusdsp_rvv.S
>
> diff --git a/libavcodec/opusdsp.c b/libavcodec/opusdsp.c
> index badcfcc884..0764d712e4 100644
> --- a/libavcodec/opusdsp.c
> +++ b/libavcodec/opusdsp.c
> @@ -58,6 +58,8 @@ av_cold void ff_opus_dsp_init(OpusDSP *ctx)
>  
>  #if ARCH_AARCH64
>  ff_opus_dsp_init_aarch64(ctx);
> +#elif ARCH_RISCV
> +    ff_opus_dsp_init_riscv(ctx);
>  #elif ARCH_X86
>  ff_opus_dsp_init_x86(ctx);
>  #endif
> diff --git a/libavcodec/opusdsp.h b/libavcodec/opusdsp.h
> index 3ea3d14bf0..c2a301e832 100644
> --- a/libavcodec/opusdsp.h
> +++ b/libavcodec/opusdsp.h
> @@ -30,5 +30,6 @@ void ff_opus_dsp_init(OpusDSP *ctx);
>  
>  void ff_opus_dsp_init_x86(OpusDSP *ctx);
>  void ff_opus_dsp_init_aarch64(OpusDSP *ctx);
> +void ff_opus_dsp_init_riscv(OpusDSP *ctx);
>  
>  #endif /* AVCODEC_OPUSDSP_H */
> diff --git a/libavcodec/riscv/Makefile b/libavcodec/riscv/Makefile
> index 0fb2c81c75..1edfa76ea5 100644
> --- a/libavcodec/riscv/Makefile
> +++ b/libavcodec/riscv/Makefile
> @@ -7,6 +7,8 @@ OBJS-$(CONFIG_FMTCONVERT) += riscv/fmtconvert_init.o
>  RVV-OBJS-$(CONFIG_FMTCONVERT) += riscv/fmtconvert_rvv.o
>  OBJS-$(CONFIG_IDCTDSP) += riscv/idctdsp_init.o
>  RVV-OBJS-$(CONFIG_IDCTDSP) += riscv/idctdsp_rvv.o
> +OBJS-$(CONFIG_OPUS_DECODER) += riscv/opusdsp_init.o
> +RVV-OBJS-$(CONFIG_OPUS_DECODER) += riscv/opusdsp_rvv.o
>  OBJS-$(CONFIG_PIXBLOCKDSP) += riscv/pixblockdsp_init.o \
>  riscv/pixblockdsp_rvi.o
>  RVV-OBJS-$(CONFIG_PIXBLOCKDSP) += riscv/pixblockdsp_rvv.o
> diff --git a/libavcodec/riscv/opusdsp_init.c b/libavcodec/riscv/opusdsp_init.c
> new file mode 100644
> index 0000000000..18d3892329
> --- /dev/null
> +++ b/libavcodec/riscv/opusdsp_init.c
> @@ -0,0 +1,38 @@
> +/*
> + * Copyright © 2022 Rémi Denis-Courmont.
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with FFmpeg; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> + */
> +
> +#include "config.h"
> +
> +#include "libavutil/attributes.h"
> +#include "libavutil/cpu.h"
> +#include "libavutil/riscv/cpu.h"
> +#include "libavcodec/opusdsp.h"
> +
> +void ff_opus_postfilter_rvv(float *data, int period, float *gains, int len);
> +
> +av_cold void ff_opus_dsp_init_riscv(OpusDSP *d)
> +{
> +#if HAVE_RVV
> +    int flags = av_get_cpu_flags();
> +
> +    if ((flags & AV_CPU_FLAG_RVV_I32) && ff_get_rv_vlenb() >= 16)
> +        d->postfilter = ff_opus_postfilter_rvv;
> +#endif
>

Function doesn't use RVV_I32 but zve32f.

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-10-04 21:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-01 12:32 [FFmpeg-devel] [PATCH 0/3] RISC-V V Opus post-filter Rémi Denis-Courmont
2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 1/3] lavc/opusdsp: RISC-V V postfilter remi
2022-10-04 21:46   ` Lynne
2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 2/3] lavu/riscv: helper macro for VTYPE encoding remi
2022-10-01 12:32 ` [FFmpeg-devel] [PATCH 3/3] lavc/opusdsp: RISC-V V (256-bit vectors) postfilter remi

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git