1#ifndef STRATEGYSELECTOR_H_
2#define STRATEGYSELECTOR_H_
43#if defined(KVZ_DEBUG) && !defined(DEBUG_STRATEGYSELECTOR)
44# define DEBUG_STRATEGYSELECTOR
60#define STRATEGY_LIST_ALLOC_SIZE 16
Header that is included in every other header.
Interface for transform functions.
#define STRATEGIES_DCT_EXPORTS
Definition: strategies-dct.h:69
Interface for quantization functions.
#define STRATEGIES_ENCODE_EXPORTS
Definition: strategies-encode.h:64
Interface for intra prediction functions.
#define STRATEGIES_INTRA_EXPORTS
Definition: strategies-intra.h:72
Interface for subpixel interpolation functions.
#define STRATEGIES_IPOL_EXPORTS
Definition: strategies-ipol.h:141
Interface for hash functions.
#define STRATEGIES_NAL_EXPORTS
Definition: strategies-nal.h:65
Interface for distortion metric functions.
#define STRATEGIES_PICTURE_EXPORTS
Definition: strategies-picture.h:197
Interface for quantization functions.
#define STRATEGIES_QUANT_EXPORTS
Definition: strategies-quant.h:78
Interface for sao functions.
#define STRATEGIES_SAO_EXPORTS
Definition: strategies-sao.h:77
hardware_flags_t kvz_g_strategies_available
Definition: strategyselector.c:47
hardware_flags_t kvz_g_strategies_in_use
Definition: strategyselector.c:46
int kvz_strategyselector_register(void *opaque, const char *type, const char *strategy_name, int priority, void *fptr)
Definition: strategyselector.c:233
static const strategy_to_select_t strategies_to_select[]
Definition: strategyselector.h:112
hardware_flags_t kvz_g_hardware_flags
Definition: strategyselector.c:45
int kvz_strategyselector_init(int32_t cpuid, uint8_t bitdepth, uint8_t enable_logging_output)
Definition: strategyselector.c:55
Definition: strategyselector.h:67
int sse
Definition: strategyselector.h:70
int sse2
Definition: strategyselector.h:71
int ssse3
Definition: strategyselector.h:73
int sse3
Definition: strategyselector.h:72
int avx2
Definition: strategyselector.h:77
int avx
Definition: strategyselector.h:76
int mmx
Definition: strategyselector.h:69
int sse42
Definition: strategyselector.h:75
int physical_cpu_count
Definition: strategyselector.h:91
int neon
Definition: strategyselector.h:87
int sse41
Definition: strategyselector.h:74
int altivec
Definition: strategyselector.h:83
int logical_cpu_count
Definition: strategyselector.h:90
bool hyper_threading
Definition: strategyselector.h:79
Definition: strategyselector.h:54
unsigned int count
Definition: strategyselector.h:55
strategy_t * strategies
Definition: strategyselector.h:57
unsigned int allocated
Definition: strategyselector.h:56
Definition: strategyselector.h:47
unsigned int priority
Definition: strategyselector.h:50
const char * type
Definition: strategyselector.h:48
void * fptr
Definition: strategyselector.h:51
const char * strategy_name
Definition: strategyselector.h:49
Definition: strategyselector.h:62
void ** fptr
Definition: strategyselector.h:64
const char * strategy_type
Definition: strategyselector.h:63