MuPDF X.Y.Z

fitz/compress.h

Index

enum

function

Compress

Compress and decompress data buffers.

Deflate and inflate

enum fz_deflate_level

enum fz_deflate_level
{
        FZ_DEFLATE_NONE = 0,
        FZ_DEFLATE_BEST_SPEED = 1,
        FZ_DEFLATE_BEST = 9,
        FZ_DEFLATE_DEFAULT = -1
}

function fz_deflate_bound

size_t
fz_deflate_bound (
        fz_context *ctx,
        size_t size
)

Returns the upper bound on the size of flated data of length size.

function fz_deflate

void
fz_deflate (
        fz_context *ctx,
        unsigned char *dest,
        size_t *compressed_length,
        const unsigned char *source,
        size_t source_length,
        fz_deflate_level level
)

Compress source_length bytes of data starting at source, into a buffer of length compressed_length, starting at dest. compressed_length will be updated on exit to contain the size actually used.

function fz_new_deflated_data

unsigned char *
fz_new_deflated_data (
        fz_context *ctx,
        size_t *compressed_length,
        const unsigned char *source,
        size_t source_length,
        fz_deflate_level level
)

Compress source_length bytes of data starting at source, into a new memory block malloced for that purpose. *compressed_length is updated on exit to contain the size used. Ownership of the block is returned from this function, and the caller is therefore responsible for freeing it. The block may be considerably larger than is actually required. The caller is free to fz_realloc it down if it wants to.

function fz_new_deflated_data_from_buffer

unsigned char *
fz_new_deflated_data_from_buffer (
        fz_context *ctx,
        size_t *compressed_length,
        fz_buffer *buffer,
        fz_deflate_level level
)

Compress the contents of a fz_buffer into a new block malloced for that purpose. *compressed_length is updated on exit to contain the size used. Ownership of the block is returned from this function, and the caller is therefore responsible for freeing it. The block may be considerably larger than is actually required. The caller is free to fz_realloc it down if it wants to.

Brotli

This is an optional feature, and is only present if libbrotli was enabled at compile time.

enum fz_brotli_level

enum fz_brotli_level
{
        FZ_BROTLI_NONE = 0,
        FZ_BROTLI_BEST_SPEED = 1,
        FZ_BROTLI_BEST = 11,
        FZ_BROTLI_DEFAULT = 6 /* Guess */
}

function fz_brotli_bound

size_t
fz_brotli_bound (
        fz_context *ctx,
        size_t size
)

Returns the upper bound on the size of brotli compressed data of length size.

function fz_compress_brotli

void
fz_compress_brotli (
        fz_context *ctx,
        unsigned char *dest,
        size_t *compressed_length,
        const unsigned char *source,
        size_t source_length,
        fz_brotli_level level
)

Compress source_length bytes of data starting at source, into a buffer of length destLen, starting at dest. compressed_length will be updated on exit to contain the size actually used.

function fz_new_brotli_data

unsigned char *
fz_new_brotli_data (
        fz_context *ctx,
        size_t *compressed_length,
        const unsigned char *source,
        size_t source_length,
        fz_brotli_level level
)

Compress source_length bytes of data starting at source, into a new memory block malloced for that purpose. *compressed_length is updated on exit to contain the size used. Ownership of the block is returned from this function, and the caller is therefore responsible for freeing it. The block may be considerably larger than is actually required. The caller is free to fz_realloc it down if it wants to.

function fz_new_brotli_data_from_buffer

unsigned char *
fz_new_brotli_data_from_buffer (
        fz_context *ctx,
        size_t *compressed_length,
        fz_buffer *buffer,
        fz_brotli_level level
)

Compress the contents of a fz_buffer into a new block malloced for that purpose. *compressed_length is updated on exit to contain the size used. Ownership of the block is returned from this function, and the caller is therefore responsible for freeing it. The block may be considerably larger than is actually required. The caller is free to fz_realloc it down if it wants to.

Fax

function fz_compress_ccitt_fax_g3

fz_buffer *
fz_compress_ccitt_fax_g3 (
        fz_context *ctx,
        const unsigned char *data,
        int columns,
        int rows,
        ptrdiff_t stride
)

Compress bitmap data as CCITT Group 3 1D fax image. Creates a stream assuming the default PDF parameters, except the number of columns.

function fz_compress_ccitt_fax_g4

fz_buffer *
fz_compress_ccitt_fax_g4 (
        fz_context *ctx,
        const unsigned char *data,
        int columns,
        int rows,
        ptrdiff_t stride
)

Compress bitmap data as CCITT Group 4 2D fax image. Creates a stream assuming the default PDF parameters, except K=-1 and the number of columns.