|
|
@@ -115,7 +115,10 @@ uint32_t av_crc(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t le |
|
|
|
const uint8_t *end= buffer+length; |
|
|
|
|
|
|
|
#if !CONFIG_SMALL |
|
|
|
if(!ctx[256]) |
|
|
|
if(!ctx[256]) { |
|
|
|
while(((intptr_t) buffer & 3) && buffer < end) |
|
|
|
crc = ctx[((uint8_t)crc) ^ *buffer++] ^ (crc >> 8); |
|
|
|
|
|
|
|
while(buffer<end-3){ |
|
|
|
crc ^= le2me_32(*(const uint32_t*)buffer); buffer+=4; |
|
|
|
crc = ctx[3*256 + ( crc &0xFF)] |
|
|
@@ -123,6 +126,7 @@ uint32_t av_crc(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t le |
|
|
|
^ctx[1*256 + ((crc>>16)&0xFF)] |
|
|
|
^ctx[0*256 + ((crc>>24) )]; |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
while(buffer<end) |
|
|
|
crc = ctx[((uint8_t)crc) ^ *buffer++] ^ (crc >> 8); |
|
|
|