|
World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
An abstraction layer for all hash functions supported by libavutil. Подробнее...
Граф связей класса Generic Hashing API:Файлы | |
| файл | hash.h |
Функции | |
| int | av_hash_alloc (struct AVHashContext **ctx, const char *name) |
| const char * | av_hash_names (int i) |
| const char * | av_hash_get_name (const struct AVHashContext *ctx) |
| int | av_hash_get_size (const struct AVHashContext *ctx) |
| void | av_hash_init (struct AVHashContext *ctx) |
| void | av_hash_update (struct AVHashContext *ctx, const uint8_t *src, int len) |
| void | av_hash_update (struct AVHashContext *ctx, const uint8_t *src, size_t len) |
| void | av_hash_final (struct AVHashContext *ctx, uint8_t *dst) |
| void | av_hash_final_bin (struct AVHashContext *ctx, uint8_t *dst, int size) |
| void | av_hash_final_hex (struct AVHashContext *ctx, uint8_t *dst, int size) |
| void | av_hash_final_b64 (struct AVHashContext *ctx, uint8_t *dst, int size) |
| void | av_hash_freep (struct AVHashContext **ctx) |
An abstraction layer for all hash functions supported by libavutil.
If your application needs to support a wide range of different hash functions, then the Generic Hashing API is for you. It provides a generic, reusable API for all hash functions implemented in libavutil. If you just need to use one particular hash function, use the individual hash directly.
A basic template for using the Generic Hashing API follows:
If the CRC32 hash is selected, the AV_CRC_32_IEEE polynomial will be used.
If the Murmur3 hash is selected, the default seed will be used. See Murmur3 for more information.
| int av_hash_alloc | ( | struct AVHashContext ** | ctx, |
| const char * | name | ||
| ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Allocate a hash context for the algorithm specified by name.
| const char* av_hash_names | ( | int | i | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Get the names of available hash algorithms.
This function can be used to enumerate the algorithms.
| [in] | i | Index of the hash algorithm, starting from 0 |
NULL if i is out of range | const char* av_hash_get_name | ( | const struct AVHashContext * | ctx | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Get the name of the algorithm corresponding to the given hash context.
| int av_hash_get_size | ( | const struct AVHashContext * | ctx | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Get the size of the resulting hash value in bytes.
The maximum value this function will currently return is available as macro #AV_HASH_MAX_SIZE.
| [in] | ctx | Hash context |
| void av_hash_init | ( | struct AVHashContext * | ctx | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Initialize or reset a hash context.
| [in,out] | ctx | Hash context |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Update a hash context with additional data.
| [in,out] | ctx | Hash context |
| [in] | src | Data to be added to the hash context |
| [in] | len | Size of the additional data |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Finalize a hash context and compute the actual hash value.
The minimum size of dst buffer is given by av_hash_get_size() or #AV_HASH_MAX_SIZE. The use of the latter macro is discouraged.
It is not safe to update or finalize a hash context again, if it has already been finalized.
| [in,out] | ctx | Hash context |
| [out] | dst | Where the final hash value will be stored |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Finalize a hash context and store the actual hash value in a buffer.
It is not safe to update or finalize a hash context again, if it has already been finalized.
If size is smaller than the hash size (given by av_hash_get_size()), the hash is truncated; if size is larger, the buffer is padded with 0.
| [in,out] | ctx | Hash context |
| [out] | dst | Where the final hash value will be stored |
| [in] | size | Number of bytes to write to dst |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Finalize a hash context and store the hexadecimal representation of the actual hash value as a string.
It is not safe to update or finalize a hash context again, if it has already been finalized.
The string is always 0-terminated.
If size is smaller than 2 * hash_size + 1, where hash_size is the value returned by av_hash_get_size(), the string will be truncated.
| [in,out] | ctx | Hash context |
| [out] | dst | Where the string will be stored |
| [in] | size | Maximum number of bytes to write to dst |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Finalize a hash context and store the Base64 representation of the actual hash value as a string.
It is not safe to update or finalize a hash context again, if it has already been finalized.
The string is always 0-terminated.
If size is smaller than AV_BASE64_SIZE(hash_size), where hash_size is the value returned by av_hash_get_size(), the string will be truncated.
| [in,out] | ctx | Hash context |
| [out] | dst | Where the final hash value will be stored |
| [in] | size | Maximum number of bytes to write to dst |
| void av_hash_freep | ( | struct AVHashContext ** | ctx | ) |
#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/hash.h>
Free hash context and set hash context pointer to NULL.
| [in,out] | ctx | Pointer to hash context |