#include "avutil.h"#include "common.h"#include <string.h>#include "lzo.h"Go to the source code of this file.
Data Structures | |
| struct | LZOContext |
Defines | |
| #define | OUTBUF_PADDED 1 |
| Avoid e.g. MPlayers fast_memcpy, it slows things down here. | |
| #define | INBUF_PADDED 1 |
| Define if we may read up to 8 bytes beyond the input buffer. | |
| #define | GETB(c) (*(c).in++) |
| #define | BUILTIN_MEMCPY |
| #define | COPY2(d, s) memcpy(d, s, 2); |
| #define | COPY4(d, s) memcpy(d, s, 4); |
Functions | |
| static int | get_byte (LZOContext *c) |
| Reads one byte from the input buffer, avoiding an overrun. | |
| static int | get_len (LZOContext *c, int x, int mask) |
| Decodes a length value in the coding used by lzo. | |
| static void | copy (LZOContext *c, int cnt) |
| Copies bytes from input to output buffer with checking. | |
| static void | memcpy_backptr (uint8_t *dst, int back, int cnt) |
| static void | copy_backptr (LZOContext *c, int back, int cnt) |
| Copies previously decoded bytes to current position. | |
| void | av_memcpy_backptr (uint8_t *dst, int back, int cnt) |
| deliberately overlapping memcpy implementation | |
| int | av_lzo1x_decode (void *out, int *outlen, const void *in, int *inlen) |
| Decodes LZO 1x compressed data. | |
| #define COPY2 | ( | d, | |||
| s | ) | memcpy(d, s, 2); |
| #define INBUF_PADDED 1 |
| #define OUTBUF_PADDED 1 |
| int av_lzo1x_decode | ( | void * | out, | |
| int * | outlen, | |||
| const void * | in, | |||
| int * | inlen | |||
| ) |
Decodes LZO 1x compressed data.
| out | output buffer | |
| outlen | size of output buffer, number of bytes left are returned here | |
| in | input buffer | |
| inlen | size of input buffer, number of bytes left are returned here |
Definition at line 174 of file lzo.c.
Referenced by decode_frame(), and matroska_decode_buffer().
| void av_memcpy_backptr | ( | uint8_t * | dst, | |
| int | back, | |||
| int | cnt | |||
| ) |
deliberately overlapping memcpy implementation
| dst | destination buffer; must be padded with 12 additional bytes | |
| back | how many bytes back we start (the initial size of the overlapping window) | |
| cnt | number of bytes to copy, must be >= 0 |
Definition at line 170 of file lzo.c.
Referenced by decode_tsw1(), mszh_decomp(), synth_block_fcb_acb(), unpack(), and xan_unpack().
| static void copy | ( | LZOContext * | c, | |
| int | cnt | |||
| ) | [inline, static] |
Copies bytes from input to output buffer with checking.
| cnt | number of bytes to copy, must be >= 0 |
Definition at line 88 of file lzo.c.
Referenced by av_lzo1x_decode(), avfilter_register_all(), frame_thread_init(), intra_predict(), qpeg_decode_intra(), and roq_decode_frame().
| static void copy_backptr | ( | LZOContext * | c, | |
| int | back, | |||
| int | cnt | |||
| ) | [inline, static] |
Copies previously decoded bytes to current position.
| back | how many bytes back we start | |
| cnt | number of bytes to copy, must be >= 0 |
Definition at line 121 of file lzo.c.
Referenced by av_lzo1x_decode().
| static int get_byte | ( | LZOContext * | c | ) | [inline, static] |
| static int get_len | ( | LZOContext * | c, | |
| int | x, | |||
| int | mask | |||
| ) | [inline, static] |
Decodes a length value in the coding used by lzo.
| x | previous byte value | |
| mask | bits used from x |
Definition at line 62 of file lzo.c.
Referenced by av_lzo1x_decode().
| static void memcpy_backptr | ( | uint8_t * | dst, | |
| int | back, | |||
| int | cnt | |||
| ) | [inline, static] |
1.5.8