FFmpeg
|
#include <stdlib.h>
#include <math.h>
#include "libavutil/avutil.h"
#include "libavutil/avstring.h"
#include "libavutil/crc.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem.h"
#include "libavutil/timer.h"
#include "compat/getopt.c"
#include "libavutil/md5.h"
#include "libavutil/sha.h"
#include "libavutil/sha512.h"
#include "libavutil/ripemd.h"
#include "libavutil/aes.h"
#include "libavutil/blowfish.h"
#include "libavutil/camellia.h"
#include "libavutil/cast5.h"
#include "libavutil/des.h"
#include "libavutil/twofish.h"
#include "libavutil/rc4.h"
#include "libavutil/xtea.h"
Go to the source code of this file.
Data Structures | |
struct | hash_impl |
Macros | |
#define | USE_crypto 0x01 /* OpenSSL's libcrypto */ |
#define | USE_gcrypt 0x02 /* GnuTLS's libgcrypt */ |
#define | USE_tomcrypt 0x04 /* LibTomCrypt */ |
#define | USE_mbedcrypto 0x08 /* mbed TLS */ |
#define | AV_READ_TIME(x) 0 |
#define | MAX_INPUT_SIZE 1048576 |
#define | MAX_OUTPUT_SIZE 128 |
#define | IMPL_USE_lavu IMPL_USE |
#define | DEFINE_LAVU_MD(suffix, type, namespace, hsize) |
#define | IMPL_USE_crypto(...) /* ignore */ |
#define | IMPL_USE_gcrypt(...) /* ignore */ |
#define | IMPL_USE_mbedcrypto(...) /* ignore */ |
#define | IMPL_USE_tomcrypt(...) /* ignore */ |
#define | IMPL_USE(lib, name, symbol, output) { #lib, name, run_ ## lib ## _ ## symbol, output }, |
#define | IMPL(lib, ...) IMPL_USE_ ## lib(lib, __VA_ARGS__) |
#define | IMPL_ALL(...) |
Functions | |
static void | fatal_error (const char *tag) |
static void | run_lavu_md5 (uint8_t *output, const uint8_t *input, unsigned size) |
DEFINE_LAVU_MD (sha1, AVSHA, sha, 160) | |
DEFINE_LAVU_MD (sha256, AVSHA, sha, 256) | |
DEFINE_LAVU_MD (sha512, AVSHA512, sha512, 512) | |
DEFINE_LAVU_MD (ripemd128, AVRIPEMD, ripemd, 128) | |
DEFINE_LAVU_MD (ripemd160, AVRIPEMD, ripemd, 160) | |
static void | run_lavu_aes128 (uint8_t *output, const uint8_t *input, unsigned size) |
static void | run_lavu_blowfish (uint8_t *output, const uint8_t *input, unsigned size) |
static void | run_lavu_camellia (uint8_t *output, const uint8_t *input, unsigned size) |
static void | run_lavu_cast128 (uint8_t *output, const uint8_t *input, unsigned size) |
static void | run_lavu_des (uint8_t *output, const uint8_t *input, unsigned size) |
static void | run_lavu_twofish (uint8_t *output, const uint8_t *input, unsigned size) |
static void | run_lavu_rc4 (uint8_t *output, const uint8_t *input, unsigned size) |
static void | run_lavu_xtea (uint8_t *output, const uint8_t *input, unsigned size) |
static unsigned | crc32 (const uint8_t *data, unsigned size) |
static void | run_implementation (const uint8_t *input, uint8_t *output, struct hash_impl *impl, unsigned size) |
int | main (int argc, char **argv) |
Variables | |
static const char * | enabled_libs |
static const char * | enabled_algos |
static unsigned | specified_runs |
static const uint8_t * | hardcoded_key = "FFmpeg is the best program ever." |
struct hash_impl | implementations [] |
#define USE_crypto 0x01 /* OpenSSL's libcrypto */ |
Definition at line 23 of file crypto_bench.c.
#define USE_gcrypt 0x02 /* GnuTLS's libgcrypt */ |
Definition at line 24 of file crypto_bench.c.
#define USE_tomcrypt 0x04 /* LibTomCrypt */ |
Definition at line 25 of file crypto_bench.c.
#define USE_mbedcrypto 0x08 /* mbed TLS */ |
Definition at line 26 of file crypto_bench.c.
#define AV_READ_TIME | ( | x | ) | 0 |
Definition at line 39 of file crypto_bench.c.
#define MAX_INPUT_SIZE 1048576 |
Definition at line 49 of file crypto_bench.c.
#define MAX_OUTPUT_SIZE 128 |
Definition at line 50 of file crypto_bench.c.
#define IMPL_USE_lavu IMPL_USE |
Definition at line 88 of file crypto_bench.c.
Definition at line 96 of file crypto_bench.c.
#define IMPL_USE_crypto | ( | ... | ) | /* ignore */ |
Definition at line 292 of file crypto_bench.c.
#define IMPL_USE_gcrypt | ( | ... | ) | /* ignore */ |
Definition at line 337 of file crypto_bench.c.
#define IMPL_USE_mbedcrypto | ( | ... | ) | /* ignore */ |
Definition at line 447 of file crypto_bench.c.
#define IMPL_USE_tomcrypt | ( | ... | ) | /* ignore */ |
Definition at line 568 of file crypto_bench.c.
Definition at line 631 of file crypto_bench.c.
#define IMPL | ( | lib, | |
... | |||
) | IMPL_USE_ ## lib(lib, __VA_ARGS__) |
Definition at line 633 of file crypto_bench.c.
#define IMPL_ALL | ( | ... | ) |
Definition at line 634 of file crypto_bench.c.
|
static |
Definition at line 58 of file crypto_bench.c.
Referenced by main(), run_implementation(), run_lavu_aes128(), run_lavu_blowfish(), run_lavu_camellia(), run_lavu_cast128(), run_lavu_des(), run_lavu_rc4(), run_lavu_twofish(), and run_lavu_xtea().
|
static |
Definition at line 90 of file crypto_bench.c.
DEFINE_LAVU_MD | ( | sha1 | , |
AVSHA | , | ||
sha | , | ||
160 | |||
) |
DEFINE_LAVU_MD | ( | sha256 | , |
AVSHA | , | ||
sha | , | ||
256 | |||
) |
DEFINE_LAVU_MD | ( | sha512 | , |
AVSHA512 | , | ||
sha512 | , | ||
512 | |||
) |
DEFINE_LAVU_MD | ( | ripemd128 | , |
AVRIPEMD | , | ||
ripemd | , | ||
128 | |||
) |
DEFINE_LAVU_MD | ( | ripemd160 | , |
AVRIPEMD | , | ||
ripemd | , | ||
160 | |||
) |
|
static |
Definition at line 114 of file crypto_bench.c.
|
static |
Definition at line 124 of file crypto_bench.c.
|
static |
Definition at line 134 of file crypto_bench.c.
|
static |
Definition at line 144 of file crypto_bench.c.
|
static |
Definition at line 154 of file crypto_bench.c.
|
static |
Definition at line 164 of file crypto_bench.c.
|
static |
Definition at line 174 of file crypto_bench.c.
|
static |
Definition at line 184 of file crypto_bench.c.
|
static |
Definition at line 575 of file crypto_bench.c.
Referenced by run_implementation().
|
static |
Definition at line 580 of file crypto_bench.c.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 667 of file crypto_bench.c.
|
static |
Definition at line 52 of file crypto_bench.c.
Referenced by main(), and run_implementation().
|
static |
Definition at line 53 of file crypto_bench.c.
Referenced by main(), and run_implementation().
|
static |
Definition at line 54 of file crypto_bench.c.
Referenced by main(), and run_implementation().
Definition at line 56 of file crypto_bench.c.
Referenced by run_lavu_aes128(), run_lavu_blowfish(), run_lavu_camellia(), run_lavu_cast128(), run_lavu_des(), run_lavu_rc4(), run_lavu_twofish(), and run_lavu_xtea().
struct hash_impl implementations[] |
Definition at line 641 of file crypto_bench.c.
Referenced by main().