• Ronald S. Bultje's avatar
    get_bits: introduce safe bitreading to prevent overreads. · 8cfbbd92
    Ronald S. Bultje authored
    When turned on, H264/CAVLC gets ~15% (CVPCMNL1_SVA_C.264) slower for
    ultra-high-bitrate files, or ~2.5% (CVFI1_SVA_C.264) for lower-bitrate
    files. Other codecs are affected to a lesser extent because they are
    less optimized; e.g., VC-1 slows down by less than 1% (all on x86).
    The patch generated 3 extra instructions (cmp, cmovae and mov) per
    call to get_bits().
    
    The performance penalty on ARM is within the error margin for most
    files, up to 4% in extreme cases such as CVPCMNL1_SVA_C.264.
    
    Based on work (for GCI) by Aneesh Dogra <lionaneesh@gmail.com>, and
    inspired by patch in Chromium by Chris Evans <cevans@chromium.org>.
    8cfbbd92
Name
Last commit
Last update
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore 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...
Doxyfile Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
avconv.c Loading commit data...
avplay.c Loading commit data...
avprobe.c Loading commit data...
avserver.c Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...