#ifndef _LZX_COMMON_H
#define _LZX_COMMON_H
-#include "wimlib/bitops.h"
#include "wimlib/lzx_constants.h"
#include "wimlib/types.h"
-//#define ENABLE_LZX_DEBUG
-#ifdef ENABLE_LZX_DEBUG
-# include "wimlib/assert.h"
-# define LZX_ASSERT wimlib_assert
-#else
-# define LZX_ASSERT(...)
-#endif
-
extern const u32 lzx_offset_slot_base[LZX_MAX_OFFSET_SLOTS + 1];
-extern const u8 lzx_extra_offset_bits[LZX_MAX_OFFSET_SLOTS + 1];
-
-/*
- * Return the offset slot for the specified match offset.
- *
- * This returns the smallest i such that:
- *
- * offset + LZX_OFFSET_ADJUSTMENT >= lzx_offset_slot_base[i]
- *
- * However, the actual implementation below takes advantage of the regularity of
- * the offset slot bases to calculate the slot directly from the adjusted offset
- * without actually looking at the array.
- */
-static inline unsigned
-lzx_get_offset_slot(u32 offset)
-{
- u32 adjusted_offset = offset + LZX_OFFSET_ADJUSTMENT;
- if (adjusted_offset >= 196608) {
- return (adjusted_offset >> 17) + 34;
- } else {
- unsigned mssb_idx = fls32(adjusted_offset);
- return (mssb_idx << 1) |
- ((adjusted_offset >> (mssb_idx - 1)) & 1);
- }
-}
-
-static inline unsigned
-lzx_main_symbol_for_literal(unsigned literal)
-{
- return literal;
-}
-
-static inline unsigned
-lzx_main_symbol_for_match(unsigned offset_slot, unsigned len_header)
-{
- return LZX_NUM_CHARS + (offset_slot * LZX_NUM_LEN_HEADERS) + len_header;
-}
+extern const u8 lzx_extra_offset_bits[LZX_MAX_OFFSET_SLOTS];
extern unsigned
lzx_get_window_order(size_t max_bufsize);
-extern unsigned
-lzx_get_num_offset_slots(unsigned window_order);
-
extern unsigned
lzx_get_num_main_syms(unsigned window_order);
extern void
-lzx_do_e8_preprocessing(u8 *data, u32 size);
+lzx_preprocess(u8 *data, u32 size);
extern void
-lzx_undo_e8_preprocessing(u8 *data, u32 size);
+lzx_postprocess(u8 *data, u32 size);
#endif /* _LZX_COMMON_H */