mbox series

[FFmpeg-devel,v5,0/6] MIPS MSA & MMI Runtime detection support

Message ID 20200702154622.21280-1-jiaxun.yang@flygoat.com
Headers show
Series MIPS MSA & MMI Runtime detection support
Related show

Message

Jiaxun Yang July 2, 2020, 3:46 p.m. UTC
This series adds MIPS MSA & MMI runtime detection support

Please review.

Thanks!

v2:
  - Add CPUCFG support.
  - Add "-mloongson-ext" to MMIFLAGS for Loongson-3 as well. (Loongson2F don't need this flag)

v3:
  - Address reveiew suggestions from Shiyou Yin and Weixi Gu.

v4:
  - Disable DSP for generic CPU

v5:
  - Clean ups
  - Address some GCC build warnings

Jiaxun Yang (6):
  ffbuild: Refine MIPS handling
  libavutils: Add parse_r helper for MIPS
  libavutil: Detect MMI and MSA flags for MIPS
  libavcodec: Enable runtime detection for MIPS MMI & MSA
  libavcodec: MIPS: MMI: Fix type mismatches
  libavcodec: MIPS: MMI: Move stack pointer out of the cobber list

 configure                                   | 180 ++--
 ffbuild/common.mak                          |  10 +-
 libavcodec/mips/Makefile                    |   3 +-
 libavcodec/mips/blockdsp_init_mips.c        |  40 +-
 libavcodec/mips/cabac.h                     |   2 +-
 libavcodec/mips/h263dsp_init_mips.c         |  18 +-
 libavcodec/mips/h264chroma_init_mips.c      |  55 +-
 libavcodec/mips/h264dsp_init_mips.c         | 225 +++--
 libavcodec/mips/h264dsp_mips.h              |  18 +-
 libavcodec/mips/h264dsp_mmi.c               |  56 +-
 libavcodec/mips/h264pred_init_mips.c        | 207 ++--
 libavcodec/mips/h264qpel_init_mips.c        | 412 ++++----
 libavcodec/mips/hevcdsp_init_mips.c         | 992 ++++++++++----------
 libavcodec/mips/hevcpred_init_mips.c        |  40 +-
 libavcodec/mips/hpeldsp_init_mips.c         | 180 ++--
 libavcodec/mips/idctdsp_init_mips.c         |  74 +-
 libavcodec/mips/me_cmp_init_mips.c          |  50 +-
 libavcodec/mips/mpegvideo_init_mips.c       |  48 +-
 libavcodec/mips/mpegvideoencdsp_init_mips.c |  21 +-
 libavcodec/mips/pixblockdsp_init_mips.c     |  63 +-
 libavcodec/mips/qpeldsp_init_mips.c         | 270 +++---
 libavcodec/mips/vc1dsp_init_mips.c          | 186 ++--
 libavcodec/mips/videodsp_init.c             |  10 +-
 libavcodec/mips/vp3dsp_init_mips.c          |  44 +-
 libavcodec/mips/vp8dsp_init_mips.c          | 240 +++--
 libavcodec/mips/vp9dsp_init_mips.c          |  16 +-
 libavcodec/mips/wmv2dsp_init_mips.c         |  18 +-
 libavcodec/mips/wmv2dsp_mips.h              |   4 +-
 libavcodec/mips/wmv2dsp_mmi.c               |   4 +-
 libavcodec/mips/xvid_idct_mmi.c             |   4 +-
 libavcodec/mips/xvididct_init_mips.c        |  31 +-
 libavcodec/mips/xvididct_mips.h             |   4 +-
 libavutil/cpu.c                             |  10 +
 libavutil/cpu.h                             |   3 +
 libavutil/cpu_internal.h                    |   2 +
 libavutil/mips/Makefile                     |   2 +-
 libavutil/mips/asmdefs.h                    |  42 +
 libavutil/mips/cpu.c                        | 134 +++
 libavutil/mips/cpu.h                        |  28 +
 libavutil/tests/cpu.c                       |   3 +
 tests/checkasm/checkasm.c                   |   3 +
 41 files changed, 1928 insertions(+), 1824 deletions(-)
 create mode 100644 libavutil/mips/cpu.c
 create mode 100644 libavutil/mips/cpu.h