[FFmpeg-trac] #11306(undetermined:new): fate-rv40 fails on RVV
FFmpeg
trac at avcodec.org
Sun Nov 17 18:45:05 EET 2024
#11306: fate-rv40 fails on RVV
-------------------------------------+-------------------------------------
Reporter: Rémi Denis- | Owner: (none)
Courmont |
Type: defect | Status: new
Priority: normal | Component:
| undetermined
Version: unspecified | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by Rémi Denis-Courmont):
With B enabled in CFLAGS, bissection points the finger at:
{{{
5bc3b7f51308b8027e5468ef60d8336a960193e2 is the first bad commit
commit 5bc3b7f51308b8027e5468ef60d8336a960193e2 (HEAD)
Author: sunyuechi <sunyuechi at iscas.ac.cn>
Date: Tue Apr 30 18:24:00 2024 +0800
lavc/rv40dsp: R-V V chroma_mc
This is similar to h264, but here we use manual_avg instead of vaaddu
because rv40's OP differs from h264. If we use vaaddu,
rv40 would need to repeatedly switch between vxrm=0 and vxrm=2,
and switching vxrm is very slow.
C908:
avg_chroma_mc4_c: 2330.0
avg_chroma_mc4_rvv_i32: 602.7
avg_chroma_mc8_c: 1211.0
avg_chroma_mc8_rvv_i32: 602.7
put_chroma_mc4_c: 1825.0
put_chroma_mc4_rvv_i32: 414.7
put_chroma_mc8_c: 932.0
put_chroma_mc8_rvv_i32: 414.7
Signed-off-by: Rémi Denis-Courmont <remi at remlab.net>
libavcodec/riscv/Makefile | 2 +
libavcodec/riscv/rv40dsp_init.c | 51 ++++++
libavcodec/riscv/rv40dsp_rvv.S | 371
++++++++++++++++++++++++++++++++++++++++
libavcodec/rv34dsp.h | 1 +
libavcodec/rv40dsp.c | 2 +
5 files changed, 427 insertions(+)
create mode 100644 libavcodec/riscv/rv40dsp_init.c
create mode 100644 libavcodec/riscv/rv40dsp_rvv.S
}}}
...which seems a lot likelier culprit
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11306#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list