Defines

#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

Define 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().

#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 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

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 170 of file lzo.c.

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