[FFmpeg-devel] [PATCH] lavc/aacenc_utils: replace sqrtf(Q*sqrtf(Q)) by precomputed value
Rostislav Pehlivanov
atomnuker at gmail.com
Tue Mar 1 15:14:19 CET 2016
On 1 March 2016 at 03:21, Ganesh Ajjanagadde <gajjanag at gmail.com> wrote:
> It makes no sense whatsoever to do this at each function call; we
> already have a table for this.
>
> Yields a 2x improvement in find_min_book (x86-64, Haswell+GCC):
> ffmpeg -i sin.flac -acodec aac -y sin.aac
> find_min_book
> old
> 605 decicycles in find_min_book, 8388453 runs, 155 skips.9x
> 606 decicycles in find_min_book,16776912 runs, 304 skips.9x
> 607 decicycles in find_min_book,33553819 runs, 613 skips.2x
> 607 decicycles in find_min_book,67107668 runs, 1196 skips.3x
> 607 decicycles in find_min_book,134215360 runs, 2368 skips3x
>
> new
> 359 decicycles in find_min_book, 8388552 runs, 56 skips.3x
> 360 decicycles in find_min_book,16777112 runs, 104 skips.1x
> 361 decicycles in find_min_book,33554218 runs, 214 skips.4x
> 361 decicycles in find_min_book,67108381 runs, 483 skips.5x
> 361 decicycles in find_min_book,134216725 runs, 1003 skips5x
>
> and more importantly a non-negligible speedup (~ 8%) to overall AAC
> encoding:
> old:
> ffmpeg -i sin.flac -acodec aac -strict -2 -y sin_new.aac 6.82s user 0.03s
> system 104% cpu 6.565 total
> new:
> ffmpeg -i sin.flac -acodec aac -strict -2 -y sin_old.aac 6.24s user 0.03s
> system 104% cpu 5.993 total
>
> Signed-off-by: Ganesh Ajjanagadde <gajjanag at gmail.com>
>
Nicely spotted, thanks.
LGTM, feel free to apply whenever you can.
More information about the ffmpeg-devel
mailing list