From c485c835fef46dea5dddf66243954275291dcdee Mon Sep 17 00:00:00 2001 From: James Almer Date: Sat, 1 Jun 2013 01:36:38 -0300 Subject: avutil/crc: Dont limit CRC32 standard tables Currently, standard tables like AV_CRC_32_IEEE and such are being generated (or provided in case the user compiles with hardcoded tables) with only 257 elements. We're missing a considerable boost in performance by not making them with a size of 1024 elements instead. Signed-off-by: Michael Niedermayer --- libavutil/crc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libavutil') diff --git a/libavutil/crc.c b/libavutil/crc.c index 9ee5efe9db..51fc83b0b5 100644 --- a/libavutil/crc.c +++ b/libavutil/crc.c @@ -211,6 +211,11 @@ static const AVCRC av_crc_table[AV_CRC_MAX][257] = { }, }; #else +#if CONFIG_SMALL +#define CRC_TABLE_SIZE 257 +#else +#define CRC_TABLE_SIZE 1024 +#endif static struct { uint8_t le; uint8_t bits; @@ -222,7 +227,7 @@ static struct { [AV_CRC_32_IEEE] = { 0, 32, 0x04C11DB7 }, [AV_CRC_32_IEEE_LE] = { 1, 32, 0xEDB88320 }, }; -static AVCRC av_crc_table[AV_CRC_MAX][257]; +static AVCRC av_crc_table[AV_CRC_MAX][CRC_TABLE_SIZE]; #endif int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size) -- cgit v1.2.3