[FFmpeg-devel] [PATCH v2 1/7] avcodec/la: add LSX optimization for h264 idct.

Michael Niedermayer michael at niedermayer.cc
Fri May 19 17:43:33 EEST 2023


On Wed, May 17, 2023 at 03:03:45PM +0800, Hao Chen wrote:
> From: Shiyou Yin <yinshiyou-hf at loongson.cn>
> 
> loongson_asm.S is LoongArch asm optimization helper.
> Add functions:
>   ff_h264_idct_add_8_lsx
>   ff_h264_idct8_add_8_lsx
>   ff_h264_idct_dc_add_8_lsx
>   ff_h264_idct8_dc_add_8_lsx
>   ff_h264_idct_add16_8_lsx
>   ff_h264_idct8_add4_8_lsx
>   ff_h264_idct_add8_8_lsx
>   ff_h264_idct_add8_422_8_lsx
>   ff_h264_idct_add16_intra_8_lsx
>   ff_h264_luma_dc_dequant_idct_8_lsx
> Replaced function(LSX is sufficient for these functions):
>   ff_h264_idct_add_lasx
>   ff_h264_idct4x4_addblk_dc_lasx
>   ff_h264_idct_add16_lasx
>   ff_h264_idct8_add4_lasx
>   ff_h264_idct_add8_lasx
>   ff_h264_idct_add8_422_lasx
>   ff_h264_idct_add16_intra_lasx
>   ff_h264_deq_idct_luma_dc_lasx
> Renamed functions:
>   ff_h264_idct8_addblk_lasx ==> ff_h264_idct8_add_8_lasx
>   ff_h264_idct8_dc_addblk_lasx ==> ff_h264_idct8_dc_add_8_lasx
> 
> ./configure --disable-lasx
> ffmpeg -i 1_h264_1080p_30fps_3Mbps.mp4 -f rawvideo -y /dev/null -an
> before: 155fps
> after:  161fps
> ---
>  libavcodec/loongarch/Makefile                 |   3 +-
>  libavcodec/loongarch/h264_deblock_lasx.c      |   2 +-
>  libavcodec/loongarch/h264dsp_init_loongarch.c |  39 +-
>  libavcodec/loongarch/h264dsp_lasx.c           |   2 +-
>  .../{h264dsp_lasx.h => h264dsp_loongarch.h}   |  60 +-
>  libavcodec/loongarch/h264idct.S               | 659 ++++++++++++
>  libavcodec/loongarch/h264idct_lasx.c          | 498 ---------
>  libavcodec/loongarch/h264idct_loongarch.c     | 185 ++++
>  libavcodec/loongarch/loongson_asm.S           | 946 ++++++++++++++++++
>  9 files changed, 1851 insertions(+), 543 deletions(-)
>  rename libavcodec/loongarch/{h264dsp_lasx.h => h264dsp_loongarch.h} (68%)
>  create mode 100644 libavcodec/loongarch/h264idct.S
>  delete mode 100644 libavcodec/loongarch/h264idct_lasx.c
>  create mode 100644 libavcodec/loongarch/h264idct_loongarch.c
>  create mode 100644 libavcodec/loongarch/loongson_asm.S


There are whitespace errors:
These could prevent pushing as the git hooks check for various whitespace
issues


.git/rebase-apply/patch:1432: tab in indent.
	} else if (nnz) {
.git/rebase-apply/patch:881: new blank line at EOF.
+
.git/rebase-apply/patch:1576: new blank line at EOF.
+
.git/rebase-apply/patch:2528: new blank line at EOF.
+
warning: 4 lines add whitespace errors.



[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The bravest are surely those who have the clearest vision
of what is before them, glory and danger alike, and yet
notwithstanding go out to meet it. -- Thucydides
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20230519/c16fb4aa/attachment.sig>


More information about the ffmpeg-devel mailing list