lavc/flacdsp: fix CPU requirement for 32-bit LPC
This commit is contained in:
@@ -69,9 +69,11 @@ av_cold void ff_flacdsp_init_riscv(FLACDSPContext *c, enum AVSampleFormat fmt,
|
|||||||
if ((flags & AV_CPU_FLAG_RVV_I32) && (flags & AV_CPU_FLAG_RVB_ADDR)) {
|
if ((flags & AV_CPU_FLAG_RVV_I32) && (flags & AV_CPU_FLAG_RVB_ADDR)) {
|
||||||
int vlenb = ff_get_rv_vlenb();
|
int vlenb = ff_get_rv_vlenb();
|
||||||
|
|
||||||
if (vlenb >= 16) {
|
if (vlenb >= 16)
|
||||||
c->lpc16 = ff_flac_lpc16_rvv;
|
c->lpc16 = ff_flac_lpc16_rvv;
|
||||||
|
|
||||||
# if (__riscv_xlen >= 64)
|
# if (__riscv_xlen >= 64)
|
||||||
|
if (flags & AV_CPU_FLAG_RVV_I64) {
|
||||||
if (vlenb > 16)
|
if (vlenb > 16)
|
||||||
c->lpc32 = ff_flac_lpc32_rvv_simple;
|
c->lpc32 = ff_flac_lpc32_rvv_simple;
|
||||||
else
|
else
|
||||||
|
@@ -44,7 +44,7 @@ func ff_flac_lpc16_rvv, zve32x
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
#if (__riscv_xlen == 64)
|
#if (__riscv_xlen == 64)
|
||||||
func ff_flac_lpc32_rvv, zve32x
|
func ff_flac_lpc32_rvv, zve64x
|
||||||
addi t2, a2, -16
|
addi t2, a2, -16
|
||||||
ble t2, zero, ff_flac_lpc32_rvv_simple
|
ble t2, zero, ff_flac_lpc32_rvv_simple
|
||||||
vsetivli zero, 1, e64, m1, ta, ma
|
vsetivli zero, 1, e64, m1, ta, ma
|
||||||
@@ -75,7 +75,7 @@ func ff_flac_lpc32_rvv, zve32x
|
|||||||
ret
|
ret
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func ff_flac_lpc32_rvv_simple, zve32x
|
func ff_flac_lpc32_rvv_simple, zve64x
|
||||||
vsetivli zero, 1, e64, m1, ta, ma
|
vsetivli zero, 1, e64, m1, ta, ma
|
||||||
vmv.s.x v0, zero
|
vmv.s.x v0, zero
|
||||||
vsetvli zero, a2, e32, m4, ta, ma
|
vsetvli zero, a2, e32, m4, ta, ma
|
||||||
|
Reference in New Issue
Block a user