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

Rémi Denis-Courmont git at videolan.org
Sun May 26 14:14:02 EEST 2024


ffmpeg | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat May 25 20:51:39 2024 +0300| [0b2316e37fca8b1c32eb1236d9ea572f2d4ed39b] | committer: Rémi Denis-Courmont

lavc/sbrdsp: fix inverted boundary check

128-bit 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.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0b2316e37fca8b1c32eb1236d9ea572f2d4ed39b
---

 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) {



More information about the ffmpeg-cvslog mailing list