avutil/mips: refine msa macros CLIP_*.
authorgxw <guxiwei-hf@loongson.cn>
Wed, 7 Aug 2019 09:52:00 +0000 (17:52 +0800)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 13 Aug 2019 14:48:38 +0000 (16:48 +0200)
commita3e572d96fd1dd6291f6b28e173db858c08ff8d8
tree85807f6ec1442cc362cf8946e67f564c92267e07
parent8f92eb05e063e6c4d6e36521020620d4e6e1c21d
avutil/mips: refine msa macros CLIP_*.

Changing details as following:
1. Remove the local variable 'out_m' in 'CLIP_SH' and store the result in
   source vector.
2. Refine the implementation of macro 'CLIP_SH_0_255' and 'CLIP_SW_0_255'.
   Performance of VP8 decoding has speed up about 1.1%(from 7.03x to 7.11x).
   Performance of H264 decoding has speed up about 0.5%(from 4.35x to 4.37x).
   Performance of Theora decoding has speed up about 0.7%(from 5.79x to 5.83x).
3. Remove redundant macro 'CLIP_SH/Wn_0_255_MAX_SATU' and use 'CLIP_SH/Wn_0_255'
   instead, because there are no difference in the effect of this two macros.

Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
15 files changed:
libavcodec/mips/h264dsp_msa.c
libavcodec/mips/h264idct_msa.c
libavcodec/mips/hevc_idct_msa.c
libavcodec/mips/hevc_lpf_sao_msa.c
libavcodec/mips/hevc_mc_bi_msa.c
libavcodec/mips/hevc_mc_biw_msa.c
libavcodec/mips/hevc_mc_uniw_msa.c
libavcodec/mips/hevcpred_msa.c
libavcodec/mips/idctdsp_msa.c
libavcodec/mips/qpeldsp_msa.c
libavcodec/mips/simple_idct_msa.c
libavcodec/mips/vp3dsp_idct_msa.c
libavcodec/mips/vp8_idct_msa.c
libavcodec/mips/vp9_idct_msa.c
libavutil/mips/generic_macros_msa.h