World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
Файлы | |
файл | murmur3.h |
Функции | |
struct AVMurMur3 * | av_murmur3_alloc (void) |
void | av_murmur3_init_seeded (struct AVMurMur3 *c, uint64_t seed) |
void | av_murmur3_init (struct AVMurMur3 *c) |
void | av_murmur3_update (struct AVMurMur3 *c, const uint8_t *src, int len) |
void | av_murmur3_update (struct AVMurMur3 *c, const uint8_t *src, size_t len) |
void | av_murmur3_final (struct AVMurMur3 *c, uint8_t dst[16]) |
MurmurHash3 hash function implementation.
MurmurHash3 is a non-cryptographic hash function, of which three incompatible versions were created by its inventor Austin Appleby:
FFmpeg only implements the last variant: 128-bit output designed for 64-bit platforms. Even though the hash function was designed for 64-bit platforms, the function in reality works on 32-bit systems too, only with reduced performance.
By design, MurmurHash3 requires a seed to operate. In response to this, libavutil provides two functions for hash initiation, one that requires a seed (av_murmur3_init_seeded()) and one that uses a fixed arbitrary integer as the seed, and therefore does not (av_murmur3_init()).
To make hashes comparable, you should provide the same seed for all calls to this hash function – if you are supplying one yourself, that is.
struct AVMurMur3* av_murmur3_alloc | ( | void | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/murmur3.h>
Allocate an AVMurMur3 hash context.
NULL
in case of error #include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/murmur3.h>
Initialize or reinitialize an AVMurMur3 hash context with a seed.
[out] | c | Hash context |
[in] | seed | Random seed |
void av_murmur3_init | ( | struct AVMurMur3 * | c | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/murmur3.h>
Initialize or reinitialize an AVMurMur3 hash context.
Equivalent to av_murmur3_init_seeded() with a built-in seed.
[out] | c | Hash context |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/murmur3.h>
Update hash context with new data.
[out] | c | Hash context |
[in] | src | Input data to update hash with |
[in] | len | Number of bytes to read from src |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/murmur3.h>
Finish hashing and output digest value.
[in,out] | c | Hash context |
[out] | dst | Buffer where output digest value is stored |