Mercurial > libavutil.hg
changeset 61:f85d07038450 libavutil
put the code which is specific for the large crc table under #ifndef CONFIG_SMALL
author | michael |
---|---|
date | Sat, 08 Jul 2006 20:23:19 +0000 |
parents | bc66b55033ac |
children | d77141e6d1a8 |
files | crc.c |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/crc.c Fri Jul 07 22:43:32 2006 +0000 +++ b/crc.c Sat Jul 08 20:23:19 2006 +0000 @@ -33,10 +33,12 @@ } } ctx[256]=1; +#ifndef CONFIG_SMALL if(ctx_size >= sizeof(AVCRC)*1024) for (i = 0; i < 256; i++) for(j=0; j<3; j++) ctx[256*(j+1) + i]= (ctx[256*j + i]>>8) ^ ctx[ ctx[256*j + i]&0xFF ]; +#endif return 0; } @@ -44,6 +46,7 @@ uint32_t av_crc(const AVCRC *ctx, uint32_t crc, const uint8_t *buffer, size_t length){ const uint8_t *end= buffer+length; +#ifndef CONFIG_SMALL if(!ctx[256]) while(buffer<end-3){ crc ^= le2me_32(*(uint32_t*)buffer); buffer+=4; @@ -52,6 +55,7 @@ ^ctx[1*256 + ((crc>>16)&0xFF)] ^ctx[0*256 + ((crc>>24) )]; } +#endif while(buffer<end) crc = ctx[((uint8_t)crc) ^ *buffer++] ^ (crc >> 8);