39 memset(c, 0,
sizeof(*c));
49 static const uint64_t
c1 = UINT64_C(0x87c37b91114253d5);
50 static const uint64_t
c2 = UINT64_C(0x4cf5ad432745937f);
52 #define ROT(a, b) (((a) << (b)) | ((a) >> (64 - (b))))
72 static uint64_t
inline update_h1(uint64_t k, uint64_t h1, uint64_t h2)
82 static uint64_t
inline update_h2(uint64_t k, uint64_t h1, uint64_t h2)
95 uint64_t h1 = c->
h1, h2 = c->
h2;
102 if (--len <= 0)
return;
111 end = src + (len & ~15);
126 memcpy(c->
state, src, len);
131 static inline uint64_t
fmix(uint64_t k)
134 k *= UINT64_C(0xff51afd7ed558ccd);
136 k *= UINT64_C(0xc4ceb9fe1a85ec53);
143 uint64_t h1 = c->
h1, h2 = c->
h2;
166 for (i = 0; i < 256; i++)
179 printf(
"result: 0x%"PRIx64
" 0x%"PRIx64
"\n",
AV_RL64(hash_result),
AV_RL64(hash_result + 8));
181 return AV_RL32(hash_result) != 0x6384ba69;
185 for (i = 0; i < 40*1024; i++)
189 return hash_result[0];