FFmpeg/libavcodec/riscv
Rémi Denis-Courmont 6c6bec04f3 lavc/vc1dsp: fix R-V V avg_mspel_pixels
The 8x8 pixel arrays are not necessarily aligned to 64 bits, so the
current code leads to Bus error on real hardware. This reproducible
with FATE's vc1_ilaced_twomv test case.

The new "pessimist" code can trivially be shared for 16x16 pixel
arrays so we also do that. FWIW, this also nominally reduces the
hardware requirement from Zve64x to Zve32x.

T-Head C908:
vc1dsp.avg_vc1_mspel_pixels_tab[0][0]_c:      14.7
vc1dsp.avg_vc1_mspel_pixels_tab[0][0]_rvv_i32: 3.5
vc1dsp.avg_vc1_mspel_pixels_tab[1][0]_c:       3.7
vc1dsp.avg_vc1_mspel_pixels_tab[1][0]_rvv_i32: 1.5

SpacemiT X60:
vc1dsp.avg_vc1_mspel_pixels_tab[0][0]_c:      13.0
vc1dsp.avg_vc1_mspel_pixels_tab[0][0]_rvv_i32: 3.0
vc1dsp.avg_vc1_mspel_pixels_tab[1][0]_c:       3.2
vc1dsp.avg_vc1_mspel_pixels_tab[1][0]_rvv_i32: 1.2
2024-06-02 10:37:09 +03:00
..
aacencdsp_init.c
aacencdsp_rvv.S lavc/aacencdsp: R-V V abs_pow34 2023-12-11 18:42:07 +02:00
aacpsdsp_init.c
aacpsdsp_rvv.S
ac3dsp_init.c
ac3dsp_rvb.S
ac3dsp_rvv.S
ac3dsp_rvvb.S
alacdsp_init.c
alacdsp_rvv.S
audiodsp_init.c
audiodsp_rvf.S
audiodsp_rvv.S
blockdsp_init.c
blockdsp_rvv.S
bswapdsp_init.c
bswapdsp_rvb.S
bswapdsp_rvv.S
exrdsp_init.c
exrdsp_rvv.S
flacdsp_init.c lavc/flacdsp: R-V Zvl256b lpc33 2024-05-27 22:07:29 +03:00
flacdsp_rvv.S lavc/flacdsp: R-V Zvl256b lpc33 2024-05-27 22:07:29 +03:00
fmtconvert_init.c
fmtconvert_rvv.S
g722dsp_init.c
g722dsp_rvv.S
h263dsp_init.c lavc/h263dsp: R-V V {h,v}_loop_filter 2024-05-22 19:15:39 +03:00
h263dsp_rvv.S lavc/h263dsp: R-V V {h,v}_loop_filter 2024-05-22 19:15:39 +03:00
h264_chroma_init_riscv.c
h264_mc_chroma.S
h264dsp_init.c
huffyuvdsp_init.c
huffyuvdsp_rvv.S
idctdsp_init.c
idctdsp_rvv.S
jpeg2000dsp_init.c
jpeg2000dsp_rvv.S
llauddsp_init.c
llauddsp_rvv.S
llviddsp_init.c
llviddsp_rvv.S
llvidencdsp_init.c
llvidencdsp_rvv.S
lpc_init.c lavc/lpc: optimise RVV vector type for compute_autocorr 2024-05-29 16:57:02 +03:00
lpc_rvv.S riscv: allow passing addend to vtype_vli macro 2024-05-30 18:30:52 +03:00
Makefile lavc/vp7dsp: add R-V V vp7_luma_dc_wht 2024-05-29 16:57:02 +03:00
me_cmp_init.c
me_cmp_rvv.S
opusdsp_init.c
opusdsp_rvv.S
pixblockdsp_init.c lavc/pixblockdsp: add scalar get_pixels_unaligned 2024-05-24 17:53:43 +03:00
pixblockdsp_rvi.S
pixblockdsp_rvv.S
rv34dsp_init.c
rv34dsp_rvv.S lavc/rv34dsp: remove stray load immediate 2024-05-26 19:20:45 +03:00
rv40dsp_init.c
rv40dsp_rvv.S
sbrdsp_init.c lavc/sbrdsp: add support for 256-bit vectors 2024-05-31 22:22:43 +03:00
sbrdsp_rvv.S lavc/sbrdsp: fold immediate offset into relocation 2024-05-28 19:44:11 +03:00
startcode_rvb.S
startcode_rvv.S lavc/startcode: fix RVV return value on no match 2024-05-28 19:43:40 +03:00
svqenc_init.c
svqenc_rvv.S
takdsp_init.c
takdsp_rvv.S
utvideodsp_init.c
utvideodsp_rvv.S
vc1dsp_init.c lavc/vc1dsp: fix R-V V avg_mspel_pixels 2024-06-02 10:37:09 +03:00
vc1dsp_rvi.S
vc1dsp_rvv.S lavc/vc1dsp: fix R-V V avg_mspel_pixels 2024-06-02 10:37:09 +03:00
vorbisdsp_init.c
vorbisdsp_rvv.S
vp7dsp_init.c lavc/vp7dsp: R-V V vp7_idct_add 2024-05-29 16:57:02 +03:00
vp7dsp_rvv.S lavc/vp7dsp: R-V V vp7_idct_add 2024-05-29 16:57:02 +03:00
vp8dsp_init.c lavc/vp8dsp: R-V V vp8_luma_dc_wht 2024-05-29 16:57:02 +03:00
vp8dsp_rvi.S
vp8dsp_rvv.S lavc/vp8dsp: R-V V vp8_luma_dc_wht 2024-05-29 16:57:02 +03:00
vp8dsp.h
vp9_intra_rvi.S
vp9_intra_rvv.S
vp9_mc_rvi.S
vp9_mc_rvv.S lavc/vp9dsp: R-V V rename ff_avg to ff_vp9_avg 2024-05-30 18:30:52 +03:00
vp9dsp_init.c lavc/vp9dsp: R-V V rename ff_avg to ff_vp9_avg 2024-05-30 18:30:52 +03:00
vp9dsp.h lavc/vp9dsp: R-V V rename ff_avg to ff_vp9_avg 2024-05-30 18:30:52 +03:00