diff options
Diffstat (limited to 'c/enc/backward_references_hq.h')
-rwxr-xr-x[-rw-r--r--] | c/enc/backward_references_hq.h | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/c/enc/backward_references_hq.h b/c/enc/backward_references_hq.h index 7c38bd6..7e3bd7e 100644..100755 --- a/c/enc/backward_references_hq.h +++ b/c/enc/backward_references_hq.h @@ -11,38 +11,41 @@ #include "../common/constants.h" #include "../common/dictionary.h" -#include "../common/platform.h" #include <brotli/types.h> #include "./command.h" #include "./hash.h" #include "./memory.h" +#include "./port.h" #include "./quality.h" #if defined(__cplusplus) || defined(c_plusplus) extern "C" { #endif -BROTLI_INTERNAL void BrotliCreateZopfliBackwardReferences(MemoryManager* m, - size_t num_bytes, size_t position, const uint8_t* ringbuffer, - size_t ringbuffer_mask, const BrotliEncoderParams* params, - HasherHandle hasher, int* dist_cache, size_t* last_insert_len, - Command* commands, size_t* num_commands, size_t* num_literals); +BROTLI_INTERNAL void BrotliCreateZopfliBackwardReferences( + MemoryManager* m, const BrotliDictionary* dictionary, size_t num_bytes, + size_t position, const uint8_t* ringbuffer, size_t ringbuffer_mask, + const BrotliEncoderParams* params, HasherHandle hasher, int* dist_cache, + size_t* last_insert_len, Command* commands, size_t* num_commands, + size_t* num_literals); -BROTLI_INTERNAL void BrotliCreateHqZopfliBackwardReferences(MemoryManager* m, - size_t num_bytes, size_t position, const uint8_t* ringbuffer, - size_t ringbuffer_mask, const BrotliEncoderParams* params, - HasherHandle hasher, int* dist_cache, size_t* last_insert_len, - Command* commands, size_t* num_commands, size_t* num_literals); +BROTLI_INTERNAL void BrotliCreateHqZopfliBackwardReferences( + MemoryManager* m, const BrotliDictionary* dictionary, size_t num_bytes, + size_t position, const uint8_t* ringbuffer, size_t ringbuffer_mask, + const BrotliEncoderParams* params, HasherHandle hasher, int* dist_cache, + size_t* last_insert_len, Command* commands, size_t* num_commands, + size_t* num_literals); typedef struct ZopfliNode { - /* Best length to get up to this byte (not including this byte itself) - highest 7 bit is used to reconstruct the length code. */ + /* best length to get up to this byte (not including this byte itself) + highest 8 bit is used to reconstruct the length code */ uint32_t length; - /* Distance associated with the length. */ + /* distance associated with the length + highest 7 bit contains distance short code + 1 (or zero if no short code) + */ uint32_t distance; - /* Number of literal inserts before this copy; highest 5 bits contain - distance short code + 1 (or zero if no short code). */ - uint32_t dcode_insert_length; + /* number of literal inserts before this copy */ + uint32_t insert_length; /* This union holds information used by dynamic-programming. During forward pass |cost| it used to store the goal function. When node is processed its @@ -74,11 +77,11 @@ BROTLI_INTERNAL void BrotliInitZopfliNodes(ZopfliNode* array, size_t length); (1) nodes[i].copy_length() >= 2 (2) nodes[i].command_length() <= i and (3) nodes[i - nodes[i].command_length()].cost < kInfinity */ -BROTLI_INTERNAL size_t BrotliZopfliComputeShortestPath(MemoryManager* m, - size_t num_bytes, size_t position, const uint8_t* ringbuffer, - size_t ringbuffer_mask, const BrotliEncoderParams* params, - const size_t max_backward_limit, const int* dist_cache, HasherHandle hasher, - ZopfliNode* nodes); +BROTLI_INTERNAL size_t BrotliZopfliComputeShortestPath( + MemoryManager* m, const BrotliDictionary* dictionary, size_t num_bytes, + size_t position, const uint8_t* ringbuffer, size_t ringbuffer_mask, + const BrotliEncoderParams* params, const size_t max_backward_limit, + const int* dist_cache, HasherHandle hasher, ZopfliNode* nodes); BROTLI_INTERNAL void BrotliZopfliCreateCommands( const size_t num_bytes, const size_t block_start, |