lavc/pixblockdsp: remove R-V V get_pixels_16

In the aligned case, the existing RVI assembler is actually much
faster. In the unaligned case, there is nothing much to gain over C.
release/7.0
Rémi Denis-Courmont 1 year ago
parent 28840cf499
commit 92bcc6703a
  1. 7
      libavcodec/riscv/pixblockdsp_init.c
  2. 7
      libavcodec/riscv/pixblockdsp_rvv.S

@ -36,8 +36,6 @@ void ff_get_pixels_8_rvv(int16_t *block, const uint8_t *pixels,
ptrdiff_t stride);
void ff_get_pixels_unaligned_8_rvv(int16_t *block, const uint8_t *pixels,
ptrdiff_t stride);
void ff_get_pixels_unaligned_16_rvv(int16_t *block, const uint8_t *pixels,
ptrdiff_t stride);
void ff_diff_pixels_rvv(int16_t *block, const uint8_t *s1,
const uint8_t *s2, ptrdiff_t stride);
void ff_diff_pixels_unaligned_rvv(int16_t *block, const uint8_t *s1,
@ -58,10 +56,7 @@ av_cold void ff_pixblockdsp_init_riscv(PixblockDSPContext *c,
#if HAVE_RVV
if ((cpu_flags & AV_CPU_FLAG_RVV_I32) && ff_get_rv_vlenb() >= 16) {
if (high_bit_depth) {
c->get_pixels = ff_get_pixels_unaligned_16_rvv;
c->get_pixels_unaligned = ff_get_pixels_unaligned_16_rvv;
} else {
if (!high_bit_depth) {
c->get_pixels = ff_get_pixels_unaligned_8_rvv;
c->get_pixels_unaligned = ff_get_pixels_unaligned_8_rvv;
}

@ -45,13 +45,6 @@ func ff_get_pixels_unaligned_8_rvv, zve32x
ret
endfunc
func ff_get_pixels_unaligned_16_rvv, zve32x
vsetivli zero, 8, e16, m1, ta, ma
vlsseg8e16.v v0, (a1), a2
vsseg8e16.v v0, (a0)
ret
endfunc
func ff_diff_pixels_rvv, zve64x
vsetivli zero, 8, e8, mf2, ta, ma
li t0, 8 * 8

Loading…
Cancel
Save