FFmpeg
Data Structures | Functions | Variables
checkasm.c File Reference
#include "checkasm_config.h"
#include <assert.h>
#include <errno.h>
#include <inttypes.h>
#include <limits.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "checkasm/checkasm.h"
#include "checkasm/test.h"
#include "cpu.h"
#include "function.h"
#include "html_data.h"
#include "internal.h"
#include "stats.h"

Go to the source code of this file.

Data Structures

struct  IterState
 

Functions

CheckasmCpu checkasm_get_cpu_flags (void)
 Get the current active set of CPU flags. More...
 
const CheckasmCpuInfocheckasm_get_cpu_info (void)
 Get the CPU flag currently being tested. More...
 
static const char * cpu_suffix (const CheckasmCpuInfo *cpu)
 
static const char * ver_suffix (const CheckasmFuncVersion *ver)
 
static double relative_error (double lvar)
 
static char separator (CheckasmFormat format)
 
static void json_var (CheckasmJson *json, const char *key, const char *unit, const CheckasmVar var)
 
static void json_measurement (CheckasmJson *json, const char *key, const char *unit, const CheckasmMeasurement measurement)
 
static void cpu_info_json (void *priv, const char *fmt,...)
 
static void print_bench_header (struct IterState *const iter)
 
static void print_bench_footer (struct IterState *const iter)
 
static void print_bench_iter (const CheckasmFunc *const f, struct IterState *const iter)
 
static void print_benchmarks (void)
 
int checkasm_bench_func (void)
 Check if current function should be benchmarked. More...
 
int checkasm_bench_runs (void)
 Get number of iterations for current benchmark run. More...
 
void checkasm_bench_update (const int iterations, const uint64_t cycles)
 Update benchmark statistics with timing results. More...
 
void checkasm_bench_finish (void)
 Finalize and store benchmark results. More...
 
static int wildstrcmp (const char *str, const char *pattern)
 
static void handle_interrupt (void)
 
static void check_cpu_flag (const CheckasmCpuInfo *cpu)
 
static void print_cpu_name (void)
 
int checkasm_run_on_all_cores (void(*func)(void))
 
static int set_cpu_affinity (const unsigned affinity)
 
void checkasm_list_cpu_flags (const CheckasmConfig *cfg)
 Print available CPU flags to stdout. More...
 
void checkasm_list_tests (const CheckasmConfig *config)
 Print available tests. More...
 
static void print_functions (const CheckasmFunc *const f)
 
void checkasm_list_functions (const CheckasmConfig *config)
 Print available functions within tests. More...
 
static void cpu_fprintf (void *priv, const char *fmt,...)
 
static COLD void print_info (void)
 
static int print_summary (void)
 
int checkasm_run (const CheckasmConfig *config)
 Run all tests and benchmarks matching the specified patterns. More...
 
CheckasmKey checkasm_check_key (const CheckasmKey version, const char *const name,...)
 
void checkasm_set_func_variant (const char *id_fmt,...)
 
static int fail_internal (const char *const msg, va_list arg)
 
int checkasm_fail_func (const char *const msg,...)
 
void checkasm_fail_abort (const char *const msg,...)
 
int checkasm_should_fail (CheckasmCpu cpu_flags)
 Mark a block of tests as expected to fail. More...
 
void checkasm_report (const char *const name,...)
 
static void print_usage (const char *const progname)
 
static int parseu (unsigned *const dst, const char *const str, const int base)
 
int checkasm_main (CheckasmConfig *config, int argc, const char *argv[])
 Main entry point for checkasm test programs. More...
 

Variables

static CheckasmConfig cfg
 
static CheckasmStats stats
 
struct {
   CheckasmFuncTree   tree
 
   const CheckasmCpuInfo *   cpu
 
   int   cpu_name_printed
 
   CheckasmCpu   cpu_flags
 
   int   cpu_suffix_length
 
   const char *   test_name
 
   int   should_fail
 
   int   report_idx
 
   CheckasmFunc *   func
 
   CheckasmFuncVersion *   func_ver
 
   char *   func_variant
 
   uint64_t   cycles
 
   int   num_funcs
 
   int   num_checked
 
   int   num_failed
 
   int   num_benched
 
   int   prev_checked
 
   int   prev_failed
 
   int   saved_checked
 
   int   saved_failed
 
   double   var_sum
 
   double   var_max
 
current
 
struct {
   int   max_function_name_length
 
   int   max_report_name_length
 
   CheckasmMeasurement   nop_cycles
 
   CheckasmMeasurement   perf_scale
 
   uint64_t   target_cycles
 
   int   skip_tests
 
state
 

Function Documentation

◆ checkasm_get_cpu_flags()

CheckasmCpu checkasm_get_cpu_flags ( void  )

Get the current active set of CPU flags.

Returns the currently active (masked) set of CPU flags. During test execution, this reflects which CPU features are currently being tested. May be called from within test functions to choose an implementation to test.

Returns
Current CPU feature flags as a bitmask
Note
The returned value changes as checkasm iterates through different CPU feature sets during testing.

Definition at line 121 of file checkasm.c.

Referenced by selftest_test_retval().

◆ checkasm_get_cpu_info()

const CheckasmCpuInfo* checkasm_get_cpu_info ( void  )

Get the CPU flag currently being tested.

Returns the CheckasmCpuInfo structure for the CPU flag currently being tested, or NULL if testing the baseline configuration with no additional CPU flags.

Returns
Currently active CPU flag info, or NULL
Note
Unlike checkasm_get_cpu_flags(), this only reflects the currently running test, and does not include any information about previously tested CPU flags.
Since
v1.2.0

Definition at line 126 of file checkasm.c.

Referenced by check_ops(), and checkasm_get_cpu_suffix().

◆ cpu_suffix()

static const char* cpu_suffix ( const CheckasmCpuInfo cpu)
static

Definition at line 132 of file checkasm.c.

Referenced by check_cpu_flag(), and ver_suffix().

◆ ver_suffix()

static const char* ver_suffix ( const CheckasmFuncVersion ver)
static

Definition at line 137 of file checkasm.c.

Referenced by fail_internal(), print_bench_iter(), and print_functions().

◆ relative_error()

static double relative_error ( double  lvar)
static

Definition at line 143 of file checkasm.c.

Referenced by print_bench_footer().

◆ separator()

static char separator ( CheckasmFormat  format)
inlinestatic

◆ json_var()

static void json_var ( CheckasmJson json,
const char *  key,
const char *  unit,
const CheckasmVar  var 
)
static

Definition at line 157 of file checkasm.c.

Referenced by json_measurement(), print_bench_header(), and print_bench_iter().

◆ json_measurement()

static void json_measurement ( CheckasmJson json,
const char *  key,
const char *  unit,
const CheckasmMeasurement  measurement 
)
static

Definition at line 176 of file checkasm.c.

Referenced by print_bench_header(), and print_bench_iter().

◆ cpu_info_json()

static void cpu_info_json ( void *  priv,
const char *  fmt,
  ... 
)
static

Definition at line 201 of file checkasm.c.

Referenced by print_bench_header().

◆ print_bench_header()

static void print_bench_header ( struct IterState *const  iter)
static

Definition at line 219 of file checkasm.c.

Referenced by print_benchmarks().

◆ print_bench_footer()

static void print_bench_footer ( struct IterState *const  iter)
static

Definition at line 314 of file checkasm.c.

Referenced by print_benchmarks().

◆ print_bench_iter()

static void print_bench_iter ( const CheckasmFunc *const  f,
struct IterState *const  iter 
)
static

Definition at line 350 of file checkasm.c.

Referenced by print_benchmarks().

◆ print_benchmarks()

static void print_benchmarks ( void  )
static

Definition at line 439 of file checkasm.c.

Referenced by print_summary().

◆ wildstrcmp()

static int wildstrcmp ( const char *  str,
const char *  pattern 
)
static

Definition at line 506 of file checkasm.c.

Referenced by check_cpu_flag(), and checkasm_check_key().

◆ handle_interrupt()

static void handle_interrupt ( void  )
static

Definition at line 774 of file checkasm.c.

Referenced by check_cpu_flag(), and checkasm_report().

◆ check_cpu_flag()

static void check_cpu_flag ( const CheckasmCpuInfo cpu)
static

Definition at line 529 of file checkasm.c.

Referenced by checkasm_list_functions(), and checkasm_run().

◆ print_cpu_name()

static void print_cpu_name ( void  )
static

Definition at line 592 of file checkasm.c.

Referenced by checkasm_report(), and fail_internal().

◆ checkasm_run_on_all_cores()

int checkasm_run_on_all_cores ( void(*)(void)  func)

Definition at line 601 of file checkasm.c.

Referenced by checkasm_perf_init().

◆ set_cpu_affinity()

static int set_cpu_affinity ( const unsigned  affinity)
static

Definition at line 628 of file checkasm.c.

Referenced by checkasm_run().

◆ checkasm_list_cpu_flags()

void checkasm_list_cpu_flags ( const CheckasmConfig config)

Print available CPU flags to stdout.

Prints a list of all CPU flags/features that are available for testing based on the configuration, as well as CPU flags which are defined but unsupported on the system.

Parameters
[in]configConfiguration containing CPU flag definitions

Definition at line 668 of file checkasm.c.

Referenced by checkasm_main().

◆ checkasm_list_tests()

void checkasm_list_tests ( const CheckasmConfig config)

Print available tests.

Prints a list of all test functions registered in the configuration. Useful for discovering what tests are available and for use with test pattern filtering.

Parameters
[in]configConfiguration containing test definitions

Definition at line 681 of file checkasm.c.

Referenced by checkasm_main().

◆ print_functions()

static void print_functions ( const CheckasmFunc *const  f)
static

Definition at line 687 of file checkasm.c.

Referenced by checkasm_list_functions().

◆ checkasm_list_functions()

void checkasm_list_functions ( const CheckasmConfig config)

Print available functions within tests.

Prints a detailed list of all functions being tested across all registered tests. Useful for discovering what can be filtered with function patterns.

Parameters
[in]configConfiguration containing test definitions
Note
This requires executing all tests to gather information about the available functions. During this process, checkasm_check_func() always returns 0 to skip the actual testing. However, any side effects from test functions will still occur, unless properly guarded.

Definition at line 700 of file checkasm.c.

Referenced by checkasm_main().

◆ cpu_fprintf()

static void cpu_fprintf ( void *  priv,
const char *  fmt,
  ... 
)
static

Definition at line 715 of file checkasm.c.

Referenced by print_info().

◆ print_info()

static COLD void print_info ( void  )
static

Definition at line 727 of file checkasm.c.

Referenced by checkasm_run().

◆ print_summary()

static int print_summary ( void  )
static

Definition at line 755 of file checkasm.c.

Referenced by checkasm_run(), and handle_interrupt().

◆ checkasm_run()

int checkasm_run ( const CheckasmConfig config)

Run all tests and benchmarks matching the specified patterns.

Executes the checkasm test suite according to the configuration. Tests and functions are filtered according to test_pattern and function_pattern if specified. Benchmarks are run if bench is enabled.

Parameters
[in]configConfiguration structure with all test parameters
Returns
0 on success (all tests passed), negative error code on failure
Note
This is the lower-level entry point. Most users should use checkasm_main() instead, which handles argument parsing.
Warning
This function may override the processor state in subtle ways, including enabling high-precision performance timers, installing signal handlers and configuring the terminal output.
See also
checkasm_main()

Definition at line 783 of file checkasm.c.

Referenced by checkasm_main().

◆ checkasm_check_key()

CheckasmKey checkasm_check_key ( const CheckasmKey  version,
const char *const  name,
  ... 
)

Definition at line 865 of file checkasm.c.

◆ checkasm_set_func_variant()

void checkasm_set_func_variant ( const char *  id_fmt,
  ... 
)

Definition at line 968 of file checkasm.c.

◆ fail_internal()

static int fail_internal ( const char *const  msg,
va_list  arg 
)
static

Definition at line 979 of file checkasm.c.

Referenced by checkasm_fail_abort(), and checkasm_fail_func().

◆ checkasm_fail_func()

int checkasm_fail_func ( const char *const  msg,
  ... 
)

Definition at line 997 of file checkasm.c.

Referenced by check_cpu_flag().

◆ checkasm_fail_abort()

void checkasm_fail_abort ( const char *const  msg,
  ... 
)

Definition at line 1006 of file checkasm.c.

Referenced by checkasm_pop_stack_guard().

◆ checkasm_should_fail()

int checkasm_should_fail ( CheckasmCpu  cpu_flags)

Mark a block of tests as expected to fail.

Marks the following test functions as expected to fail when any of the specified CPU flags are set. Returns whether these functions should be executed.

Parameters
[in]cpu_flagsCPU flags for which failure is expected (or -1 for all)
Returns
1 if functions should be executed, 0 if they should be skipped
Note
All functions inside such a block must fail, otherwise the whole test will be considered failed. This is used for testing that known-broken implementations are properly detected as broken.
This is not normally useful for end users; it is mainly defined for use inside checkasm's internal test suite.
if (checkasm_should_fail(CPU_FLAG_SSE2)) {
// This implementation is known to be broken on SSE2
if (checkasm_check_func(broken_func_sse2, "broken_func")) {
checkasm_call_new(); // should fail
}
}

Definition at line 1017 of file checkasm.c.

Referenced by selftest_check_generic().

◆ checkasm_report()

void checkasm_report ( const char *const  name,
  ... 
)

Definition at line 1032 of file checkasm.c.

Referenced by check_cpu_flag().

◆ print_usage()

static void print_usage ( const char *const  progname)
static

Definition at line 1098 of file checkasm.c.

Referenced by checkasm_main().

◆ parseu()

static int parseu ( unsigned *const  dst,
const char *const  str,
const int  base 
)
static

Definition at line 1123 of file checkasm.c.

Referenced by checkasm_main().

◆ checkasm_main()

int checkasm_main ( CheckasmConfig config,
int  argc,
const char *  argv[] 
)

Main entry point for checkasm test programs.

Convenience wrapper around checkasm_run() that parses command-line arguments and updates the config accordingly. This is the recommended entry point for most checkasm test programs. Call this from your main() function.

Before calling this function, initialize config with the minimum set of project-specific fields:

  • config.cpu_flags: Array of CPU features to test
  • config.tests: Array of test functions
  • config.cpu: Detected CPU capabilities

Command-line arguments like –bench, –test, –function, –seed, etc. are automatically parsed and applied to the config.

Parameters
[in,out]configConfiguration structure (will be modified by argument parsing)
[in]argcArgument count from main()
[in]argvArgument vector from main()
Returns
0 on success, non-zero on failure (suitable for return from main())
int main(int argc, const char *argv[]) {
.cpu_flags = my_cpu_flags,
.tests = my_tests,
.cpu = my_get_cpu_flags(),
.set_cpu_flags = my_set_cpu_flags,
};
return checkasm_main(&config, argc, argv);
}
See also
checkasm_run()

Definition at line 1142 of file checkasm.c.

Referenced by main().

Variable Documentation

◆ cfg

CheckasmConfig cfg
static

◆ stats

CheckasmStats stats
static

◆ tree

◆ cpu

const CheckasmCpuInfo* cpu

Definition at line 82 of file checkasm.c.

Referenced by check_cpu_flag(), and cpu_suffix().

◆ cpu_name_printed

int cpu_name_printed

Definition at line 83 of file checkasm.c.

◆ cpu_flags

CheckasmCpu cpu_flags

Definition at line 84 of file checkasm.c.

Referenced by aarch64_compile(), check_filter_4x4_h(), checkasm_should_fail(), compile(), davs2_init(), define_8tap_2d_funcs(), ff_aacenc_dsp_init_aarch64(), ff_aacenc_dsp_init_x86(), ff_ac3dsp_init_aarch64(), ff_ac3dsp_init_arm(), ff_ac3dsp_init_x86(), ff_ac3dsp_set_downmix_x86(), ff_afir_init_x86(), ff_alacdsp_init_x86(), ff_anlmdn_init_x86(), ff_atadenoise_init_x86(), ff_audiodsp_init_arm(), ff_audiodsp_init_x86(), ff_blackdetect_get_fn_x86(), ff_blend_init_x86(), ff_blockdsp_init_arm(), ff_blockdsp_init_mips(), ff_blockdsp_init_x86(), ff_bswapdsp_init_x86(), ff_bwdif_init_aarch64(), ff_bwdif_init_x86(), ff_cavsdsp_init_x86(), ff_celt_pvq_init_x86(), ff_cfhddsp_init_x86(), ff_cfhdencdsp_init_x86(), ff_color_detect_dsp_init_aarch64(), ff_color_detect_dsp_init_x86(), ff_colorspacedsp_x86_init(), ff_convolution_init_x86(), ff_crc_get_table_aarch64(), ff_crc_get_table_x86(), ff_crc_init_aarch64(), ff_crc_init_x86(), ff_dcadsp_init_aarch64(), ff_dcadsp_init_x86(), ff_dct_encode_init_x86(), ff_ebur128_init_x86(), ff_eq_init_x86(), ff_exrdsp_init_x86(), ff_fdctdsp_init_aarch64(), ff_fdctdsp_init_x86(), ff_fixed_dsp_init_x86(), ff_flacdsp_init_x86(), ff_flacencdsp_init_x86(), ff_float_dsp_init_aarch64(), ff_float_dsp_init_arm(), ff_float_dsp_init_vfp(), ff_float_dsp_init_x86(), ff_fmt_convert_init_aarch64(), ff_fmt_convert_init_arm(), ff_fmt_convert_init_x86(), ff_framerate_init_x86(), ff_fsppdsp_init_x86(), ff_g722dsp_init_arm(), ff_g722dsp_init_x86(), ff_gblur_init_x86(), ff_get_unscaled_swscale_aarch64(), ff_gradfun_init_x86(), ff_h263dsp_init_mips(), ff_h263dsp_init_x86(), ff_h264_pred_init_aarch64(), ff_h264_pred_init_arm(), ff_h264_pred_init_loongarch(), ff_h264_pred_init_mips(), ff_h264chroma_init_aarch64(), ff_h264chroma_init_arm(), ff_h264chroma_init_loongarch(), ff_h264chroma_init_mips(), ff_h264chroma_init_x86(), ff_h264dsp_init_aarch64(), ff_h264dsp_init_arm(), ff_h264dsp_init_loongarch(), ff_h264dsp_init_mips(), ff_h264dsp_init_x86(), ff_h264qpel_init_aarch64(), ff_h264qpel_init_arm(), ff_h264qpel_init_loongarch(), ff_h264qpel_init_mips(), ff_h264qpel_init_x86(), ff_hevc_dsp_init_aarch64(), ff_hevc_dsp_init_arm(), ff_hevc_dsp_init_loongarch(), ff_hevc_dsp_init_mips(), ff_hevc_dsp_init_wasm(), ff_hevc_dsp_init_x86(), ff_hevc_pred_init_aarch64(), ff_hevc_pred_init_mips(), ff_hflip_init_x86(), ff_hpeldsp_init_aarch64(), ff_hpeldsp_init_arm(), ff_hpeldsp_init_loongarch(), ff_hpeldsp_init_mips(), ff_hpeldsp_init_x86(), ff_huffyuvdsp_init_aarch64(), ff_huffyuvdsp_init_x86(), ff_huffyuvencdsp_init_x86(), ff_idctdsp_init_aarch64(), ff_idctdsp_init_arm(), ff_idctdsp_init_loongarch(), ff_idctdsp_init_mips(), ff_idctdsp_init_x86(), ff_image_copy_plane_uc_from_x86(), ff_init_aes_x86(), ff_init_lls_x86(), ff_jpeg2000dsp_init_x86(), ff_limiter_init_x86(), ff_llauddsp_init_arm(), ff_llauddsp_init_x86(), ff_llviddsp_init_x86(), ff_llvidencdsp_init_x86(), ff_lpc_init_x86(), ff_lut3d_init_x86(), ff_maskedclamp_init_x86(), ff_maskedmerge_init_x86(), ff_me_cmp_init_aarch64(), ff_me_cmp_init_arm(), ff_me_cmp_init_mips(), ff_me_cmp_init_x86(), ff_mlpdsp_init_arm(), ff_mlpdsp_init_x86(), ff_mpadsp_init_aarch64(), ff_mpadsp_init_arm(), ff_mpadsp_init_x86(), ff_mpeg4videodsp_init_x86(), ff_mpegvideoencdsp_init_aarch64(), ff_mpegvideoencdsp_init_arm(), ff_mpegvideoencdsp_init_mips(), ff_mpegvideoencdsp_init_x86(), ff_mpv_unquantize_init_arm(), ff_mpv_unquantize_init_mips(), ff_mpv_unquantize_init_neon(), ff_mpv_unquantize_init_x86(), ff_nlmeans_init_aarch64(), ff_nlmeans_init_x86(), ff_noise_init_x86(), ff_opus_dsp_init_aarch64(), ff_opus_dsp_init_x86(), ff_overlay_init_x86(), ff_pixblockdsp_init_aarch64(), ff_pixblockdsp_init_arm(), ff_pixblockdsp_init_mips(), ff_pixblockdsp_init_riscv(), ff_pixblockdsp_init_x86(), ff_pixelutils_sad_init_aarch64(), ff_pixelutils_sad_init_arm(), ff_pixelutils_sad_init_mips(), ff_pixelutils_sad_init_x86(), ff_pngdsp_init_aarch64(), ff_pngdsp_init_x86(), ff_pp7dsp_init_x86(), ff_proresdsp_init_x86(), ff_psdsp_init_aarch64(), ff_psdsp_init_arm(), ff_psdsp_init_x86(), ff_psnr_init_x86(), ff_pullup_init_x86(), ff_qpeldsp_init_mips(), ff_qpeldsp_init_x86(), ff_removegrain_init_x86(), ff_rv34dsp_init_arm(), ff_rv34dsp_init_x86(), ff_rv40dsp_init_aarch64(), ff_rv40dsp_init_arm(), ff_rv40dsp_init_x86(), ff_sbcdsp_init_arm(), ff_sbcdsp_init_x86(), ff_sbrdsp_init_aarch64(), ff_sbrdsp_init_arm(), ff_sbrdsp_init_x86(), ff_scene_sad_get_fn_x86(), ff_shuffle_filter_coefficients(), ff_sobel_init_x86(), ff_spp_init_x86(), ff_ssim_init_x86(), ff_stereo3d_init_x86(), ff_svq1enc_init_x86(), ff_sws_init_range_convert_aarch64(), ff_sws_init_range_convert_loongarch(), ff_sws_init_range_convert_x86(), ff_sws_init_single_context(), ff_sws_init_swscale_aarch64(), ff_sws_init_swscale_arm(), ff_sws_init_swscale_loongarch(), ff_sws_init_swscale_vsx(), ff_sws_init_swscale_x86(), ff_sws_init_xyzdsp_aarch64(), ff_sws_op_compile_tables(), ff_swscale(), ff_synth_filter_init_aarch64(), ff_synth_filter_init_arm(), ff_synth_filter_init_x86(), ff_takdsp_init_x86(), ff_threshold_init_x86(), ff_tinterlace_init_x86(), ff_transpose_init_x86(), ff_ttadsp_init_x86(), ff_ttaencdsp_init_x86(), ff_tx_decompose_length(), ff_tx_init_subtx(), ff_utvideodsp_init_x86(), ff_v210_x86_init(), ff_v210enc_init_x86(), ff_v360_init_x86(), ff_vc1dsp_init_aarch64(), ff_vc1dsp_init_arm(), ff_vc1dsp_init_loongarch(), ff_vc1dsp_init_mips(), ff_vc1dsp_init_x86(), ff_videodsp_init_aarch64(), ff_videodsp_init_arm(), ff_videodsp_init_mips(), ff_videodsp_init_x86(), ff_volume_init_x86(), ff_vorbisdsp_init_aarch64(), ff_vorbisdsp_init_arm(), ff_vorbisdsp_init_x86(), ff_vp3dsp_init_arm(), ff_vp3dsp_init_mips(), ff_vp3dsp_init_x86(), ff_vp6dsp_init_x86(), ff_vp78dsp_init_arm(), ff_vp78dsp_init_x86(), ff_vp8dsp_init_arm(), ff_vp8dsp_init_loongarch(), ff_vp8dsp_init_mips(), ff_vp8dsp_init_x86(), ff_vp9dsp_init_16bpp_x86(), ff_vp9dsp_init_loongarch(), ff_vp9dsp_init_mips(), ff_vvc_dsp_init_aarch64(), ff_vvc_dsp_init_x86(), ff_w3fdif_init_x86(), ff_wmv2dsp_init_mips(), ff_xvid_idct_init_mips(), ff_xvid_idct_init_x86(), ff_yadif_init_x86(), ff_yuv2rgb_init_aarch64(), ff_yuv2rgb_init_loongarch(), ff_yuv2rgb_init_x86(), FUNC_MAIN_DECL_16bit(), get_codelet_prio(), get_mmsize(), initFilter(), lf_mix_fns(), main(), PRED4x4(), print_cpu_flags(), rgb2rgb_init_aarch64(), rgb2rgb_init_loongarch(), rgb2rgb_init_x86(), swri_audio_convert_init_aarch64(), swri_audio_convert_init_arm(), swri_resample_dsp_aarch64_init(), swri_resample_dsp_arm_init(), vp9dsp_itxfm_init_aarch64(), vp9dsp_itxfm_init_arm(), vp9dsp_loopfilter_init_aarch64(), and vp9dsp_loopfilter_init_arm().

◆ cpu_suffix_length

int cpu_suffix_length

Definition at line 85 of file checkasm.c.

◆ test_name

const char* test_name

Definition at line 86 of file checkasm.c.

◆ should_fail

int should_fail

Definition at line 87 of file checkasm.c.

◆ report_idx

int report_idx

Definition at line 88 of file checkasm.c.

◆ func

CheckasmFunc* func

Definition at line 91 of file checkasm.c.

Referenced by checkasm_report(), and checkasm_run_on_all_cores().

◆ func_ver

Definition at line 92 of file checkasm.c.

◆ func_variant

char* func_variant

Definition at line 93 of file checkasm.c.

◆ cycles

uint64_t cycles

◆ num_funcs

int num_funcs

Definition at line 97 of file checkasm.c.

◆ num_checked

int num_checked

Definition at line 98 of file checkasm.c.

◆ num_failed

int num_failed

Definition at line 99 of file checkasm.c.

◆ num_benched

int num_benched

Definition at line 100 of file checkasm.c.

◆ prev_checked

int prev_checked

Definition at line 101 of file checkasm.c.

◆ prev_failed

int prev_failed

Definition at line 101 of file checkasm.c.

◆ saved_checked

int saved_checked

Definition at line 102 of file checkasm.c.

◆ saved_failed

int saved_failed

Definition at line 102 of file checkasm.c.

◆ var_sum

double var_sum

Definition at line 103 of file checkasm.c.

◆ var_max

double var_max

Definition at line 103 of file checkasm.c.

◆ current

struct { ... } current

Referenced by alf_data(), application_data(), aps(), assign_channels(), au_info(), aud(), cdef_params(), check_cpu_flag(), checkasm_bench_finish(), checkasm_bench_func(), checkasm_bench_runs(), checkasm_bench_update(), checkasm_check_key(), checkasm_get_cpu_flags(), checkasm_get_cpu_info(), checkasm_list_functions(), checkasm_report(), checkasm_run(), checkasm_set_func_variant(), checkasm_should_fail(), chomp3(), chomp6(), color_config(), colormap_nearest_node(), colour_mapping_octants(), colour_mapping_table(), comment(), commit_bitstream_and_slice_buffer(), compressed_header(), count_paired_channels(), dci(), dec_ref_pic_marking(), delta_lf_params(), delta_q_params(), dht(), dpb_parameters(), dpcm_predict(), dqt(), end_of_sequence(), end_of_stream(), extension_data(), extra_information(), fail_internal(), ff_id3v2_free_extra_meta(), filler(), film_grain_params(), filter_frame(), frame(), frame_header(), frame_header_obu(), frame_info(), frame_obu(), frame_reference_mode(), frame_size(), frame_size_with_refs(), frame_tag(), general_constraints_info(), general_timing_hrd_parameters(), get_frag_stream_info_from_pkt(), get_tile_pos(), global_motion_param(), global_motion_params(), hrd_parameters(), huffman_table(), interpolate_delay(), interpolation_filter(), LCEVC_BLOCK_FUNC(), lmcs_data(), loop_filter_params(), lr_params(), lz4_decompress(), message(), message_list(), metadata(), metadata_itu_t_t35(), metadata_payload(), metadata_undefined(), metadata_user_defined(), mode_ref_lf_deltas(), mov_fix_index(), mov_metadata_track_or_disc_number(), nal(), nal_unit_header(), obu_header(), ols_timing_hrd_parameters(), opi(), payload_extension(), ph(), picture_coding_extension(), picture_header(), pps(), pps_multilayer_extension(), pps_range_extension(), pps_scc_extension(), pred_weight_table(), print_bench_footer(), print_bench_header(), print_benchmarks(), print_cpu_name(), print_summary(), process_block(), process_block_list(), profile_tier_level(), quant_matrix_extension(), quantisation_table(), quantization_params(), read_channel_data(), read_table(), ref_pic_list_modification(), ref_pic_list_struct(), ref_pic_lists(), ref_pic_lists_modification(), render_size(), scaling_list(), scaling_list_data(), scan_header(), segmentation_params(), sei(), SEI_FUNC(), sei_payload(), sei_pic_timestamp(), sequence_display_extension(), sequence_extension(), sequence_header(), sequence_header_obu(), set_frame_refs(), set_pict_type(), skip_mode_params(), slice_header(), slice_segment_header(), sps(), sps_extension(), sps_range_extension(), sps_scc_extension(), st_ref_pic_set(), sub_layer_hrd_parameters(), superframe_index(), superres_params(), svq1_decode_delta_block(), svq1_decode_frame(), svq1_motion_inter_4v_block(), svq1_motion_inter_block(), svq1_skip_block(), tile(), tile_group_obu(), tile_header(), tile_info(), timing_info(), uncompressed_header(), update_mv_probs(), update_segmentation(), update_token_probs(), user_data(), vps(), vui_parameters(), and vui_payload().

◆ max_function_name_length

int max_function_name_length

Definition at line 109 of file checkasm.c.

◆ max_report_name_length

int max_report_name_length

Definition at line 110 of file checkasm.c.

◆ nop_cycles

CheckasmMeasurement nop_cycles

Definition at line 113 of file checkasm.c.

Referenced by print_bench_header(), print_bench_iter(), and print_info().

◆ perf_scale

CheckasmMeasurement perf_scale

Definition at line 114 of file checkasm.c.

Referenced by checkasm_run(), print_bench_header(), print_bench_iter(), and print_info().

◆ target_cycles

uint64_t target_cycles

Definition at line 117 of file checkasm.c.

Referenced by checkasm_measure_nop_cycles().

◆ skip_tests

int skip_tests

Definition at line 118 of file checkasm.c.

◆ state

struct { ... } state

Referenced by aac_sync(), adts_aac_resync(), adx_parse(), ahx_parse(), apng_probe(), apv_entropy_decode_block(), atrac9_init_static(), atrac9_init_vlc(), au_compress(), au_decompress(), av1_filter_obus(), av_assert0_fpu(), av_log_once(), av_lzo1x_decode(), av_rc4_crypt(), av_rc4_init(), avi_read_packet(), avpriv_find_start_code(), avpriv_fits_header_init(), avs2_find_frame_end(), avs2_probe(), avs3_find_frame_end(), avs3video_probe(), bfi_read_packet(), bmp_parse(), bonk_decode(), build_coeff_vlc(), build_vlc(), cabac_init_state(), cavs_find_frame_end(), ccitt_unpack_init(), check_cpu_flag(), check_script(), checkasm_bench_runs(), checkasm_bench_update(), checkasm_check_key(), checkasm_list_functions(), checkasm_report(), checkasm_run(), clv_init_static(), cng_rand(), compute_gru(), cri_parse(), dca_find_frame_end(), decode_cabac_intra_mb_type(), decode_current_mul(), decode_init_static(), decode_line(), decode_remap(), decode_significance_8x8_loongarch(), decode_significance_loongarch(), decode_slice_header(), decode_spectrum_ac(), delta_decode(), dfpwm_dec_frame(), dfpwm_dec_init(), dfpwm_enc_frame(), dfpwm_enc_init(), dnxhd_find_frame_end(), dnxuc_parse(), dpx_parse(), draw_cubic_curve_to(), draw_quad_curve_to(), draw_scope(), dts_probe(), dvdvideo_chapters_setup_preindex(), dvdvideo_menu_close(), dvdvideo_menu_next_ps_block(), dvdvideo_menu_open(), dvdvideo_play_close(), dvdvideo_play_next_ps_block(), dvdvideo_play_open(), dxv_compress_dxt1(), dxv_decompress_cgo(), dxv_decompress_dxt1(), dxv_decompress_dxt5(), dxv_decompress_yo(), encode_float32_remap_segment(), encode_high(), encode_histogram_remap(), encode_line(), encode_low(), encode_picture_ls(), encode_slice_header(), extract_extradata_mpeg12(), extract_extradata_mpeg4(), extract_extradata_vc1(), ff_aac_ac_finish(), ff_aac_ac_get_context(), ff_aac_ac_map_process(), ff_aac_ac_update_context(), ff_apv_entropy_decode_block(), ff_dshow_filter_GetState(), ff_dshow_filter_Pause(), ff_dshow_filter_Run(), ff_dshow_filter_Stop(), ff_ffv1_get_symbol(), ff_ffv1_parse_header(), ff_ffv1_read_extra_header(), ff_ffv1_write_extradata(), ff_h264_decode_init_vlc(), ff_http_auth_create_response(), ff_http_auth_handle_header(), ff_jpegls_decode_picture(), ff_jpegls_downscale_state(), ff_jpegls_init_state(), ff_jpegls_update_state_regular(), ff_rtp_send_h263_rfc2190(), ff_spdif_probe(), ff_spdif_read_packet(), ff_vlc_init_tables(), ff_vlc_init_tables_from_lengths(), ff_vlc_init_tables_sparse(), filter_frame(), find_any_startcode(), find_frame_end(), find_group3_syncmarker(), find_next_start_code(), find_start_code(), format_child_class_iterate(), frame_merge_filter(), ftr_parse(), gem_decode_frame(), gen_vlc(), get_cabac(), get_cabac_inline(), get_cabac_inline_loongarch(), get_cabac_inline_mips(), get_cabac_noinline(), get_ffv1_unsigned_symbol(), get_rac(), get_random_number(), get_symbol(), get_symbol2(), get_symbol_inline(), get_vlc_symbol(), h261_find_frame_end(), h263_find_frame_end(), h264_find_frame_end(), h264_split(), handle_basic_params(), handle_digest_params(), handle_digest_update(), hdcd_analyze_prepare(), hdcd_control(), hdcd_detect_onech(), hdcd_process(), hdcd_reset(), hdr_parse(), hevc_split(), hqx_init_static(), iir_filter(), imc_init_static(), init_base_tables(), init_sbr_tables(), init_tables_once(), ipu_parse(), iterative_me(), jpeg_probe(), jpegxs_find_frame_end(), latm_find_frame_end(), LCEVC_BLOCK_FUNC(), libgsm_encode_frame(), ls_decode_line(), ls_encode_line(), ls_encode_regular(), ls_encode_run(), ls_encode_runterm(), ls_get_code_regular(), ls_get_code_runterm(), ls_store_lse(), main(), make_digest_auth(), message(), misc4_parse(), mix(), mlp_filter_channel(), mobiclip_init_static(), mpc7_init_static(), mpeg1_find_frame_end(), mpeg4_find_frame_end(), mpeg4video_split(), mpegaudio_parse(), mpegaudiodec_common_init_static(), mpegts_write_packet_internal(), mpegvideo_split(), msmp4_vc1_vlcs_init(), msmpeg4_decode_init_static(), mxf_parse_ffv1_frame(), mxf_parse_h264_frame(), nc_read_packet(), next_gain(), opus_find_frame_end(), parse(), parse_adaptation_sets(), parse_nal_units(), parse_presentation_segment(), parse_profile_level(), predictor_calc_error(), predictor_init_state(), print_bench_header(), print_bench_iter(), print_info(), prng_shift(), process_block(), process_new(), process_old(), pulse_context_wait(), pulse_read_header(), pulse_stream_wait(), put_cabac(), put_lines_bits(), put_lines_bytes(), put_rac(), put_symbol(), put_symbol2(), put_symbol_inline(), put_vlc_symbol(), qoi_parse(), read_header(), read_high_coeffs(), read_low_coeffs(), read_quant_table(), ripemd128_transform(), ripemd160_transform(), ripemd256_transform(), ripemd320_transform(), rm_sync(), rtsp_read_set_state(), rv40_init_table(), rv40_init_tables(), rv60_init_static_data(), s337m_get_offset_and_codec(), s337m_probe(), s337m_read_packet(), sbc_synthesize_audio(), sbc_synthesize_eight(), sbc_synthesize_four(), SEI_FUNC(), send_mode_b(), sha1_transform(), sha256_transform(), sha512_transform(), shared_read(), speex_inband_handler(), svc_decode_frame(), svq1_static_init(), test_apv_entropy_decode_block(), uninit(), update_vlc_state(), vc1_init_static(), vc1_split(), vgs_eval(), vgs_eval_state_free(), vgs_eval_state_init(), vgs_fn_p(), vgs_fn_pathlen(), vgs_fn_randomg(), wait_for_state(), webp_parse(), write_header(), write_quant_table(), x8_init_vlc(), x8_vlc_init(), and xbm_parse().

checkasm_check_func
#define checkasm_check_func(func,...)
Check if a function should be tested and set up function references.
Definition: test.h:77
tf_sess_config.config
config
Definition: tf_sess_config.py:33
main
int main
Definition: dovi_rpuenc.c:38
checkasm_main
CHECKASM_API int checkasm_main(CheckasmConfig *config, int argc, const char *argv[])
Main entry point for checkasm test programs.
Definition: checkasm.c:1142
CheckasmConfig
Configuration structure for the checkasm test suite.
Definition: checkasm.h:158
checkasm_should_fail
CHECKASM_API int checkasm_should_fail(CheckasmCpu cpu_flags)
Mark a block of tests as expected to fail.
Definition: checkasm.c:1017
checkasm_call_new
#define checkasm_call_new(...)
Call the implementation being tested with validation.
Definition: test.h:381