#include "avcodec.h"
#include "put_bits.h"
#include "lzw.h"
Go to the source code of this file.
Data Structures | |
| struct | Code |
| One code in hash table. More... | |
| struct | LZWEncodeState |
| LZW encode state. More... | |
Defines | |
| #define | LZW_MAXBITS 12 |
| #define | LZW_SIZTABLE (1<<LZW_MAXBITS) |
| #define | LZW_HASH_SIZE 16411 |
| #define | LZW_HASH_SHIFT 6 |
| #define | LZW_PREFIX_EMPTY -1 |
| #define | LZW_PREFIX_FREE -2 |
Functions | |
| static int | hash (int head, const int add) |
| Hash function adding character. | |
| static int | hashNext (int head, const int offset) |
| Hash function calculates next hash value. | |
| static int | hashOffset (const int head) |
| Hash function calculates hash offset. | |
| static void | writeCode (LZWEncodeState *s, int c) |
| Write one code to stream. | |
| static int | findCode (LZWEncodeState *s, uint8_t c, int hash_prefix) |
| Find LZW code for block. | |
| static void | addCode (LZWEncodeState *s, uint8_t c, int hash_prefix, int hash_code) |
| Add block to LZW code table. | |
| static void | clearTable (LZWEncodeState *s) |
| Clear LZW code table. | |
| static int | writtenBytes (LZWEncodeState *s) |
| Calculate number of bytes written. | |
| void | ff_lzw_encode_init (LZWEncodeState *s, uint8_t *outbuf, int outsize, int maxbits, enum FF_LZW_MODES mode, void(*lzw_put_bits)(PutBitContext *, int, unsigned)) |
| Initialize LZW encoder. | |
| int | ff_lzw_encode (LZWEncodeState *s, const uint8_t *inbuf, int insize) |
| LZW main compress function. | |
| int | ff_lzw_encode_flush (LZWEncodeState *s, void(*lzw_flush_put_bits)(PutBitContext *)) |
| Write end code and flush bitstream. | |
Variables | |
| const int | ff_lzw_encode_state_size = sizeof(LZWEncodeState) |
Definition in file lzwenc.c.
| #define LZW_HASH_SIZE 16411 |
Definition at line 34 of file lzwenc.c.
Referenced by clearTable(), hash(), hashNext(), and hashOffset().
| #define LZW_PREFIX_EMPTY -1 |
Definition at line 37 of file lzwenc.c.
Referenced by clearTable(), ff_lzw_encode(), and ff_lzw_encode_init().
| #define LZW_PREFIX_FREE -2 |
Definition at line 38 of file lzwenc.c.
Referenced by clearTable(), ff_lzw_encode(), and findCode().
| static void addCode | ( | LZWEncodeState * | s, | |
| uint8_t | c, | |||
| int | hash_prefix, | |||
| int | hash_code | |||
| ) | [inline, static] |
Add block to LZW code table.
| s | LZW state | |
| c | Last character in block | |
| hash_prefix | LZW code for prefix | |
| hash_code | LZW code for bytes block |
Definition at line 148 of file lzwenc.c.
Referenced by ff_lzw_encode().
| static void clearTable | ( | LZWEncodeState * | s | ) | [static] |
Clear LZW code table.
| s | LZW state |
Definition at line 164 of file lzwenc.c.
Referenced by ff_lzw_encode().
| int ff_lzw_encode | ( | LZWEncodeState * | s, | |
| const uint8_t * | inbuf, | |||
| int | insize | |||
| ) |
LZW main compress function.
| s | LZW state | |
| inbuf | Input buffer | |
| insize | Size of input buffer |
Definition at line 226 of file lzwenc.c.
Referenced by encode_strip(), and gif_image_write_image().
| int ff_lzw_encode_flush | ( | LZWEncodeState * | s, | |
| void(*)(PutBitContext *) | lzw_flush_put_bits | |||
| ) |
| void ff_lzw_encode_init | ( | LZWEncodeState * | s, | |
| uint8_t * | outbuf, | |||
| int | outsize, | |||
| int | maxbits, | |||
| enum FF_LZW_MODES | mode, | |||
| void(*)(PutBitContext *, int, unsigned) | lzw_put_bits | |||
| ) |
| static int findCode | ( | LZWEncodeState * | s, | |
| uint8_t | c, | |||
| int | hash_prefix | |||
| ) | [inline, static] |
Find LZW code for block.
| s | LZW state | |
| c | Last character in block | |
| hash_prefix | LZW code for prefix |
Definition at line 126 of file lzwenc.c.
Referenced by ff_lzw_encode().
| static int hash | ( | int | head, | |
| const int | add | |||
| ) | [inline, static] |
Hash function adding character.
| head | LZW code for prefix | |
| add | Character to add |
Definition at line 74 of file lzwenc.c.
Referenced by adpcm_compress_trellis(), bidir_refine(), clearTable(), ff_lzw_encode(), findCode(), make_digest_auth(), and sap_fetch_packet().
| static int hashNext | ( | int | head, | |
| const int | offset | |||
| ) | [inline, static] |
Hash function calculates next hash value.
| head | Actual hash code | |
| offset | Offset calculated by hashOffset |
Definition at line 89 of file lzwenc.c.
Referenced by findCode().
| static int hashOffset | ( | const int | head | ) | [inline, static] |
Hash function calculates hash offset.
| head | Actual hash code |
Definition at line 102 of file lzwenc.c.
Referenced by findCode().
| static void writeCode | ( | LZWEncodeState * | s, | |
| int | c | |||
| ) | [inline, static] |
Write one code to stream.
| s | LZW state | |
| c | code to write |
Definition at line 112 of file lzwenc.c.
Referenced by clearTable(), ff_lzw_encode(), and ff_lzw_encode_flush().
| static int writtenBytes | ( | LZWEncodeState * | s | ) | [static] |
Calculate number of bytes written.
| s | LZW encode state |
Definition at line 187 of file lzwenc.c.
Referenced by ff_lzw_encode(), and ff_lzw_encode_flush().
| const int ff_lzw_encode_state_size = sizeof(LZWEncodeState) |
1.5.8