summaryrefslogtreecommitdiff
path: root/src/libFLAC/include/private/crc.h
diff options
context:
space:
mode:
authorRobert Kausch <robert.kausch@freac.org>2018-04-30 11:54:39 +0200
committerErik de Castro Lopo <erikd@mega-nerd.com>2018-05-21 10:19:03 +1000
commit5579f2922f048aa3bd2b206dd64f6ead2846c8ac (patch)
tree5b5d8a114a3c8ef610965171b3e2494468a7727c /src/libFLAC/include/private/crc.h
parentfed5ad42b3445a377fad568f23c1e8f40664cfa3 (diff)
downloadflac-5579f2922f048aa3bd2b206dd64f6ead2846c8ac.tar.gz
Implement slicing-by-8 CRC16 algorithm.
Diffstat (limited to 'src/libFLAC/include/private/crc.h')
-rw-r--r--src/libFLAC/include/private/crc.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libFLAC/include/private/crc.h b/src/libFLAC/include/private/crc.h
index 81df92a7..8d3d456b 100644
--- a/src/libFLAC/include/private/crc.h
+++ b/src/libFLAC/include/private/crc.h
@@ -45,14 +45,14 @@ FLAC__uint8 FLAC__crc8(const FLAC__byte *data, uint32_t len);
** polynomial = x^16 + x^15 + x^2 + x^0
** init = 0
*/
-extern uint32_t const FLAC__crc16_table[256];
+extern FLAC__uint16 const FLAC__crc16_table[8][256];
-#define FLAC__CRC16_UPDATE(data, crc) ((((crc)<<8) & 0xffff) ^ FLAC__crc16_table[((crc)>>8) ^ (data)])
+#define FLAC__CRC16_UPDATE(data, crc) ((((crc)<<8) & 0xffff) ^ FLAC__crc16_table[0][((crc)>>8) ^ (data)])
/* this alternate may be faster on some systems/compilers */
#if 0
-#define FLAC__CRC16_UPDATE(data, crc) ((((crc)<<8) ^ FLAC__crc16_table[((crc)>>8) ^ (data)]) & 0xffff)
+#define FLAC__CRC16_UPDATE(data, crc) ((((crc)<<8) ^ FLAC__crc16_table[0][((crc)>>8) ^ (data)]) & 0xffff)
#endif
-uint32_t FLAC__crc16(const FLAC__byte *data, uint32_t len);
+FLAC__uint16 FLAC__crc16(const FLAC__byte *data, uint32_t len);
#endif