[FFmpeg-devel] [PATCH v2] aacenc: add SIMD optimizations for abs_pow34 and quantization
Michael Niedermayer
michael at niedermayer.cc
Sun Oct 9 05:18:43 EEST 2016
On Sat, Oct 08, 2016 at 06:42:28PM +0100, Rostislav Pehlivanov wrote:
> Performance improvements:
>
> quant_bands:
> with: 681 decicycles in quant_bands, 8388453 runs, 155 skips
> without: 1190 decicycles in quant_bands, 8388386 runs, 222 skips
> Around 42% for the function
>
> Twoloop coder:
>
> abs_pow34:
> with/without: 7.82s/8.17s
> Around 4% for the entire encoder
>
> Both:
> with/without: 7.15s/8.17s
> Around 12% for the entire encoder
>
> Fast coder:
>
> abs_pow34:
> with/without: 3.40s/3.77s
> Around 10% for the entire encoder
>
> Both:
> with/without: 3.02s/3.77s
> Around 20% faster for the entire encoder
>
> Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> ---
> libavcodec/aaccoder.c | 22 ++++----
> libavcodec/aaccoder_trellis.h | 2 +-
> libavcodec/aaccoder_twoloop.h | 2 +-
> libavcodec/aacenc.c | 4 ++
> libavcodec/aacenc.h | 6 +++
> libavcodec/aacenc_is.c | 6 +--
> libavcodec/aacenc_ltp.c | 4 +-
> libavcodec/aacenc_pred.c | 6 +--
> libavcodec/aacenc_quantization.h | 4 +-
> libavcodec/aacenc_utils.h | 4 +-
> libavcodec/x86/Makefile | 2 +
> libavcodec/x86/aacencdsp.asm | 108 +++++++++++++++++++++++++++++++++++++++
> libavcodec/x86/aacencdsp_init.c | 42 +++++++++++++++
> 13 files changed, 187 insertions(+), 25 deletions(-)
> create mode 100644 libavcodec/x86/aacencdsp.asm
> create mode 100644 libavcodec/x86/aacencdsp_init.c
libavcodec/x86/aacencdsp.asm:67: error: expression syntax error
libavcodec/x86/aacencdsp.asm:79: warning: (RUN_AVX_INSTR:22) use of ``movd'' sse2 instruction in sse function: ff_aac_quantize_bands_sse
libavcodec/x86/aacencdsp.asm:99: warning: (RUN_AVX_INSTR:22) use of ``pand'' sse2 instruction in sse function: ff_aac_quantize_bands_sse
libavcodec/x86/aacencdsp.asm:103: warning: (RUN_AVX_INSTR:20) use of ``cvttps2dq'' sse2 instruction in sse function: ff_aac_quantize_bands_sse
yasm 1.2.0
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- 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/20161009/3f7a628d/attachment.sig>
More information about the ffmpeg-devel
mailing list