isa-l/igzip/igzip_level_buf_structs.h
Roy Oursler 4ae2d1be29 igzip: Implement optimized level 2 compression
Change-Id: I8cf5bcd56f290d17205ac36dc2828c8acfc66947
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00

32 lines
751 B
C

#ifndef IGZIP_LEVEL_BUF_STRUCTS_H
#define IGZIP_LEVEL_BUF_STRUCTS_H
#include "igzip_lib.h"
#include "huff_codes.h"
#include "encode_df.h"
#define MATCH_BUF_SIZE (4 * 1024)
struct lvl2_buf{
uint16_t hash_table[IGZIP_LVL2_HASH_SIZE];
struct deflate_icf *matches_next;
struct deflate_icf *matches_end;
struct deflate_icf matches[MATCH_BUF_SIZE];
struct deflate_icf overflow[ISAL_LOOK_AHEAD];
};
#define MAX_LVL_BUF_SIZE sizeof(struct lvl2_buf)
struct level_buf {
struct hufftables_icf encode_tables;
uint32_t deflate_hdr_count;
uint32_t deflate_hdr_extra_bits;
uint8_t deflate_hdr[ISAL_DEF_MAX_HDR_SIZE];
struct deflate_icf *icf_buf_next;
uint64_t icf_buf_avail_out;
struct deflate_icf *icf_buf_start;
struct lvl2_buf lvl2;
};
#endif