38 #define DO1(buf) { s1 += *buf++; s2 += s1; }
39 #define DO4(buf) DO1(buf); DO1(buf); DO1(buf); DO1(buf);
40 #define DO16(buf) DO4(buf); DO4(buf); DO4(buf); DO4(buf);
45 unsigned long s1 = adler & 0xffff;
46 unsigned long s2 = adler >> 16;
50 while (len > 4 && s2 < (1
U << 31)) {
55 while (len > 16 && s2 < (1
U << 31)) {
64 return (s2 << 16) | s1;
73 static volatile int checksum;
75 int main(
int argc,
char **argv)
82 for (i = 0; i < LEN; i++)
83 data[i] = ((i * i) >> 3) + 123 * i;
85 if (argc > 1 && !strcmp(argv[1],
"-t")) {
86 for (i = 0; i < 1000; i++) {
96 return checksum == 0x50e6e508 ? 0 : 1;
void av_log_set_level(int level)
Set the log level.
Public header for libavutil Adler32 hasher.
void av_log(void *avcl, int level, const char *fmt,...) av_printf_format(3
Send the specified message to the log if the level is less than or equal to the current av_log_level...
unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf, unsigned int len)
Calculate the Adler32 checksum of a buffer.
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
int main(int argc, char **argv)