diff options
author | Aurelien Jacobs <aurel@gnuage.org> | 2008-01-04 23:09:58 +0000 |
---|---|---|
committer | Aurelien Jacobs <aurel@gnuage.org> | 2008-01-04 23:09:58 +0000 |
commit | 3abe5fbdc4169047421e9e8794a8f190d794b929 (patch) | |
tree | 69954b6566185ceebcd2e462cdfa6c68f0393b48 /libavutil/crc.h | |
parent | 83a0d3878c54b84b21c12be1981bd30096f278f4 (diff) | |
download | ffmpeg-3abe5fbdc4169047421e9e8794a8f190d794b929.tar.gz |
improve CRC API
- don't export any global var
- provide either generated or hardcoded tables
Originally committed as revision 11409 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavutil/crc.h')
-rw-r--r-- | libavutil/crc.h | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/libavutil/crc.h b/libavutil/crc.h index c6205c12a6..28cb7c0219 100644 --- a/libavutil/crc.h +++ b/libavutil/crc.h @@ -26,26 +26,17 @@ typedef uint32_t AVCRC; -#define AV_CRC_8_ATM 0x07 -#define AV_CRC_16 0x8005 -#define AV_CRC_16_CCITT 0x1021 -#define AV_CRC_32_IEEE 0x04C11DB7L -//! reversed bitorder version of AV_CRC_32_IEEE -#define AV_CRC_32_IEEE_LE 0xEDB88320L - -#if LIBAVUTIL_VERSION_INT < (50<<16) -extern AVCRC *av_crcEDB88320; -extern AVCRC *av_crc04C11DB7; -extern AVCRC *av_crc8005 ; -extern AVCRC *av_crc07 ; -#else -extern AVCRC av_crcEDB88320[]; -extern AVCRC av_crc04C11DB7[]; -extern AVCRC av_crc8005 []; -extern AVCRC av_crc07 []; -#endif +typedef enum { + AV_CRC_8_ATM, + AV_CRC_16_ANSI, + AV_CRC_16_CCITT, + AV_CRC_32_IEEE, + AV_CRC_32_IEEE_LE, /*< reversed bitorder version of AV_CRC_32_IEEE */ + AV_CRC_MAX, /*< not part of public API! don't use outside lavu */ +}AVCRCId; int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size); +const AVCRC *av_crc_get_table(AVCRCId crc_id); uint32_t av_crc(const AVCRC *ctx, uint32_t start_crc, const uint8_t *buffer, size_t length); #endif /* FFMPEG_CRC_H */ |