[FFmpeg-devel] [PATCH 1/2] avcodec/x86: move simple_idct to external assembly
James Darnley
jdarnley at obe.tv
Mon May 29 22:40:49 EEST 2017
On 2017-05-29 16:51, James Darnley wrote:
> ---
> Changes:
> - Changed type of d40000 constant to dwords because it gets used as dwords.
> - Changed or removed HAVE_MMX_INLINE preprocessor guards.
> - Added note about conversion from inline.
> - New file no longer has "2" suffix.
> - Whitespace (indentation and alignment).
>
> libavcodec/tests/x86/dct.c | 2 +-
> libavcodec/x86/Makefile | 4 +-
> libavcodec/x86/idctdsp_init.c | 4 -
> libavcodec/x86/simple_idct.asm | 889 +++++++++++++++++++++++++++++++++++++++
> libavcodec/x86/simple_idct.c | 929 -----------------------------------------
> 5 files changed, 892 insertions(+), 936 deletions(-)
> create mode 100644 libavcodec/x86/simple_idct.asm
> delete mode 100644 libavcodec/x86/simple_idct.c
Ronald queried on IRC about the performance. The libavcodec/tests/dct
utility reports these numbers
Yorkfield:
- inline: IDCT SIMPLE-MMX: 15715.9 kdct/s
- external: IDCT SIMPLE-MMX: 15699.9 kdct/s
Skylake-U:
- inline: IDCT SIMPLE-MMX: 11193.3 kdct/s
- external: IDCT SIMPLE-MMX: 11189.7 kdct/s
I assume those units are "thousand discrete cosine transforms per second".
More information about the ffmpeg-devel
mailing list