• Ganesh Ajjanagadde's avatar
    avfilter/vsrc_mandelbrot: change sin to sinf for color computation · 99061996
    Ganesh Ajjanagadde authored
    lrintf is anyway used, suggesting we only care up to floating precision.
    Rurthermore, there is a compat hack in avutil/libm for this function,
    and it is used in avcodec/aacps_tablegen.h.
    
    This yields a non-negligible speedup. Sample benchmark:
    x86-64, Haswell, GNU/Linux:
    
    old (draw_mandelbrot):
    274635709 decicycles in draw_mandelbrot,     256 runs,      0 skips
    300287046 decicycles in draw_mandelbrot,     512 runs,      0 skips
    371819935 decicycles in draw_mandelbrot,    1024 runs,      0 skips
    336663765 decicycles in draw_mandelbrot,    2048 runs,      0 skips
    581851016 decicycles in draw_mandelbrot,    4096 runs,      0 skips
    
    new (draw_mandelbrot):
    269882717 decicycles in draw_mandelbrot,     256 runs,      0 skips
    296359285 decicycles in draw_mandelbrot,     512 runs,      0 skips
    370076599 decicycles in draw_mandelbrot,    1024 runs,      0 skips
    331478354 decicycles in draw_mandelbrot,    2048 runs,      0 skips
    571904318 decicycles in draw_mandelbrot,    4096 runs,      0 skips
    Reviewed-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: 's avatarGanesh Ajjanagadde <gajjanagadde@gmail.com>
    99061996
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
cmdutils_opencl.c Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_dxva2.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_qsv.c Loading commit data...
ffmpeg_vdpau.c Loading commit data...
ffmpeg_videotoolbox.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
ffserver_config.c Loading commit data...
ffserver_config.h Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...