diff options
author | Rémi Denis-Courmont <remi@remlab.net> | 2023-07-16 15:08:08 +0300 |
---|---|---|
committer | Rémi Denis-Courmont <remi@remlab.net> | 2023-07-19 19:29:35 +0300 |
commit | b6585eb04c0f63f231ed16266c6ad893522dc750 (patch) | |
tree | bc10e79af8332dd8c925a5fafa5546450c3e3b88 /libavcodec/riscv/audiodsp_init.c | |
parent | 98e4dd39c5d59d62f61f48f6e4a0192f6b46e5aa (diff) | |
download | ffmpeg-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.c | 12 |
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 } |