FFmpeg
|
#include "config.h"
#include "config_components.h"
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "checkasm.h"
#include "libavutil/common.h"
#include "libavutil/cpu.h"
#include "libavutil/intfloat.h"
#include "libavutil/random_seed.h"
Go to the source code of this file.
Data Structures | |
struct | CheckasmFuncVersion |
struct | CheckasmFunc |
Macros | |
#define | _GNU_SOURCE |
#define | COLOR_RED 1 |
#define | COLOR_GREEN 2 |
#define | COLOR_YELLOW 3 |
#define | isatty(fd) 1 |
#define | is_red(f) ((f) && !(f)->color) |
#define | DEF_CHECKASM_CHECK_FUNC(type, fmt) |
Functions | |
static int | is_negative (union av_intfloat32 u) |
int | float_near_ulp (float a, float b, unsigned max_ulp) |
int | float_near_ulp_array (const float *a, const float *b, unsigned max_ulp, unsigned len) |
int | float_near_abs_eps (float a, float b, float eps) |
int | float_near_abs_eps_array (const float *a, const float *b, float eps, unsigned len) |
int | float_near_abs_eps_ulp (float a, float b, float eps, unsigned max_ulp) |
int | float_near_abs_eps_array_ulp (const float *a, const float *b, float eps, unsigned max_ulp, unsigned len) |
int | double_near_abs_eps (double a, double b, double eps) |
int | double_near_abs_eps_array (const double *a, const double *b, double eps, unsigned len) |
static void | color_printf (int color, const char *fmt,...) |
static void | destroy_func_tree (CheckasmFunc *f) |
static void * | checkasm_malloc (size_t size) |
static const char * | cpu_suffix (int cpu) |
static int | cmp_nop (const void *a, const void *b) |
static int | measure_nop_time (void) |
static double | avg_cycles_per_call (const CheckasmPerf *const p) |
static void | print_benchs (CheckasmFunc *f) |
static int | cmp_func_names (const char *a, const char *b) |
static CheckasmFunc * | rotate_tree (CheckasmFunc *f, int dir) |
static void | balance_tree (CheckasmFunc **root) |
static CheckasmFunc * | get_func (CheckasmFunc **root, const char *name) |
static void | signal_handler (int s) |
static int | wildstrcmp (const char *str, const char *pattern) |
static void | check_cpu_flag (const char *name, int flag) |
static void | print_cpu_name (void) |
static int | bench_init_ffmpeg (void) |
static int | bench_init (void) |
static void | bench_uninit (void) |
static int | usage (const char *path) |
int | main (int argc, char *argv[]) |
void * | checkasm_check_func (void *func, const char *name,...) |
int | checkasm_bench_func (void) |
void | checkasm_fail_func (const char *msg,...) |
void | checkasm_set_signal_handler_state (int enabled) |
int | checkasm_handle_signal (int s) |
CheckasmPerf * | checkasm_get_perf_context (void) |
void | checkasm_report (const char *name,...) |
Variables | |
uint64_t | bench_runs = 1U << 10 |
struct { | |
const char * name | |
void(* func )(void) | |
} | tests [] |
struct { | |
const char * name | |
const char * suffix | |
int flag | |
} | cpus [] |
struct { | |
CheckasmFunc * funcs | |
CheckasmFunc * current_func | |
CheckasmFuncVersion * current_func_ver | |
const char * current_test_name | |
const char * bench_pattern | |
int bench_pattern_len | |
int num_checked | |
int num_failed | |
int nop_time | |
int sysfd | |
int cpu_flag | |
const char * cpu_flag_name | |
const char * test_pattern | |
int verbose | |
int csv | |
int tsv | |
volatile sig_atomic_t catch_signals | |
} | state |
AVLFG | checkasm_lfg |
checkasm_context | checkasm_context_buf |
static const struct sigaction | signal_handler_act |
#define _GNU_SOURCE |
Definition at line 52 of file checkasm.c.
#define COLOR_RED 1 |
Definition at line 84 of file checkasm.c.
#define COLOR_GREEN 2 |
Definition at line 85 of file checkasm.c.
#define COLOR_YELLOW 3 |
Definition at line 86 of file checkasm.c.
#define isatty | ( | fd | ) | 1 |
Definition at line 94 of file checkasm.c.
#define DEF_CHECKASM_CHECK_FUNC | ( | type, | |
fmt | |||
) |
Definition at line 1169 of file checkasm.c.
|
static |
Definition at line 414 of file checkasm.c.
Referenced by float_near_ulp().
Definition at line 419 of file checkasm.c.
Referenced by float_near_abs_eps_ulp(), and float_near_ulp_array().
Definition at line 437 of file checkasm.c.
Referenced by check_ac3_sum_square_butterfly_float(), checkasm_check_audiodsp(), checkasm_check_fmtconvert(), and test_abs_pow34().
Definition at line 449 of file checkasm.c.
Referenced by float_near_abs_eps_array(), float_near_abs_eps_ulp(), test_butterflies_float(), test_deemphasis(), test_fcmul_add(), test_inverse_coupling(), test_scalarproduct_float(), test_sum_square(), test_vector_fmac_scalar(), test_vector_fmul(), test_vector_fmul_add(), test_vector_fmul_scalar(), and test_vector_fmul_window().
Definition at line 460 of file checkasm.c.
Referenced by check_horiz_slice(), check_ict_float(), check_postscale_slice(), check_verti_slice(), checkasm_check_av_tx(), test_add_squares(), test_autocorrelate(), test_deemphasis(), test_hf_apply_noise(), test_hf_g_filt(), test_hf_gen(), test_hybrid_analysis(), test_mul_pair_single(), test_neg_odd_64(), test_postfilter(), test_qmf_deint_bfly(), test_qmf_deint_neg(), test_qmf_post_shuffle(), test_qmf_pre_shuffle(), test_stereo_interpolate(), and test_sum64x5().
Definition at line 472 of file checkasm.c.
Referenced by checkasm_check_synth_filter(), and float_near_abs_eps_array_ulp().
int float_near_abs_eps_array_ulp | ( | const float * | a, |
const float * | b, | ||
float | eps, | ||
unsigned | max_ulp, | ||
unsigned | len | ||
) |
Definition at line 477 of file checkasm.c.
Definition at line 489 of file checkasm.c.
Referenced by double_near_abs_eps_array(), test_compute_autocorr(), test_dcmul_add(), test_evaluate(), test_scalarproduct_double(), test_update(), test_vector_dmac_scalar(), test_vector_dmul(), test_vector_dmul_scalar(), and test_window().
Definition at line 496 of file checkasm.c.
Referenced by checkasm_check_av_tx().
|
static |
Definition at line 509 of file checkasm.c.
Referenced by checkasm_report(), and print_cpu_name().
|
static |
Definition at line 552 of file checkasm.c.
Referenced by checkasm_malloc(), and main().
|
static |
Definition at line 569 of file checkasm.c.
Referenced by checkasm_check_func(), and get_func().
|
static |
Definition at line 581 of file checkasm.c.
Referenced by checkasm_fail_func(), and print_benchs().
|
static |
Definition at line 592 of file checkasm.c.
Referenced by measure_nop_time().
|
static |
Definition at line 598 of file checkasm.c.
Referenced by bench_init().
|
inlinestatic |
Definition at line 618 of file checkasm.c.
Referenced by print_benchs().
|
static |
Definition at line 629 of file checkasm.c.
Referenced by main().
|
static |
Definition at line 666 of file checkasm.c.
Referenced by get_func().
|
static |
Definition at line 681 of file checkasm.c.
Referenced by balance_tree().
|
static |
Definition at line 694 of file checkasm.c.
Referenced by get_func().
|
static |
Definition at line 710 of file checkasm.c.
Referenced by checkasm_check_func().
|
static |
Definition at line 780 of file checkasm.c.
Referenced by main().
|
static |
Definition at line 790 of file checkasm.c.
Referenced by check_cpu_flag(), and checkasm_bench_func().
|
static |
Definition at line 806 of file checkasm.c.
Referenced by main().
|
static |
Definition at line 829 of file checkasm.c.
Referenced by checkasm_fail_func(), and checkasm_report().
|
static |
Definition at line 868 of file checkasm.c.
Referenced by bench_init().
|
static |
Definition at line 888 of file checkasm.c.
Referenced by main().
|
static |
Definition at line 905 of file checkasm.c.
Referenced by main().
|
static |
Definition at line 912 of file checkasm.c.
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 925 of file checkasm.c.
void* checkasm_check_func | ( | void * | func, |
const char * | name, | ||
... | |||
) |
Definition at line 1031 of file checkasm.c.
int checkasm_bench_func | ( | void | ) |
Definition at line 1078 of file checkasm.c.
void checkasm_fail_func | ( | const char * | msg, |
... | |||
) |
Definition at line 1085 of file checkasm.c.
Referenced by checkasm_handle_signal().
void checkasm_set_signal_handler_state | ( | int | enabled | ) |
Definition at line 1104 of file checkasm.c.
Referenced by bench_init_ffmpeg().
int checkasm_handle_signal | ( | int | s | ) |
Definition at line 1108 of file checkasm.c.
CheckasmPerf* checkasm_get_perf_context | ( | void | ) |
Definition at line 1123 of file checkasm.c.
void checkasm_report | ( | const char * | name, |
... | |||
) |
Definition at line 1132 of file checkasm.c.
uint64_t bench_runs = 1U << 10 |
Definition at line 110 of file checkasm.c.
Referenced by main().
const char* name |
Definition at line 114 of file checkasm.c.
Referenced by check_cpu_flag(), checkasm_check_func(), checkasm_report(), get_func(), and main().
void(* func) (void) |
Definition at line 115 of file checkasm.c.
Referenced by checkasm_check_func(), and main().
const { ... } tests[] |
Referenced by check_cpu_flag(), and main().
const char* suffix |
Definition at line 309 of file checkasm.c.
Referenced by abs_decode(), av_parse_time(), coeff_abs_level_remaining_decode(), ff_hevc_hls_residual_coding(), last_significant_coeff_x_y_decode(), lavfi_read_header(), vlc_decode_u_extension(), and vlc_decode_u_suffix().
int flag |
Definition at line 310 of file checkasm.c.
Referenced by check_cpu_flag(), cpu_suffix(), and main().
const { ... } cpus[] |
Referenced by cpu_suffix(), and main().
CheckasmFunc* funcs |
Definition at line 388 of file checkasm.c.
Referenced by filter_frame(), init_axis_color(), and init_volume().
CheckasmFunc* current_func |
Definition at line 389 of file checkasm.c.
CheckasmFuncVersion* current_func_ver |
Definition at line 390 of file checkasm.c.
const char* current_test_name |
Definition at line 391 of file checkasm.c.
const char* bench_pattern |
Definition at line 392 of file checkasm.c.
int bench_pattern_len |
Definition at line 393 of file checkasm.c.
int num_checked |
Definition at line 394 of file checkasm.c.
int num_failed |
Definition at line 395 of file checkasm.c.
int nop_time |
Definition at line 398 of file checkasm.c.
int sysfd |
Definition at line 399 of file checkasm.c.
Referenced by measure_nop_time().
int cpu_flag |
Definition at line 401 of file checkasm.c.
Referenced by main().
const char* cpu_flag_name |
Definition at line 402 of file checkasm.c.
const char* test_pattern |
Definition at line 403 of file checkasm.c.
int verbose |
Definition at line 404 of file checkasm.c.
Referenced by main(), and sws_getDefaultFilter().
int csv |
Definition at line 405 of file checkasm.c.
int tsv |
Definition at line 406 of file checkasm.c.
volatile sig_atomic_t catch_signals |
Definition at line 407 of file checkasm.c.
struct { ... } state |
Referenced by aac_sync(), aacdec_common_init(), adts_aac_resync(), adx_parse(), apng_probe(), 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(), avg_cycles_per_call(), avi_read_packet(), avpriv_find_start_code(), avpriv_fits_header_init(), avs2_find_frame_end(), avs2_probe(), avs3_find_frame_end(), avs3video_probe(), bench_init(), bench_uninit(), 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(), checkasm_bench_func(), checkasm_check_func(), checkasm_fail_func(), checkasm_get_perf_context(), checkasm_malloc(), checkasm_report(), checkasm_set_signal_handler_state(), clv_init_static(), cng_rand(), compute_gru(), cri_parse(), dca_find_frame_end(), decode_cabac_intra_mb_type(), decode_init_static(), decode_line(), 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(), dpx_parse(), 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_high(), 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_dshow_filter_GetState(), ff_dshow_filter_Pause(), ff_dshow_filter_Run(), ff_dshow_filter_Stop(), ff_ffv1_write_extradata(), ff_h264_decode_init_vlc(), ff_http_auth_create_response(), ff_http_auth_handle_header(), ff_iir_filter_free_statep(), 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(), iir_filter(), imc_init_static(), init_tables_once(), intlist_read(), intlist_write(), ipu_parse(), iterative_me(), jpeg_probe(), latm_find_frame_end(), 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(), measure_nop_time(), 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_adaptation_sets(), parse_nal_units(), parse_presentation_segment(), predictor_calc_error(), predictor_init_state(), print_benchs(), print_cpu_name(), prng_shift(), 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_extra_header(), read_header(), read_high_coeffs(), read_low_coeffs(), read_quant_table(), ripemd128_transform(), ripemd160_transform(), ripemd256_transform(), ripemd320_transform(), rm_sync(), 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(), signal_handler(), speex_inband_handler(), svc_decode_frame(), svq1_static_init(), uninit(), update_vlc_state(), vc1_init_static(), vc1_split(), wait_for_state(), webp_parse(), write_header(), write_quant_table(), x8_init_vlc(), x8_vlc_init(), and xbm_parse().
AVLFG checkasm_lfg |
Definition at line 411 of file checkasm.c.
Referenced by main().
checkasm_context checkasm_context_buf |
Definition at line 734 of file checkasm.c.
|
static |
Definition at line 775 of file checkasm.c.
Referenced by main(), and signal_handler().