[FFmpeg-devel] [PATCH] lavc/aacenc_utils: replace sqrtf(Q*sqrtf(Q)) by precomputed value

Ganesh Ajjanagadde gajjanag at gmail.com
Wed Mar 2 05:06:12 CET 2016


On Tue, Mar 1, 2016 at 9:14 AM, Rostislav Pehlivanov
<atomnuker at gmail.com> wrote:
> 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.
>

pushed, thanks both


More information about the ffmpeg-devel mailing list