Macros

#define AV_LZO_INPUT_PADDING   8
#define AV_LZO_OUTPUT_PADDING   12

Functions

int av_lzo1x_decode (void *out, int *outlen, const void *in, int *inlen)
 Decodes LZO 1x compressed data.
void av_memcpy_backptr (uint8_t *dst, int back, int cnt)
 deliberately overlapping memcpy implementation

Error flags returned by av_lzo1x_decode

#define AV_LZO_INPUT_DEPLETED   1
 end of the input buffer reached before decoding finished
#define AV_LZO_OUTPUT_FULL   2
 decoded data did not fit into output buffer
#define AV_LZO_INVALID_BACKPTR   4
 a reference to previously decoded data was wrong
#define AV_LZO_ERROR   8
 a non-specific error in the compressed bitstream

Detailed Description

Macro Definition Documentation

#define AV_LZO_ERROR   8

a non-specific error in the compressed bitstream

Definition at line 43 of file lzo.h.

Referenced by av_lzo1x_decode(), copy(), and copy_backptr().

#define AV_LZO_INPUT_DEPLETED   1

end of the input buffer reached before decoding finished

Definition at line 37 of file lzo.h.

Referenced by av_lzo1x_decode(), copy(), and get_byte().

#define AV_LZO_INPUT_PADDING   8

Definition at line 46 of file lzo.h.

#define AV_LZO_INVALID_BACKPTR   4

a reference to previously decoded data was wrong

Definition at line 41 of file lzo.h.

Referenced by copy_backptr().

#define AV_LZO_OUTPUT_FULL   2

decoded data did not fit into output buffer

Definition at line 39 of file lzo.h.

Referenced by av_lzo1x_decode(), copy(), copy_backptr(), and matroska_decode_buffer().

#define AV_LZO_OUTPUT_PADDING   12

Definition at line 47 of file lzo.h.

Referenced by decode_init(), dfa_decode_init(), and matroska_decode_buffer().

Function Documentation

int av_lzo1x_decode ( void out,
int *  outlen,
const void in,
int *  inlen 
)

Decodes LZO 1x compressed data.

Parameters
outoutput buffer
outlensize of output buffer, number of bytes left are returned here
ininput buffer
inlensize of input buffer, number of bytes left are returned here
Returns
0 on success, otherwise a combination of the error flags above

Make sure all buffers are appropriately padded, in must provide AV_LZO_INPUT_PADDING, out must provide AV_LZO_OUTPUT_PADDING additional bytes.

Definition at line 181 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

Parameters
dstdestination buffer; must be padded with 12 additional bytes
backhow many bytes back we start (the initial size of the overlapping window)
cntnumber 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 177 of file lzo.c.

Referenced by decode_tsw1(), mszh_decomp(), synth_block_fcb_acb(), unpack(), and xan_unpack().