Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
7858 views
1
#ifndef MUPDF_FITZ_COMPRESSED_BUFFER_H
2
#define MUPDF_FITZ_COMPRESSED_BUFFER_H
3
4
#include "mupdf/fitz/system.h"
5
#include "mupdf/fitz/context.h"
6
#include "mupdf/fitz/buffer.h"
7
#include "mupdf/fitz/stream.h"
8
9
typedef struct fz_compression_params_s fz_compression_params;
10
11
typedef struct fz_compressed_buffer_s fz_compressed_buffer;
12
unsigned int fz_compressed_buffer_size(fz_compressed_buffer *buffer);
13
14
fz_stream *fz_open_compressed_buffer(fz_context *ctx, fz_compressed_buffer *);
15
fz_stream *fz_open_image_decomp_stream_from_buffer(fz_context *ctx, fz_compressed_buffer *, int *l2factor);
16
fz_stream *fz_open_image_decomp_stream(fz_context *ctx, fz_stream *, fz_compression_params *, int *l2factor);
17
18
enum
19
{
20
FZ_IMAGE_UNKNOWN = 0,
21
FZ_IMAGE_JPEG = 1,
22
FZ_IMAGE_JPX = 2, /* Placeholder until supported */
23
FZ_IMAGE_FAX = 3,
24
FZ_IMAGE_JBIG2 = 4, /* Placeholder until supported */
25
FZ_IMAGE_RAW = 5,
26
FZ_IMAGE_RLD = 6,
27
FZ_IMAGE_FLATE = 7,
28
FZ_IMAGE_LZW = 8,
29
FZ_IMAGE_PNG = 9,
30
FZ_IMAGE_TIFF = 10,
31
FZ_IMAGE_JXR = 11, /* Placeholder until supported */
32
};
33
34
struct fz_compression_params_s
35
{
36
int type;
37
union {
38
struct {
39
int color_transform; /* Use -1 for unset */
40
} jpeg;
41
struct {
42
int smask_in_data;
43
} jpx;
44
struct {
45
int columns;
46
int rows;
47
int k;
48
int end_of_line;
49
int encoded_byte_align;
50
int end_of_block;
51
int black_is_1;
52
int damaged_rows_before_error;
53
} fax;
54
struct
55
{
56
int columns;
57
int colors;
58
int predictor;
59
int bpc;
60
}
61
flate;
62
struct
63
{
64
int columns;
65
int colors;
66
int predictor;
67
int bpc;
68
int early_change;
69
} lzw;
70
} u;
71
};
72
73
struct fz_compressed_buffer_s
74
{
75
fz_compression_params params;
76
fz_buffer *buffer;
77
};
78
79
void fz_drop_compressed_buffer(fz_context *ctx, fz_compressed_buffer *buf);
80
81
#endif
82
83