History

lavc/vp8dsp: R-V V vp8_idct_dc_add4uv

c908: vp8_idct_dc_add4uv_c: 387.7 vp8_idct_dc_add4uv_rvv_i32: 134.5

sunyuechi committed 2 years ago

Commit d897bbb1 parent e74e18c2 files · +17 −0Browse files

Unified · Split

2 files
  1. libavcodec/riscv/vp8dsp_init.c +4 −0
  2. libavcodec/riscv/vp8dsp_rvv.S +13 −0
libavcodec/riscv/vp8dsp_init.c+4−0
@@ -27,6 +27,7 @@ · 26 unmodified lines
27 27
28void ff_vp8_idct_dc_add_rvv(uint8_t *dst, int16_t block[16], ptrdiff_t stride);28void ff_vp8_idct_dc_add_rvv(uint8_t *dst, int16_t block[16], ptrdiff_t stride);
29void ff_vp8_idct_dc_add4y_rvv(uint8_t *dst, int16_t block[4][16], ptrdiff_t stride);29void ff_vp8_idct_dc_add4y_rvv(uint8_t *dst, int16_t block[4][16], ptrdiff_t stride);
30void ff_vp8_idct_dc_add4uv_rvv(uint8_t *dst, int16_t block[4][16], ptrdiff_t stride);
30 31
31av_cold void ff_vp8dsp_init_riscv(VP8DSPContext *c)32av_cold void ff_vp8dsp_init_riscv(VP8DSPContext *c)
32{33{
@@ -36,6 +37,9 @@ av_cold void ff_vp8dsp_init_riscv(VP8DSPContext *c) · 3 unmodified lines
36 if (flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) {37 if (flags & AV_CPU_FLAG_RVV_I32 && ff_get_rv_vlenb() >= 16) {
37 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_rvv;38 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_rvv;
38 c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_rvv;39 c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_rvv;
40 if (flags & AV_CPU_FLAG_RVB_ADDR) {
41 c->vp8_idct_dc_add4uv = ff_vp8_idct_dc_add4uv_rvv;
42 }
39 }43 }
40#endif44#endif
41}45}
libavcodec/riscv/vp8dsp_rvv.S+13−0
@@ -58,3 +58,16 @@ func ff_vp8_idct_dc_add4y_rvv, zve32x · 57 unmodified lines
58 58
59 ret59 ret
60endfunc60endfunc
61
62func ff_vp8_idct_dc_add4uv_rvv, zve32x
63 vsetivli zero, 4, e8, mf4, ta, ma
64 vp8_idct_dc_addy
65 vp8_idct_dc_add
66 addi a0, a0, -4
67 sh2add a0, a2, a0
68 addi a1, a1, 32
69 vp8_idct_dc_addy
70 vp8_idct_dc_add
71
72 ret
73endfunc

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t