lzma_encoder_optimum_normal.c File Reference
`#include "lzma_encoder_private.h"`
`#include "fastpos.h"`
`#include "memcmplen.h"`

## Macros

#define | is_short_rep(optimal) ((optimal).back_prev == 0)

## Functions

static uint32_t | get_literal_price (const lzma_lzma1_encoder *const coder, const uint32_t pos, const uint32_t prev_byte, const bool match_mode, uint32_t match_byte, uint32_t symbol)
static uint32_t | get_len_price (const lzma_length_encoder *const lencoder, const uint32_t len, const uint32_t pos_state)
static uint32_t | get_short_rep_price (const lzma_lzma1_encoder *const coder, const lzma_lzma_state state, const uint32_t pos_state)
static uint32_t | get_pure_rep_price (const lzma_lzma1_encoder *const coder, const uint32_t rep_index, const lzma_lzma_state state, uint32_t pos_state)
static uint32_t | get_rep_price (const lzma_lzma1_encoder *const coder, const uint32_t rep_index, const uint32_t len, const lzma_lzma_state state, const uint32_t pos_state)
static uint32_t | get_dist_len_price (const lzma_lzma1_encoder *const coder, const uint32_t dist, const uint32_t len, const uint32_t pos_state)
static void | fill_dist_prices (lzma_lzma1_encoder *coder)
static void | fill_align_prices (lzma_lzma1_encoder *coder)
static void | make_literal (lzma_optimal *optimal)
static void | make_short_rep (lzma_optimal *optimal)
static void | backward (lzma_lzma1_encoder *restrict coder, uint32_t *restrict len_res, uint32_t *restrict back_res, uint32_t cur)
static uint32_t | helper1 (lzma_lzma1_encoder *restrict coder, lzma_mf *restrict mf, uint32_t *restrict back_res, uint32_t *restrict len_res, uint32_t position)
static uint32_t | helper2 (lzma_lzma1_encoder *coder, uint32_t *reps, const uint8_t *buf, uint32_t len_end, uint32_t position, const uint32_t cur, const uint32_t nice_len, const uint32_t buf_avail_full)
void | lzma_lzma_optimum_normal (lzma_lzma1_encoder *restrict coder, lzma_mf *restrict mf, uint32_t *restrict back_res, uint32_t *restrict len_res, uint32_t position)