• Henrik Gramner's avatar
    Checkasm: assembly testing and benchmarking tool · 8bc67ec2
    Henrik Gramner authored
    It provides the following features:
     * verify correctness by comparing output to the C version.
     * detect failure to save and restore clobbered callee-saved registers.
     * detect 32-bit parameters being used as if they were 64-bit in x86-64
       (the upper halves are not guaranteed to be zero - but in practice
       they very often are, which makes those bugs hard to spot otherwise).
     * easy benchmarking.
    
    Compile by running 'make checkasm'.
    Execute by running 'tests/checkasm/checkasm'.
    
    Optional arguments are '--bench' to run benchmarks for all functions,
    '--bench=<pattern>' to run benchmarks for all functions that starts with
    <pattern>, and '<integer>' to seed the PRNG for reproducible results.
    
    Contains unit tests for most h264pred functions to get started, more tests
    can be added afterwards using those as a reference.
    
    Loosely based on code from x264. Currently only supports x86 and x86-64,
    but additional architectures shouldn't be too much of an obstacle to add.
    
    Note that functions with floating point parameters or floating point
    return values are not supported. Some compiler-specific features or
    preprocessor hacks would likely be required to add support for that.
    Signed-off-by: 's avatarJanne Grunau <janne-libav@jannau.net>
    8bc67ec2
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...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes 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...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
avconv.c Loading commit data...
avconv.h Loading commit data...
avconv_dxva2.c Loading commit data...
avconv_filter.c Loading commit data...
avconv_opt.c Loading commit data...
avconv_vda.c Loading commit data...
avconv_vdpau.c Loading commit data...
avplay.c Loading commit data...
avprobe.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...
library.mak Loading commit data...
version.sh Loading commit data...