1
/* Copyright (C) 2001-2006 Artifex Software, Inc.
4
This software is provided AS-IS with no warranty, either express or
7
This software is distributed under license and may not be copied, modified
8
or distributed except as expressly authorized under the terms of that
9
license. Refer to licensing information at http://www.artifex.com/
10
or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11
San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
14
/* $Id: sjpeg.h 8022 2007-06-05 22:23:38Z giles $ */
15
/* IJG entry point wrappers */
16
/* Requires sdct.h, jpeg/jpeglib.h */
18
#ifndef sjpeg_INCLUDED
19
# define sjpeg_INCLUDED
22
* Each routine gs_jpeg_xxx is equivalent to the IJG entry point jpeg_xxx,
24
* (a) it takes a pointer to stream_DCT_state instead of just the IJG
25
* jpeg_(de)compress_data struct;
26
* (b) it catches any error exit from the IJG code and converts it into
27
* an error return value per Ghostscript custom. A negative return
28
* value is an error code, except for gs_jpeg_alloc_xxx which return
29
* NULL (indicating e_VMerror).
32
/* Common to encode/decode */
34
void gs_jpeg_error_setup(stream_DCT_state * st);
35
int gs_jpeg_log_error(stream_DCT_state * st);
36
JQUANT_TBL *gs_jpeg_alloc_quant_table(stream_DCT_state * st);
37
JHUFF_TBL *gs_jpeg_alloc_huff_table(stream_DCT_state * st);
38
int gs_jpeg_destroy(stream_DCT_state * st);
42
int gs_jpeg_create_compress(stream_DCT_state * st);
43
int gs_jpeg_set_defaults(stream_DCT_state * st);
44
int gs_jpeg_set_colorspace(stream_DCT_state * st,
45
J_COLOR_SPACE colorspace);
46
int gs_jpeg_set_linear_quality(stream_DCT_state * st,
47
int scale_factor, boolean force_baseline);
48
int gs_jpeg_set_quality(stream_DCT_state * st,
49
int quality, boolean force_baseline);
50
int gs_jpeg_start_compress(stream_DCT_state * st,
51
boolean write_all_tables);
52
int gs_jpeg_write_scanlines(stream_DCT_state * st,
53
JSAMPARRAY scanlines, int num_lines);
54
int gs_jpeg_finish_compress(stream_DCT_state * st);
58
int gs_jpeg_create_decompress(stream_DCT_state * st);
59
int gs_jpeg_read_header(stream_DCT_state * st,
60
boolean require_image);
61
int gs_jpeg_start_decompress(stream_DCT_state * st);
62
int gs_jpeg_read_scanlines(stream_DCT_state * st,
63
JSAMPARRAY scanlines, int max_lines);
64
int gs_jpeg_finish_decompress(stream_DCT_state * st);
66
#endif /* sjpeg_INCLUDED */