#include <limits.h>
#include <stdint.h>
#include <string.h>
#include "avassert.h"
#include "intreadwrite.h"
#include "lzo.h"
#include "macros.h"
#include "mem.h"
Go to the source code of this file.
|
| #define | OUTBUF_PADDED 1 |
| | Define if we may write up to 12 bytes beyond the output buffer.
|
| |
| #define | INBUF_PADDED 1 |
| | Define if we may read up to 8 bytes beyond the input buffer.
|
| |
| #define | GETB(c) |
| |
|
| 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 | copy_backptr (LZOContext *c, int back, int cnt) |
| | Copies previously decoded bytes to current position.
|
| |
| int | av_lzo1x_decode (void *out, int *outlen, const void *in, int *inlen) |
| | Decodes LZO 1x compressed data.
|
| |
◆ OUTBUF_PADDED
Define if we may write up to 12 bytes beyond the output buffer.
Definition at line 33 of file lzo.c.
◆ INBUF_PADDED
Define if we may read up to 8 bytes beyond the input buffer.
Definition at line 35 of file lzo.c.
◆ GETB
◆ get_byte()
Reads one byte from the input buffer, avoiding an overrun.
- Returns
- byte read
Definition at line 47 of file lzo.c.
Referenced by get_len().
◆ get_len()
| static int get_len |
( |
LZOContext * | c, |
|
|
int | x, |
|
|
int | mask ) |
|
inlinestatic |
Decodes a length value in the coding used by lzo.
- Parameters
-
| x | previous byte value |
| mask | bits used from x |
- Returns
- decoded length value
Definition at line 67 of file lzo.c.
Referenced by av_lzo1x_decode().
◆ copy()
Copies bytes from input to output buffer with checking.
- Parameters
-
| cnt | number of bytes to copy, must be >= 0 |
Definition at line 87 of file lzo.c.
Referenced by av_lzo1x_decode().
◆ copy_backptr()
| static void copy_backptr |
( |
LZOContext * | c, |
|
|
int | back, |
|
|
int | cnt ) |
|
inlinestatic |
Copies previously decoded bytes to current position.
- Parameters
-
| back | how many bytes back we start, must be > 0 |
| cnt | number of bytes to copy, must be > 0 |
cnt > back is valid, this will copy the bytes we just copied, thus creating a repeating pattern with a period length of back.
Definition at line 120 of file lzo.c.
Referenced by av_lzo1x_decode().