1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
FFmpeg/libavcodec/aarch64
Janne Grunau 28a8b5413b h264/aarch64: add intra loop filter neon asm
Add my neon asm from x264 relicensed under the LGPL 2.1 or later. Ported
(x264 uses nv12 chroma) and optimized.

Cycle count for checkasm --bench on a Snapdragon 820e:
h264_h_loop_filter_luma_intra_8bpp_c: 60.0
h264_h_loop_filter_luma_intra_8bpp_neon: 54.2
h264_v_loop_filter_luma_intra_8bpp_c: 148.3
h264_v_loop_filter_luma_intra_8bpp_neon: 73.8
h264_h_loop_filter_chroma_intra_8bpp_c: 27.8
h264_h_loop_filter_chroma_intra_8bpp_neon: 21.4
h264_h_loop_filter_chroma_mbaff_intra_8bpp_c: 15.8
h264_h_loop_filter_chroma_mbaff_intra_8bpp_neon: 15.7
h264_v_loop_filter_chroma_intra_8bpp_c: 45.8
h264_v_loop_filter_chroma_intra_8bpp_neon: 17.3
2019-01-26 12:05:10 +01:00
..
asm-offsets.h arm64: port synth_filter_float_neon from arm 2015-12-14 16:45:01 +01:00
cabac.h aarch64: get_cabac inline asm 2014-03-09 00:45:33 +01:00
dcadsp_init.c dca: remove unused decode_hf function and quant_d tables 2015-12-24 13:58:18 +01:00
dcadsp_neon.S dca: remove unused decode_hf function and quant_d tables 2015-12-24 13:58:18 +01:00
fft_init_aarch64.c fft: Split MDCT bits off from FFT 2016-03-01 10:18:28 +01:00
fft_neon.S aarch64: Use .data.rel.ro for const data with relocations 2014-12-09 11:43:31 +02:00
fmtconvert_init.c arm64: int32_to_float_fmul neon asm 2015-12-14 16:45:02 +01:00
fmtconvert_neon.S arm64: int32_to_float_fmul neon asm 2015-12-14 16:45:02 +01:00
h264chroma_init_aarch64.c h264chroma: Change type of stride parameters to ptrdiff_t 2016-09-29 14:48:04 +02:00
h264cmc_neon.S h264chroma: Change type of stride parameters to ptrdiff_t 2016-09-29 14:48:04 +02:00
h264dsp_init_aarch64.c h264/aarch64: add intra loop filter neon asm 2019-01-26 12:05:10 +01:00
h264dsp_neon.S h264/aarch64: add intra loop filter neon asm 2019-01-26 12:05:10 +01:00
h264idct_neon.S aarch64: h264idct: Use the offset parameter to movrel 2016-11-10 11:18:22 +02:00
h264pred_init.c h264: aarch64: intra prediction optimisations 2015-07-20 23:10:29 +02:00
h264pred_neon.S h264: aarch64: intra prediction optimisations 2015-07-20 23:10:29 +02:00
h264qpel_init_aarch64.c arm64: constify src in h264qpel dsp function definitions 2015-06-24 08:41:32 +02:00
h264qpel_neon.S aarch64: h264 qpel NEON optimizations 2014-01-15 12:17:49 +01:00
hpeldsp_init_aarch64.c aarch64: hpeldsp NEON optimizations 2014-01-15 12:30:24 +01:00
hpeldsp_neon.S aarch64: hpeldsp NEON optimizations 2014-01-15 12:30:24 +01:00
imdct15_init.c opus: Factor out imdct15 into a standalone component 2015-02-02 16:07:33 +01:00
imdct15_neon.S opus: Factor out imdct15 into a standalone component 2015-02-02 16:07:33 +01:00
Makefile aarch64: vp9: Implement NEON loop filters 2016-11-14 00:10:13 +02:00
mdct_init.c fft: Split MDCT bits off from FFT 2016-03-01 10:18:28 +01:00
mdct_neon.S aarch64: NEON float (i)MDCT 2014-04-22 19:35:41 +02:00
mpegaudiodsp_init.c mpegaudiodsp: aarch64: Adjust function prototype after 2caa93b813 2016-11-10 00:13:48 +01:00
mpegaudiodsp_neon.S aarch64: Remove a dot from a label 2017-10-18 10:49:33 +03:00
neon.S aarch64: Make transpose_4x4H do a regular transpose 2016-03-26 21:25:56 +02:00
neontest.c lavc: add clobber tests for the new encoding/decoding API 2016-09-28 10:01:52 +02:00
rv40dsp_init_aarch64.c h264chroma: Change type of stride parameters to ptrdiff_t 2016-09-29 14:48:04 +02:00
synth_filter_neon.S arm64: replace 'bic' with immediate with 'and' with inverted immediate 2016-12-14 21:53:05 +01:00
vc1dsp_init_aarch64.c h264chroma: Change type of stride parameters to ptrdiff_t 2016-09-29 14:48:04 +02:00
videodsp_init.c aarch64: implement videodsp.prefetch 2014-04-06 21:18:49 +02:00
videodsp.S aarch64: implement videodsp.prefetch 2014-04-06 21:18:49 +02:00
vorbisdsp_init.c aarch64: NEON vorbis_inverse_coupling 2014-04-22 22:01:45 +02:00
vorbisdsp_neon.S aarch64: NEON vorbis_inverse_coupling 2014-04-22 22:01:45 +02:00
vp9dsp_init_aarch64.c aarch64: vp9dsp: Fix vertical alignment in the init file 2017-01-03 14:15:58 +02:00
vp9itxfm_neon.S aarch64: vp9: Fix assembling with Xcode 6.2 and older 2017-06-20 16:14:03 +03:00
vp9lpf_neon.S aarch64: vp9lpf: Use dup+rev16+uzp1 instead of dup+lsr+dup+trn1 2017-02-24 00:03:00 +02:00
vp9mc_neon.S aarch64: vp9: Fix assembling with Xcode 6.2 and older 2017-06-20 16:14:03 +03:00