--- libavcodec/riscv/flacdsp_init.c | 13 ++++++------- libavcodec/riscv/flacdsp_rvv.S | 4 ++-- 2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/libavcodec/riscv/flacdsp_init.c b/libavcodec/riscv/flacdsp_init.c index 0d7cff8bfe..77ffd09244 100644 --- a/libavcodec/riscv/flacdsp_init.c +++ b/libavcodec/riscv/flacdsp_init.c @@ -71,21 +71,20 @@ 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)) { int vlenb = ff_get_rv_vlenb(); - if (vlenb >= 16) { + if (vlenb >= 16) c->lpc16 = ff_flac_lpc16_rvv; + + c->wasted32 = ff_flac_wasted32_rvv; + # if (__riscv_xlen >= 64) + if (flags & AV_CPU_FLAG_RVV_I64) { if (vlenb > 16) c->lpc32 = ff_flac_lpc32_rvv_simple; else c->lpc32 = ff_flac_lpc32_rvv; -# endif - } - c->wasted32 = ff_flac_wasted32_rvv; - -# if (__riscv_xlen >= 64) - if (flags & AV_CPU_FLAG_RVV_I64) c->wasted33 = ff_flac_wasted33_rvv; + } switch (fmt) { case AV_SAMPLE_FMT_S16: diff --git a/libavcodec/riscv/flacdsp_rvv.S b/libavcodec/riscv/flacdsp_rvv.S index 5e5f4e7b64..8b9c626198 100644 --- a/libavcodec/riscv/flacdsp_rvv.S +++ b/libavcodec/riscv/flacdsp_rvv.S @@ -44,7 +44,7 @@ func ff_flac_lpc16_rvv, zve32x endfunc #if (__riscv_xlen == 64) -func ff_flac_lpc32_rvv, zve32x +func ff_flac_lpc32_rvv, zve64x addi t2, a2, -16 ble t2, zero, ff_flac_lpc32_rvv_simple vsetivli zero, 1, e64, m1, ta, ma @@ -75,7 +75,7 @@ func ff_flac_lpc32_rvv, zve32x ret endfunc -func ff_flac_lpc32_rvv_simple, zve32x +func ff_flac_lpc32_rvv_simple, zve64x vsetivli zero, 1, e64, m1, ta, ma vmv.s.x v0, zero vsetvli zero, a2, e32, m4, ta, ma -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".