diff mbox series

[FFmpeg-devel] lavc/sbrdsp: fix inverted boundary check

Message ID 20240525175244.92412-1-remi@remlab.net
State Accepted
Commit 0b2316e37fca8b1c32eb1236d9ea572f2d4ed39b
Headers show
Series [FFmpeg-devel] lavc/sbrdsp: fix inverted boundary check | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Rémi Denis-Courmont May 25, 2024, 5:52 p.m. UTC
128-it is the maximum, not the minimum here. Larger vector sizes can
result in reads past the end of the noise value table.

This partially reverts commit cdcb4b98b7f74d87a6274899ff70724795d551cb.
---
 libavcodec/riscv/sbrdsp_init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rémi Denis-Courmont May 25, 2024, 5:53 p.m. UTC | #1
Le lauantaina 25. toukokuuta 2024, 20.52.44 EEST Rémi Denis-Courmont a écrit :
> 128-it is the maximum, not the minimum here. Larger vector sizes can
> result in reads past the end of the noise value table.

Nit: bit

> 
> This partially reverts commit cdcb4b98b7f74d87a6274899ff70724795d551cb.
> ---
>  libavcodec/riscv/sbrdsp_init.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/riscv/sbrdsp_init.c b/libavcodec/riscv/sbrdsp_init.c
> index d3bafa961e..6c17b12ae0 100644
> --- a/libavcodec/riscv/sbrdsp_init.c
> +++ b/libavcodec/riscv/sbrdsp_init.c
> @@ -52,7 +52,7 @@ av_cold void ff_sbrdsp_init_riscv(SBRDSPContext *c)
>              c->sum_square = ff_sbr_sum_square_rvv;
>              c->hf_gen = ff_sbr_hf_gen_rvv;
>              c->hf_g_filt = ff_sbr_hf_g_filt_rvv;
> -            if (ff_rv_vlen_least(128)) {
> +            if (ff_get_rv_vlenb() <= 16) {
>                  c->hf_apply_noise[0] = ff_sbr_hf_apply_noise_0_rvv;
>                  c->hf_apply_noise[2] = ff_sbr_hf_apply_noise_2_rvv;
>                  if (flags & AV_CPU_FLAG_RVB_BASIC) {
diff mbox series

Patch

diff --git a/libavcodec/riscv/sbrdsp_init.c b/libavcodec/riscv/sbrdsp_init.c
index d3bafa961e..6c17b12ae0 100644
--- a/libavcodec/riscv/sbrdsp_init.c
+++ b/libavcodec/riscv/sbrdsp_init.c
@@ -52,7 +52,7 @@  av_cold void ff_sbrdsp_init_riscv(SBRDSPContext *c)
             c->sum_square = ff_sbr_sum_square_rvv;
             c->hf_gen = ff_sbr_hf_gen_rvv;
             c->hf_g_filt = ff_sbr_hf_g_filt_rvv;
-            if (ff_rv_vlen_least(128)) {
+            if (ff_get_rv_vlenb() <= 16) {
                 c->hf_apply_noise[0] = ff_sbr_hf_apply_noise_0_rvv;
                 c->hf_apply_noise[2] = ff_sbr_hf_apply_noise_2_rvv;
                 if (flags & AV_CPU_FLAG_RVB_BASIC) {