#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 <[email protected]>
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 <[email protected]>
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
_______________________________________________
FFmpeg-trac mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".