19#ifndef AVUTIL_CRC_INTERNAL_H
20#define AVUTIL_CRC_INTERNAL_H
26static uint64_t
reverse(uint64_t p,
unsigned int deg)
30 for (
i = 0;
i < (deg / 8);
i += 1) {
34 int rem = (deg + 1) - 8 *
i;
35 ret = (ret << rem) | (
ff_reverse[p & 0xff] >> (8 - rem));
40 uint64_t *div,
int bitreverse)
48 mask = ((uint64_t)1 << deg) - 1;
55 *div = (*div << 1) |
high;
#define i(width, name, range_min, range_max)
static av_unused uint64_t xnmodp(unsigned n, uint64_t poly, unsigned deg, uint64_t *div, int bitreverse)
static uint64_t reverse(uint64_t p, unsigned int deg)
Macro definitions for various function/variable attributes.
const uint8_t ff_reverse[256]
static const uint16_t mask[17]
static int mod(int a, int b)
Modulo operation with only positive remainders.