38 sl_u32
bitrev(sl_u32 input, sl_u16 bw)
43 for (i = 0; i < bw; i++) {
45 var |= 1 << (bw - 1 - i);
59 for (i = 0; i < 256; i++) {
61 for (j = 0; j < 8; j++) {
71 sl_u32
cal(sl_u32 crc,
void* input, sl_u16 len)
76 pch = (
unsigned char*)input;
77 sl_u8 leftBytes = 4 - (len & 0x3);
79 for (i = 0; i < len; i++) {
80 index = (
unsigned char)(crc^*pch);
81 crc = (crc >> 8) ^
table[index];
85 for (i = 0; i < leftBytes; i++) {
86 index = (
unsigned char)(crc ^ 0);
87 crc = (crc >> 8) ^
table[index];
89 return crc ^ 0xffffffff;
100 return cal(0xFFFFFFFF, ptr, len);