FFmpeg
Loading...
Searching...
No Matches
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.
 
const CheckasmCpuInfocheckasm_get_cpu_info (void)
 Get the CPU flag currently being tested.
 
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 cpu_mask_json (CheckasmJson *json, const CheckasmConfig cfg, const CheckasmCpu cpu_mask)
 
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.
 
int checkasm_bench_runs (void)
 Get number of iterations for current benchmark run.
 
void checkasm_bench_update (const int iterations, const uint64_t cycles)
 Update benchmark statistics with timing results.
 
void checkasm_bench_finish (void)
 Finalize and store benchmark results.
 
static int wildstrcmp (const char *str, const char *pattern)
 
static void handle_interrupt (void)
 
static void update_statusline (void)
 
static int test_enabled (const CheckasmTest *test)
 
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.
 
void checkasm_list_tests (const CheckasmConfig *config)
 Print available tests.
 
static void print_functions (const CheckasmFunc *const f)
 
static void run_all_tests (void)
 
void checkasm_list_functions (const CheckasmConfig *config)
 Print available functions within tests.
 
static void cpu_fprintf (void *priv, const char *fmt,...)
 
static COLD void print_info (void)
 
static int print_summary (int interrupted)
 
int checkasm_run (const CheckasmConfig *config)
 Run all tests and benchmarks matching the specified patterns.
 
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.
 
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.
 

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 
 
   unsigned   test_iter 
 
   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 122 of file checkasm.c.

◆ 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 127 of file checkasm.c.

Referenced by checkasm_get_cpu_suffix().

◆ cpu_suffix()

static const char * cpu_suffix ( const CheckasmCpuInfo * cpu)
static

Definition at line 133 of file checkasm.c.

Referenced by check_cpu_flag(), update_statusline(), and ver_suffix().

◆ ver_suffix()

static const char * ver_suffix ( const CheckasmFuncVersion * ver)
static

Definition at line 138 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 144 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 158 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 177 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 202 of file checkasm.c.

Referenced by print_bench_header().

◆ cpu_mask_json()

static void cpu_mask_json ( CheckasmJson * json,
const CheckasmConfig cfg,
const CheckasmCpu cpu_mask )
static

Definition at line 214 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 235 of file checkasm.c.

Referenced by print_benchmarks().

◆ print_bench_footer()

static void print_bench_footer ( struct IterState *const iter)
static

Definition at line 331 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 367 of file checkasm.c.

Referenced by print_bench_iter(), and print_benchmarks().

◆ print_benchmarks()

static void print_benchmarks ( void )
static

Definition at line 456 of file checkasm.c.

Referenced by print_summary().

◆ wildstrcmp()

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

Definition at line 523 of file checkasm.c.

Referenced by checkasm_check_key(), test_enabled(), and wildstrcmp().

◆ handle_interrupt()

static void handle_interrupt ( void )
static

Definition at line 849 of file checkasm.c.

Referenced by check_cpu_flag(), and checkasm_report().

◆ update_statusline()

static void update_statusline ( void )
static

Definition at line 794 of file checkasm.c.

Referenced by check_cpu_flag(), and checkasm_check_key().

◆ test_enabled()

static int test_enabled ( const CheckasmTest * test)
static

Definition at line 545 of file checkasm.c.

Referenced by check_cpu_flag(), and run_all_tests().

◆ check_cpu_flag()

static void check_cpu_flag ( const CheckasmCpuInfo * cpu)
static

Definition at line 552 of file checkasm.c.

Referenced by run_all_tests().

◆ print_cpu_name()

static void print_cpu_name ( void )
static

Definition at line 617 of file checkasm.c.

Referenced by checkasm_report(), and fail_internal().

◆ checkasm_run_on_all_cores()

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

Definition at line 625 of file checkasm.c.

Referenced by checkasm_perf_init(), and checkasm_perf_init_macos().

◆ set_cpu_affinity()

static int set_cpu_affinity ( const unsigned affinity)
static

Definition at line 652 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 692 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 705 of file checkasm.c.

Referenced by checkasm_main().

◆ print_functions()

static void print_functions ( const CheckasmFunc *const f)
static

Definition at line 711 of file checkasm.c.

Referenced by checkasm_list_functions(), and print_functions().

◆ run_all_tests()

static void run_all_tests ( void )
static

Definition at line 724 of file checkasm.c.

Referenced by checkasm_list_functions(), and checkasm_run().

◆ 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. In particular, CheckasmTest.init() and CheckasmTest.uninit() will still be executed.

Definition at line 743 of file checkasm.c.

Referenced by checkasm_main().

◆ cpu_fprintf()

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

Definition at line 756 of file checkasm.c.

Referenced by print_info().

◆ print_info()

static COLD void print_info ( void )
static

Definition at line 768 of file checkasm.c.

Referenced by checkasm_run().

◆ print_summary()

static int print_summary ( int interrupted)
static

Definition at line 814 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 857 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 932 of file checkasm.c.

◆ checkasm_set_func_variant()

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

Definition at line 1036 of file checkasm.c.

◆ fail_internal()

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

Definition at line 1047 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 1065 of file checkasm.c.

Referenced by check_cpu_flag().

◆ checkasm_fail_abort()

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

Definition at line 1074 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
}
}
CHECKASM_API int checkasm_should_fail(CheckasmCpu cpu_flags)
Mark a block of tests as expected to fail.
Definition checkasm.c:1085
#define checkasm_call_new(...)
Call the implementation being tested with validation.
Definition test.h:382
#define checkasm_check_func(func,...)
Check if a function should be tested and set up function references.
Definition test.h:77

Definition at line 1085 of file checkasm.c.

◆ checkasm_report()

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

Definition at line 1100 of file checkasm.c.

Referenced by check_cpu_flag().

◆ print_usage()

static void print_usage ( const char *const progname)
static

Definition at line 1165 of file checkasm.c.

◆ parseu()

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

Definition at line 1190 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[]) {
CheckasmConfig config = {
.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);
}
int main
Definition dovi_rpuenc.c:38
CHECKASM_API int checkasm_main(CheckasmConfig *config, int argc, const char *argv[])
Main entry point for checkasm test programs.
Definition checkasm.c:1209
Configuration structure for the checkasm test suite.
Definition checkasm.h:182
See also
checkasm_run()

Definition at line 1209 of file checkasm.c.

Referenced by main().

Variable Documentation

◆ cfg

◆ stats

◆ 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.

◆ 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_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

◆ 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.

◆ [struct]

struct { ... } current

Referenced by alf_data(), application_data(), aps(), assign_channels(), au_info(), aud(), aud(), 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_pop_stack_guard(), checkasm_push_stack_guard(), checkasm_report(), checkasm_run(), checkasm_set_func_variant(), checkasm_should_fail(), chomp3(), chomp6(), color_config(), color_config(), colormap_nearest_node(), colour_mapping_octants(), colour_mapping_table(), comment(), commit_bitstream_and_slice_buffer(), commit_bitstream_and_slice_buffer(), commit_bitstream_and_slice_buffer(), commit_bitstream_and_slice_buffer(), compressed_header(), count_paired_channels(), dci(), dec_ref_pic_marking(), decoder_model_info(), delta_lf_params(), delta_q_params(), dht(), dpb_parameters(), dpcm_predict(), dqt(), end_of_sequence(), end_of_stream(), extension_data(), extension_data(), extension_data(), extra_information(), fail_internal(), ff_cbs_sei_read_message(), ff_cbs_sei_read_message_list(), ff_cbs_sei_write_message(), ff_cbs_sei_write_message_list(), ff_id3v2_free_extra_meta(), filler(), filler(), filler(), film_grain_params(), filter_frame(), frame(), frame(), frame_header(), frame_header(), frame_header(), frame_header_obu(), frame_info(), frame_obu(), frame_reference_mode(), frame_size(), frame_size(), frame_size_with_refs(), frame_size_with_refs(), frame_sync_code(), frame_tag(), general_constraints_info(), general_timing_hrd_parameters(), get_frag_stream_info_from_pkt(), get_tile_pos(), global_motion_param(), global_motion_params(), group_of_pictures_header(), hrd_parameters(), hrd_parameters(), huffman_table(), interpolate_delay(), interpolation_filter(), interpolation_filter(), LCEVC_BLOCK_FUNC(), LCEVC_BLOCK_FUNC(), LCEVC_BLOCK_FUNC(), LCEVC_BLOCK_FUNC(), LCEVC_BLOCK_FUNC(), LCEVC_BLOCK_FUNC(), lmcs_data(), loop_filter_params(), loop_filter_params(), lr_params(), lz4_decompress(), message(), message_list(), metadata(), metadata_cll(), metadata_filler(), metadata_has_changed(), metadata_itu_t_t35(), metadata_mdcv(), metadata_payload(), metadata_undefined(), metadata_user_defined(), mode_ref_lf_deltas(), mov_fix_index(), mov_metadata_track_or_disc_number(), nal(), nal_unit_header(), nal_unit_header(), nal_unit_header(), nal_unit_header(), obu_header(), ols_timing_hrd_parameters(), opi(), payload_extension(), pbu_header(), ph(), picture_coding_extension(), picture_display_extension(), picture_header(), picture_header(), pps(), pps(), pps(), pps_multilayer_extension(), pps_range_extension(), pps_scc_extension(), pred_weight_table(), pred_weight_table(), pred_weight_table(), print_bench_footer(), print_bench_header(), print_benchmarks(), print_cpu_name(), print_summary(), process_block(), process_block_list(), profile_tier_level(), profile_tier_level(), quant_matrix_extension(), quantisation_table(), quantization_matrix(), quantization_params(), quantization_params(), quantization_params(), read_channel_data(), read_table(), read_tx_mode(), ref_pic_list_modification(), ref_pic_list_struct(), ref_pic_lists(), ref_pic_lists_modification(), render_size(), render_size(), scaling_list(), scaling_list_data(), scaling_list_data(), scan_header(), segmentation_params(), segmentation_params(), sei(), sei(), sei(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), sei_payload(), sei_pic_timestamp(), sequence_display_extension(), sequence_end(), sequence_extension(), sequence_header(), sequence_header_obu(), set_frame_refs(), set_pict_type(), skip_mode_params(), slice_header(), slice_header(), slice_header(), slice_segment_header(), sps(), sps(), sps(), sps_extension(), sps_multilayer_extension(), sps_range_extension(), sps_range_extension(), sps_scc_extension(), st_ref_pic_set(), sub_layer_hrd_parameters(), sublayer_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(), tile_info(), tile_info(), timing_info(), uncompressed_header(), uncompressed_header(), uncompressed_header(), update_mv_probs(), update_segmentation(), update_statusline(), update_token_probs(), user_data(), vps(), vps(), vui_parameters(), vui_parameters(), vui_parameters(), vui_parameters(), vui_parameters_default(), vui_parameters_default(), vui_parameters_default(), 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.

◆ test_iter

unsigned test_iter

Definition at line 111 of file checkasm.c.

◆ nop_cycles

CheckasmMeasurement nop_cycles

Definition at line 114 of file checkasm.c.

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

◆ perf_scale

CheckasmMeasurement perf_scale

Definition at line 115 of file checkasm.c.

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

◆ target_cycles

uint64_t target_cycles

◆ skip_tests

int skip_tests

Definition at line 119 of file checkasm.c.

◆ [struct]

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_log_once(), av_log_once(), av_lzo1x_decode(), av_rc4_crypt(), av_rc4_init(), avi_read_packet(), avpriv_find_start_code(), 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_TMPL(), 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_TMPL(), 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_mlp_filter_channel_arm(), 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_frame_end(), 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(), LCEVC_BLOCK_FUNC(), LCEVC_BLOCK_FUNC(), LCEVC_BLOCK_FUNC(), LCEVC_BLOCK_FUNC(), 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(), 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_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(), print_summary(), prng_shift(), process_block(), process_new(), process_old(), pthread_setcancelstate(), pulse_context_wait(), pulse_read_header(), pulse_stream_wait(), put_cabac(), put_lines_bits(), put_lines_bytes(), put_rac(), put_symbol(), put_symbol(), put_symbol2(), put_symbol_inline(), put_vlc_symbol(), qoi_parse(), ran(), 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(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), SEI_FUNC(), send_mode_b(), sha1_transform(), sha256_transform(), sha512_transform(), shared_read(), speex_default_user_handler(), speex_inband_handler(), speex_std_stereo(), splitmix64(), svc_decode_frame(), svq1_static_init(), test_apv_entropy_decode_block(), uninit(), update_statusline(), 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(), webp_parse(), write_header(), write_quant_table(), x8_init_vlc(), x8_vlc_init(), and xbm_parse().