World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
+ Граф связей класса Murmur3:

Файлы

файл  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.

Функции

◆ av_murmur3_alloc()

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.

Возвращает
Uninitialized hash context or NULL in case of error

◆ av_murmur3_init_seeded()

void av_murmur3_init_seeded ( struct AVMurMur3 *  c,
uint64_t  seed 
)

#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]cHash context
[in]seedRandom seed
См. также
av_murmur3_init()
Detailed description on a discussion of seeds for MurmurHash3.

◆ av_murmur3_init()

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]cHash context
См. также
av_murmur3_init_seeded()
Detailed description on a discussion of seeds for MurmurHash3.

◆ av_murmur3_update() [1/2]

void av_murmur3_update ( struct AVMurMur3 *  c,
const uint8_t src,
int  len 
)

#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]cHash context
[in]srcInput data to update hash with
[in]lenNumber of bytes to read from src

◆ av_murmur3_update() [2/2]

void av_murmur3_update ( struct AVMurMur3 *  c,
const uint8_t src,
size_t  len 
)

◆ av_murmur3_final()

void av_murmur3_final ( struct AVMurMur3 *  c,
uint8_t  dst[16] 
)

#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]cHash context
[out]dstBuffer where output digest value is stored