• 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
..
checkasm Loading commit data...
fate Loading commit data...
filtergraphs Loading commit data...
ref Loading commit data...
Makefile Loading commit data...
audiogen.c Loading commit data...
base64.c Loading commit data...
fate-run.sh Loading commit data...
fate.sh Loading commit data...
lavf-regression.sh Loading commit data...
md5.sh Loading commit data...
reference.pnm Loading commit data...
regression-funcs.sh Loading commit data...
rotozoom.c Loading commit data...
tiny_psnr.c Loading commit data...
utils.c Loading commit data...
videogen.c Loading commit data...