aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/riscv/audiodsp_init.c
diff options
context:
space:
mode:
authorRémi Denis-Courmont <remi@remlab.net>2023-07-16 15:08:08 +0300
committerRémi Denis-Courmont <remi@remlab.net>2023-07-19 19:29:35 +0300
commitb6585eb04c0f63f231ed16266c6ad893522dc750 (patch)
treebc10e79af8332dd8c925a5fafa5546450c3e3b88 /libavcodec/riscv/audiodsp_init.c
parent98e4dd39c5d59d62f61f48f6e4a0192f6b46e5aa (diff)
downloadffmpeg-b6585eb04c0f63f231ed16266c6ad893522dc750.tar.gz
lavu: add/use flag for RISC-V Zba extension
The code was blindly assuming that Zbb or V implied Zba. While the earlier is practically always true, the later broke some QEMU setups, as V was introduced earlier than Zba.
Diffstat (limited to 'libavcodec/riscv/audiodsp_init.c')
-rw-r--r--libavcodec/riscv/audiodsp_init.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libavcodec/riscv/audiodsp_init.c b/libavcodec/riscv/audiodsp_init.c
index 32c3c6794d..9ab59c011e 100644
--- a/libavcodec/riscv/audiodsp_init.c
+++ b/libavcodec/riscv/audiodsp_init.c
@@ -38,11 +38,13 @@ av_cold void ff_audiodsp_init_riscv(AudioDSPContext *c)
if (flags & AV_CPU_FLAG_RVF)
c->vector_clipf = ff_vector_clipf_rvf;
#if HAVE_RVV
- if (flags & AV_CPU_FLAG_RVV_I32) {
- c->scalarproduct_int16 = ff_scalarproduct_int16_rvv;
- c->vector_clip_int32 = ff_vector_clip_int32_rvv;
+ if (flags & AV_CPU_FLAG_RVB_ADDR) {
+ if (flags & AV_CPU_FLAG_RVV_I32) {
+ c->scalarproduct_int16 = ff_scalarproduct_int16_rvv;
+ c->vector_clip_int32 = ff_vector_clip_int32_rvv;
+ }
+ if (flags & AV_CPU_FLAG_RVV_F32)
+ c->vector_clipf = ff_vector_clipf_rvv;
}
- if (flags & AV_CPU_FLAG_RVV_F32)
- c->vector_clipf = ff_vector_clipf_rvv;
#endif
}