[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