Go to the documentation of this file.
40 const uint8_t *
buffer,
size_t length);
49 static unsigned sizes_initialized = 0;
50 uint32_t prev_crc =
rnd();
52 if (!(sizes_initialized & (1 << idx))) {
53 sizes_initialized |= 1 << idx;
59 for (
size_t j = 0; j <
sizeof(buf); j += 4)
65 if (crc_ref != crc_new)
73 static const char *
const tests[] = {
74 #define TEST(CRC) [AV_CRC_ ## CRC] = #CRC
84 static struct CustomTest {
85 struct CustomTest *prev;
88 struct CustomTest *
new = malloc(
sizeof(*
new));
95 memset(
new, 0,
sizeof(*
new));
103 if (
ctx && !memcmp(
ctx->ctx, new->ctx,
sizeof(new->ctx))) {
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size)
Initialize a CRC table.
#define FF_ARRAY_ELEMS(a)
#define av_assert0(cond)
assert() equivalent, that is always enabled.
static const int sizes[][2]
void checkasm_check_crc(void)
#define DECLARE_ALIGNED(n, t, v)
const AVCRC * av_crc_get_table(AVCRCId crc_id)
Get an initialized standard CRC table.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
#define i(width, name, range_min, range_max)
#define checkasm_call_checked(func,...)
static void check_crc(const AVCRC *table_new, const char *name, unsigned idx)
the frame and frame reference mechanism is intended to as much as expensive copies of that data while still allowing the filters to produce correct results The data is stored in buffers represented by AVFrame structures Several references can point to the same frame buffer
uint32_t av_crc(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t length)
Calculate the CRC of a block.
#define check_key(key,...)
#define declare_func(ret,...)
#define checkasm_call(func,...)