[FFmpeg-devel] [PATCH 09/31] lavu/floatdsp: RISC-V V vector_dmul_scalar
Rémi Denis-Courmont
remi at remlab.net
Mon Sep 26 12:42:57 EEST 2022
Le 26 septembre 2022 09:53:19 GMT+03:00, Lynne <dev at lynne.ee> a écrit :
>Sep 25, 2022, 16:25 by remi at remlab.net:
>
>> From: Rémi Denis-Courmont <remi at remlab.net>
>>
>> ---
>> libavutil/riscv/float_dsp_init.c | 9 ++++++++-
>> libavutil/riscv/float_dsp_rvv.S | 17 +++++++++++++++++
>> 2 files changed, 25 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavutil/riscv/float_dsp_init.c b/libavutil/riscv/float_dsp_init.c
>> index de567c50d2..b829c0f736 100644
>> --- a/libavutil/riscv/float_dsp_init.c
>> +++ b/libavutil/riscv/float_dsp_init.c
>> @@ -28,12 +28,19 @@
>> void ff_vector_fmul_scalar_rvv(float *dst, const float *src, float mul,
>> int len);
>>
>> +void ff_vector_dmul_scalar_rvv(double *dst, const double *src, double mul,
>> + int len);
>> +
>> av_cold void ff_float_dsp_init_riscv(AVFloatDSPContext *fdsp)
>> {
>> #if HAVE_RVV
>> int flags = av_get_cpu_flags();
>>
>> - if (flags & AV_CPU_FLAG_RV_ZVE32F)
>> + if (flags & AV_CPU_FLAG_RV_ZVE32F) {
>> fdsp->vector_fmul_scalar = ff_vector_fmul_scalar_rvv;
>> +
>> + if (flags & AV_CPU_FLAG_RV_ZVE64D)
>> + fdsp->vector_dmul_scalar = ff_vector_dmul_scalar_rvv;
>> + }
>>
>
>You don't need to put doubles in the same branch as floats,
>it's just extra indentation as one implies the other anyway.
Well, the idea was to skip an useless check if Zve32f is unsupported. As this is a cold path, I don't really mind either way though.
Note the same construct is used elsewhere. On top of my head, audiodsp and aacpsdsp.
Thanks for the review.
More information about the ffmpeg-devel
mailing list