summaryrefslogtreecommitdiffstats
path: root/src/isa-l/igzip/encode_df.h
blob: 40b785e36a95e11dac94a6b27854c8f4d78d2e5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef ENCODE_DF_H
#define ENCODE_DF_H

#include <stdint.h>
#include "huff_codes.h"

/* Deflate Intermediate Compression Format */
#define LIT_LEN_BIT_COUNT 10
#define DIST_LIT_BIT_COUNT 9
#define ICF_DIST_OFFSET LIT_LEN_BIT_COUNT
#define NULL_DIST_SYM 30

struct deflate_icf {
	uint32_t lit_len:LIT_LEN_BIT_COUNT;
	uint32_t lit_dist:DIST_LIT_BIT_COUNT;
	uint32_t dist_extra:32 - DIST_LIT_BIT_COUNT - ICF_DIST_OFFSET;
};

struct deflate_icf *encode_deflate_icf(struct deflate_icf *next_in, struct deflate_icf *end_in,
			               struct BitBuf2 *bb, struct hufftables_icf * hufftables);
#endif