[FFmpeg-devel] [PATCH] all: replace qsort with AV_QSORT
Ganesh Ajjanagadde
gajjanag at mit.edu
Sun Oct 18 17:06:57 CEST 2015
On Sun, Oct 18, 2015 at 11:01 AM, wm4 <nfxjfg at googlemail.com> wrote:
> On Sun, 18 Oct 2015 10:47:52 -0400
> Ganesh Ajjanagadde <gajjanagadde at gmail.com> wrote:
>
>> Commit e11e32686fdb21aded1ccf70202f1fffe87bb6a2 explains why replacing
>> qsort with AV_QSORT yields performance improvements.
>>
>> This replaces all existing uses of libc's qsort with AV_QSORT.
>>
>> Benchmarks deemed unnecessary due to existing claims about AV_QSORT.
>> Tested with FATE.
>>
>> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
>> ---
>> cmdutils.c | 3 ++-
>> cmdutils_opencl.c | 3 ++-
>> ffmpeg.c | 3 ++-
>> libavcodec/aacsbr_template.c | 14 ++++++++------
>> libavcodec/huffman.c | 3 ++-
>> libavcodec/motion_est_template.c | 3 ++-
>> libavcodec/utvideodec.c | 4 ++--
>> libavcodec/utvideoenc.c | 5 +++--
>> libavfilter/f_sendcmd.c | 3 ++-
>> libavfilter/vf_deshake.c | 3 ++-
>> libavfilter/vf_palettegen.c | 2 +-
>> libavfilter/vf_paletteuse.c | 2 +-
>> libavfilter/vf_removegrain.c | 7 ++++---
>> libavformat/subtitles.c | 10 +++++++---
>> libswresample/swresample-test.c | 3 ++-
>> tests/checkasm/checkasm.c | 4 ++--
>> 16 files changed, 44 insertions(+), 28 deletions(-)
>
> By how much does this increase binary code size?
>
> Is it really faster? (libc qsort() could use a better algorithm,
> even if it has to go through indirections.)
Michael has already shown that AV_QSORT is faster. libc's qsort can
easily be looked up: Michael already uses most of the tricks (usage of
stack to avoid recursion, etc). The main benefits come from the
inlining.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
More information about the ffmpeg-devel
mailing list