• Muhammad Faiz's avatar
    avcodec/pthread_slice: use slice threading from avutil · b505f15b
    Muhammad Faiz authored
    Also remove pthread_cond_broadcast(progress_cond) on uninit.
    Broadcasting it is not required because workers are always
    parked when they are not in thread_execute. So it is imposible
    that a worker is waiting on progress_cond when uninitialized.
    
    Benchmark:
    ./ffmpeg -threads $threads -thread_type slice -i 10slices.mp4 -f null null
    threads=2:
      old: 70.212s 70.525s 70.877s
      new: 65.219s 65.377s 65.484s
    threads=3:
      old: 65.086s 66.306s 66.409s
      new: 63.229s 65.026s 65.116s
    threads=4:
      old: 60.993s 61.482s 62.123s
      new: 59.224s 59.441s 59.667s
    threads=5:
      old: 57.576s 57.860s 58.832s
      new: 53.032s 53.948s 54.086s
    Signed-off-by: 's avatarMuhammad Faiz <mfcc64@gmail.com>
    b505f15b
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
ffbuild 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...
CONTRIBUTING.md 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...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_opencl.c Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_cuvid.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_hw.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_qsv.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...