|
|
@ -26,6 +26,7 @@ |
|
|
|
#include "libavcodec/vp8dsp.h" |
|
|
|
#include "libavcodec/vp8dsp.h" |
|
|
|
#include "vp8dsp.h" |
|
|
|
#include "vp8dsp.h" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ff_vp8_luma_dc_wht_rvv(int16_t block[4][4][16], int16_t dc[16]); |
|
|
|
void ff_vp8_idct_dc_add_rvv(uint8_t *dst, int16_t block[16], ptrdiff_t stride); |
|
|
|
void ff_vp8_idct_dc_add_rvv(uint8_t *dst, int16_t block[16], ptrdiff_t stride); |
|
|
|
void ff_vp8_idct_dc_add4y_rvv(uint8_t *dst, int16_t block[4][16], ptrdiff_t stride); |
|
|
|
void ff_vp8_idct_dc_add4y_rvv(uint8_t *dst, int16_t block[4][16], ptrdiff_t stride); |
|
|
|
void ff_vp8_idct_dc_add4uv_rvv(uint8_t *dst, int16_t block[4][16], ptrdiff_t stride); |
|
|
|
void ff_vp8_idct_dc_add4uv_rvv(uint8_t *dst, int16_t block[4][16], ptrdiff_t stride); |
|
|
@ -124,6 +125,10 @@ av_cold void ff_vp8dsp_init_riscv(VP8DSPContext *c) |
|
|
|
int flags = av_get_cpu_flags(); |
|
|
|
int flags = av_get_cpu_flags(); |
|
|
|
|
|
|
|
|
|
|
|
if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) { |
|
|
|
if (flags & AV_CPU_FLAG_RVV_I32 && ff_rv_vlen_least(128)) { |
|
|
|
|
|
|
|
#if __riscv_xlen >= 64 |
|
|
|
|
|
|
|
if (flags & AV_CPU_FLAG_RVV_I64) |
|
|
|
|
|
|
|
c->vp8_luma_dc_wht = ff_vp8_luma_dc_wht_rvv; |
|
|
|
|
|
|
|
#endif |
|
|
|
c->vp8_idct_dc_add = ff_vp8_idct_dc_add_rvv; |
|
|
|
c->vp8_idct_dc_add = ff_vp8_idct_dc_add_rvv; |
|
|
|
c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_rvv; |
|
|
|
c->vp8_idct_dc_add4y = ff_vp8_idct_dc_add4y_rvv; |
|
|
|
if (flags & AV_CPU_FLAG_RVB_ADDR) { |
|
|
|
if (flags & AV_CPU_FLAG_RVB_ADDR) { |
|
|
|