[FFmpeg-devel] [PATCH] vp9: add 16x16 idct avx2 (8-bit).

Michael Niedermayer michael at niedermayer.cc
Sat Jul 9 00:34:58 EEST 2016


On Fri, Jul 08, 2016 at 04:40:28PM -0400, Ronald S. Bultje wrote:
> checkasm --bench, 10k runs, for *_add_${bpc}_${sub_idct}_${opt}, shows
> that it's about 1.65x as fast as the AVX version for the full IDCT, and
> similar speedups for the sub-IDCTs:
> 
> nop: 24.6
> vp9_inv_dct_dct_16x16_add_8_1_c: 6444.8
> vp9_inv_dct_dct_16x16_add_8_1_sse2: 638.6
> vp9_inv_dct_dct_16x16_add_8_1_ssse3: 484.4
> vp9_inv_dct_dct_16x16_add_8_1_avx: 661.2
> vp9_inv_dct_dct_16x16_add_8_1_avx2: 311.5
> vp9_inv_dct_dct_16x16_add_8_2_c: 6665.7
> vp9_inv_dct_dct_16x16_add_8_2_sse2: 646.9
> vp9_inv_dct_dct_16x16_add_8_2_ssse3: 455.2
> vp9_inv_dct_dct_16x16_add_8_2_avx: 521.9
> vp9_inv_dct_dct_16x16_add_8_2_avx2: 304.3
> vp9_inv_dct_dct_16x16_add_8_4_c: 7022.7
> vp9_inv_dct_dct_16x16_add_8_4_sse2: 647.4
> vp9_inv_dct_dct_16x16_add_8_4_ssse3: 467.1
> vp9_inv_dct_dct_16x16_add_8_4_avx: 446.1
> vp9_inv_dct_dct_16x16_add_8_4_avx2: 297.0
> vp9_inv_dct_dct_16x16_add_8_8_c: 6800.4
> vp9_inv_dct_dct_16x16_add_8_8_sse2: 598.6
> vp9_inv_dct_dct_16x16_add_8_8_ssse3: 465.7
> vp9_inv_dct_dct_16x16_add_8_8_avx: 440.9
> vp9_inv_dct_dct_16x16_add_8_8_avx2: 290.2
> vp9_inv_dct_dct_16x16_add_8_16_c: 6626.6
> vp9_inv_dct_dct_16x16_add_8_16_sse2: 599.5
> vp9_inv_dct_dct_16x16_add_8_16_ssse3: 475.0
> vp9_inv_dct_dct_16x16_add_8_16_avx: 469.9
> vp9_inv_dct_dct_16x16_add_8_16_avx2: 286.4
> ---
>  libavcodec/x86/vp9dsp_init.c |   2 +
>  libavcodec/x86/vp9itxfm.asm  | 284 +++++++++++++++++++++++++++++++++++++++++--
>  2 files changed, 276 insertions(+), 10 deletions(-)

fails building on linux x86-32

libavcodec/libavcodec.a(vp9dsp_init.o): In function `ff_vp9dsp_init_x86':
ffmpeg/linux32/src/libavcodec/x86/vp9dsp_init.c:382: undefined reference to `ff_vp9_idct_idct_16x16_add_avx2'
collect2: ld returned 1 exit status
make: *** [ffprobe_g] Error 1
make: *** Waiting for unfinished jobs....
libavcodec/libavcodec.a(vp9dsp_init.o): In function `ff_vp9dsp_init_x86':
ffmpeg/linux32/src/libavcodec/x86/vp9dsp_init.c:382: undefined reference to `ff_vp9_idct_idct_16x16_add_avx2'
collect2: ld returned 1 exit status
make: *** [ffserver_g] Error 1
libavcodec/libavcodec.a(vp9dsp_init.o): In function `ff_vp9dsp_init_x86':
ffmpeg/linux32/src/libavcodec/x86/vp9dsp_init.c:382: undefined reference to `ff_vp9_idct_idct_16x16_add_avx2'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1

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

No human being will ever know the Truth, for even if they happen to say it
by chance, they would not even known they had done so. -- Xenophanes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160708/ec03a271/attachment.sig>


More information about the ffmpeg-devel mailing list