80 [
CRC32] = {
"CRC32", 4},
108 if (i >= NUM_HASHES)
return AVERROR(EINVAL);
110 if (!res)
return AVERROR(ENOMEM);
153 case CRC32: ctx->
crc = UINT32_MAX;
break;
206 memcpy(dst, buf,
FFMIN(size, rsize));
208 memset(dst + rsize, 0, size - rsize);
217 for (i = 0; i <
FFMIN(rsize, size / 2); i++)
218 snprintf(dst + i * 2, size - i * 2,
"%02x", buf[i]);
229 memcpy(dst, b64,
FFMIN(osize, size));
void av_sha_final(AVSHA *ctx, uint8_t *digest)
Finish hashing and output digest value.
void av_sha_update(AVSHA *ctx, const uint8_t *data, unsigned int len)
Update hash value.
void av_ripemd_update(AVRIPEMD *ctx, const uint8_t *data, unsigned int len)
Update hash value.
av_cold int av_sha_init(AVSHA *ctx, int bits)
Initialize SHA-1 or SHA-2 hashing.
memory handling functions
void av_hash_final_bin(struct AVHashContext *ctx, uint8_t *dst, int size)
Finalize a hash context and compute the actual hash value.
void av_md5_update(AVMD5 *ctx, const uint8_t *src, int len)
Update hash value.
AVMurMur3 * av_murmur3_alloc(void)
struct AVMD5 * av_md5_alloc(void)
Allocate an AVMD5 context.
void av_ripemd_final(AVRIPEMD *ctx, uint8_t *digest)
Finish hashing and output digest value.
#define AV_HASH_MAX_SIZE
Maximum value that av_hash_get_size will currently return.
void av_hash_init(AVHashContext *ctx)
Initialize or reset a hash context.
unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf, unsigned int len)
Calculate the Adler32 checksum of a buffer.
void av_murmur3_init(AVMurMur3 *c)
struct AVSHA512 * av_sha512_alloc(void)
Allocate an AVSHA512 context.
void av_murmur3_final(AVMurMur3 *c, uint8_t dst[16])
char * av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size)
Encode data to base64 and null-terminate.
struct AVRIPEMD * av_ripemd_alloc(void)
Allocate an AVRIPEMD context.
void av_murmur3_update(AVMurMur3 *c, const uint8_t *src, int len)
void av_hash_final_b64(struct AVHashContext *ctx, uint8_t *dst, int size)
Finalize a hash context and compute the actual hash value as a base64 string.
#define AV_BASE64_SIZE(x)
Calculate the output size needed to base64-encode x bytes to a null-terminated string.
int av_strcasecmp(const char *a, const char *b)
Locale-independent case-insensitive compare.
int av_hash_alloc(AVHashContext **ctx, const char *name)
Allocate a hash context for the algorithm specified by name.
const char * av_hash_get_name(const AVHashContext *ctx)
uint32_t av_crc(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t length)
Calculate the CRC of a block.
void av_hash_freep(AVHashContext **ctx)
Free hash context.
Public header for libavutil Adler32 hasher.
void av_hash_final(AVHashContext *ctx, uint8_t *dst)
Finalize a hash context and compute the actual hash value.
const char * av_hash_names(int i)
Get the names of available hash algorithms.
int av_hash_get_size(const AVHashContext *ctx)
void av_sha512_update(AVSHA512 *ctx, const uint8_t *data, unsigned int len)
Update hash value.
struct AVSHA * av_sha_alloc(void)
Allocate an AVSHA context.
void av_md5_init(AVMD5 *ctx)
Initialize MD5 hashing.
av_cold int av_sha512_init(AVSHA512 *ctx, int bits)
Initialize SHA-2 512 hashing.
void av_hash_update(AVHashContext *ctx, const uint8_t *src, int len)
Update a hash context with additional data.
void av_md5_final(AVMD5 *ctx, uint8_t *dst)
Finish hashing and output digest value.
static const struct @198 hashdesc[]
const AVCRC * av_crc_get_table(AVCRCId crc_id)
Get an initialized standard CRC table.
av_cold int av_ripemd_init(AVRIPEMD *ctx, int bits)
Initialize RIPEMD hashing.
void av_hash_final_hex(struct AVHashContext *ctx, uint8_t *dst, int size)
Finalize a hash context and compute the actual hash value as a hex string.
void av_sha512_final(AVSHA512 *ctx, uint8_t *digest)
Finish hashing and output digest value.
void * av_mallocz(size_t size)
Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...