[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