mirror of
https://github.com/intel/isa-l.git
synced 2024-12-12 17:33:50 +01:00
4ae2d1be29
Change-Id: I8cf5bcd56f290d17205ac36dc2828c8acfc66947 Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
29 lines
837 B
C
29 lines
837 B
C
#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 LIT_LEN_MASK ((1 << LIT_LEN_BIT_COUNT) - 1)
|
|
#define DIST_LIT_BIT_COUNT 9
|
|
#define DIST_LIT_MASK ((1 << DIST_LIT_BIT_COUNT) - 1)
|
|
#define ICF_DIST_OFFSET LIT_LEN_BIT_COUNT
|
|
#define NULL_DIST_SYM 30
|
|
|
|
#define LEN_START 257
|
|
#define LEN_OFFSET (LEN_START - 3)
|
|
#define LIT_START (NULL_DIST_SYM + 1)
|
|
#define ICF_CODE_LEN 32
|
|
|
|
struct deflate_icf {
|
|
uint32_t lit_len:LIT_LEN_BIT_COUNT;
|
|
uint32_t lit_dist:DIST_LIT_BIT_COUNT;
|
|
uint32_t dist_extra:ICF_CODE_LEN - 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
|