MuPDF X.Y.Z

fitz/compressed-buffer.h

Index

struct

enum

function

Compressed Buffer

struct fz_compression_params

struct fz_compression_params
{
        int type;
        union {
                struct {
                        int color_transform; /* Use -1 for unset */
                        int invert_cmyk; /* Use 1 for standalone JPEG files */
                } jpeg;
                struct {
                        int smask_in_data;
                } jpx;
                struct {
                        fz_jbig2_globals *globals;
                        int embedded;
                } jbig2;
                struct {
                        int columns;
                        int rows;
                        int k;
                        int end_of_line;
                        int encoded_byte_align;
                        int end_of_block;
                        int black_is_1;
                        int damaged_rows_before_error;
                } fax;
                struct
                {
                        int columns;
                        int colors;
                        int predictor;
                        int bpc;
                }
                flate;
                struct
                {
                        int columns;
                        int colors;
                        int predictor;
                        int bpc;
                }
                brotli;
                struct
                {
                        int columns;
                        int colors;
                        int predictor;
                        int bpc;
                        int early_change;
                } lzw;
        } u;
}

Compression parameters used for buffers of compressed data; typically for the source data for images.

struct fz_compressed_buffer

struct fz_compressed_buffer
{
        int refs;
        fz_compression_params params;
        fz_buffer *buffer;
}

Buffers of compressed data; typically for the source data for images.

function fz_keep_compressed_buffer

fz_compressed_buffer *
fz_keep_compressed_buffer (
        fz_context *ctx,
        fz_compressed_buffer *cbuf
)

Take a reference to an fz_compressed_buffer.

function fz_compressed_buffer_size

size_t
fz_compressed_buffer_size (
        fz_compressed_buffer *buffer
)

Return the storage size used for a buffer and its data. Used in implementing store handling.

Never throws exceptions.

function fz_open_compressed_buffer

fz_stream *
fz_open_compressed_buffer (
        fz_context *ctx,
        fz_compressed_buffer *
)

Open a stream to read the decompressed version of a buffer.

function fz_open_image_decomp_stream_from_buffer

fz_stream *
fz_open_image_decomp_stream_from_buffer (
        fz_context *ctx,
        fz_compressed_buffer *,
        int *l2factor
)

Open a stream to read the decompressed version of a buffer, with optional log2 subsampling.

l2factor = NULL for no subsampling, or a pointer to an integer containing the maximum log2 subsample factor acceptable (0 = none, 1 = halve dimensions, 2 = quarter dimensions etc). If non-NULL, then *l2factor will be updated on exit with the actual log2 subsample factor achieved.

function fz_open_image_decomp_stream

fz_stream *
fz_open_image_decomp_stream (
        fz_context *ctx,
        fz_stream *,
        fz_compression_params *,
        int *l2factor
)

Open a stream to read the decompressed version of another stream with optional log2 subsampling.

function fz_recognize_image_format

int
fz_recognize_image_format (
        fz_context *ctx,
        unsigned char p[8]
)

Recognise image format strings in the first 8 bytes from image data.

function fz_image_type_name

const char *
fz_image_type_name (
        int type
)

Map from FZ_IMAGE_* value to string.

The returned string is static and therefore must not be freed.

function fz_lookup_image_type

int
fz_lookup_image_type (
        const char *type
)

Map from (case sensitive) image type string to FZ_IMAGE_* type value.

enum fz_image_type

enum fz_image_type
{
        FZ_IMAGE_UNKNOWN = 0,

        /* Uncompressed samples */
        FZ_IMAGE_RAW,

        /* Compressed samples */
        FZ_IMAGE_FAX,
        FZ_IMAGE_FLATE,
        FZ_IMAGE_LZW,
        FZ_IMAGE_RLD,
        FZ_IMAGE_BROTLI,

        /* Full image formats */
        FZ_IMAGE_BMP,
        FZ_IMAGE_GIF,
        FZ_IMAGE_JBIG2,
        FZ_IMAGE_JPEG,
        FZ_IMAGE_JPX,
        FZ_IMAGE_JXR,
        FZ_IMAGE_PNG,
        FZ_IMAGE_PNM,
        FZ_IMAGE_TIFF,
        FZ_IMAGE_PSD,
}

function fz_drop_compressed_buffer

void
fz_drop_compressed_buffer (
        fz_context *ctx,
        fz_compressed_buffer *buf
)

Drop a reference to a compressed buffer. Destroys the buffer and frees any storage/other references held by it.

Never throws exceptions.

function fz_new_compressed_buffer

fz_compressed_buffer *
fz_new_compressed_buffer (
        fz_context *ctx
)

Create a new, UNKNOWN format, compressed_buffer.