aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Denis-Courmont <remi@remlab.net>2024-05-27 18:43:36 +0300
committerRémi Denis-Courmont <remi@remlab.net>2024-05-28 19:43:40 +0300
commitaf20fb9c4eb81383d4ef558d20af317e93b5acc8 (patch)
treee9b1be702f66d587649adc435c5fb703d4602275
parent9fd88bd0923e3eb0f6c778700960a58df87d42a3 (diff)
downloadffmpeg-af20fb9c4eb81383d4ef558d20af317e93b5acc8.tar.gz
lavc/lpc: fix off-by-one in R-V V compute_autocorr
-rw-r--r--libavcodec/riscv/lpc_init.c2
-rw-r--r--libavcodec/riscv/lpc_rvv.S1
2 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/riscv/lpc_init.c b/libavcodec/riscv/lpc_init.c
index ab91956f2d..08efae4da7 100644
--- a/libavcodec/riscv/lpc_init.c
+++ b/libavcodec/riscv/lpc_init.c
@@ -36,7 +36,7 @@ av_cold void ff_lpc_init_riscv(LPCContext *c)
if ((flags & AV_CPU_FLAG_RVV_F64) && (flags & AV_CPU_FLAG_RVB_ADDR)) {
c->lpc_apply_welch_window = ff_lpc_apply_welch_window_rvv;
- if (ff_get_rv_vlenb() >= c->max_order)
+ if (ff_get_rv_vlenb() > c->max_order)
c->lpc_compute_autocorr = ff_lpc_compute_autocorr_rvv;
}
#endif
diff --git a/libavcodec/riscv/lpc_rvv.S b/libavcodec/riscv/lpc_rvv.S
index d4ea515fee..3fdf80ebed 100644
--- a/libavcodec/riscv/lpc_rvv.S
+++ b/libavcodec/riscv/lpc_rvv.S
@@ -87,6 +87,7 @@ func ff_lpc_apply_welch_window_rvv, zve64d
endfunc
func ff_lpc_compute_autocorr_rvv, zve64d
+ addi a2, a2, 1
li t0, 1
vsetvli zero, a2, e64, m8, ta, ma
fcvt.d.l ft0, t0