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.

#define AV_LZO_INPUT_DEPLETED   1

end of the input buffer reached before decoding finished

Definition at line 37 of file lzo.h.

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

#define AV_LZO_OUTPUT_FULL   2

decoded data did not fit into output buffer

Definition at line 39 of file lzo.h.

Referenced by 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:
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
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 173 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:
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

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

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