~ubuntu-branches/ubuntu/vivid/ghostscript/vivid-updates

« back to all changes in this revision

Viewing changes to base/sbwbs.h

  • Committer: Package Import Robot
  • Author(s): Till Kamppeter
  • Date: 2014-05-02 15:48:44 UTC
  • mfrom: (1.1.43)
  • Revision ID: package-import@ubuntu.com-20140502154844-c401rxx0cce8gm0q
Tags: 9.14~dfsg-0ubuntu1
* New upstream release
   - Ghostscript 9.14
   - pdfwrite now uses the same color management engine as Ghostscript
     rendering devices (by default LCMS2). This provides much better
     control over color conversion and color management generally, but
     will result in some small color differences when compared to the
     old system.
     It is no longer necessary to specify UseCIEColor (and we very much
     encourage you not to do this) or the ProcessColorModel if you want
     to convert a PDF file to a specific color space, simply set the
     ColorConversionStrategy appropriately.
     We do not expect any major problems to arise with this new code,
     but for the duration of this release a new switch -dPDFUseOldCMS
     is available which will restore the old color management. See:
     Color Conversion and Management
     Please note that due to constraints of the PDF/A-1 specification,
     the new color management does not yet apply when producing PDF/A
     files.
   - A new device 'eps2write' has been added which allows for the
     creation of EPS files using the ps2write device instead of the old
     (deprecated and removed) pswrite device. This produces
     considerably better quality EPS files than the old epswrite device
     which is now also deprecated and will be removed in a future
     release.
   - ps2write now has a feature to allow customisation of the output
     for specific devices. Please see PSDocOptions and PSPageOptions
     described in ps2ps2.htm Additional Distiller Params
   - Ghostscript now reduces memory usage when processing PDF files
     that use transparency and output is to display devices such as
     Windows display or x11 (i.e. devices that are strictly full
     framebuffer devices), and to high level vector devices that cannot
     reproduce the PDF transparency model, such as the ps2write device
     or pdfwrite when 'flattening' to PDF 1.3 or earlier
     (-dCompatibilityLevel=1.3). This uses banding (clist) files to
     render the transparent areas in bands to reduce memory use, and
     unlike the existing page level banding, this is hidden from the
     target device.
   - Ghostscript can now collect information for pages in temp files
     (in Ghostscript's clist format), then render and output pages for
     the job in arbitrary order, including normal, reverse, odd, even,
     or any order or subset of the pages. This is controlled with the
     --saved-page=___ option. (Note that this only applies to rendering
     devices, and not high level devices such as pdfwrite and
     ps2write.) See: Deferred Page Rendering
   - The Ghostscript device architecture has been extended so that,
     when rendering bands into multiple threads, it is now possible to
     perform post-processing in multiple threads, such as downscale,
     post-render halftoning, or compression. Previously, post
     processing was only possible in the single main thread. This can
     improve performance significantly.
   - Ghostscript has a new "pwgraster" output device for PWG Raster
     output
   - The CUPS device now has improved support for PPD-less printing
   - Plus the usual round of bug fixes, compatibility changes, and
     incremental improvements.
* debian/patches/020140502-0ccf329-fix-fpng-device-build-handle-shared-zlib.patch:
  Fix fpng device build handle for shared zlib (Upstream bug #695113).
* debian/patches/020130903-5ae4180-ps-interpreter-dont-interpolate-imagemask-data-for-high-level-devices.patch,
  debian/patches/020131023-ad3e3ed-handle-type-0-font-in-annotation.patch,
  debian/patches/020131127-87a7fd8-cups-pwg-raster-output-ppd-less-support.patch,
  debian/patches/020131218-5ddd13e-ps2write-dont-emit-a-page-size-change-if-the-last-request-failed.patch,
  debian/patches/020131219-d997bc4-pwgraster-output-device.patch,
  debian/patches/020140313-095ae57-ps2write-fix-missing-beginresource-comment-for-fontfile-objects.patch,
  debian/patches/020140313-5d6b18a-set-correct-portrait-landscape-orientation-on-pcl-5ce.patch,
  debian/patches/020140313-6498483-ps2write-fix-a-dsc-comment.patch,
  debian/patches/020140428-f4584b0-skip-unsupported-font-files.patch:
  Removed patches backported from upstream.
* debian/patches/020140324-b780ff0-protection-against-pxl-segfault-with-image-data-without-colorspace-info.patch,
  debian/patches/020140331-4b44b41-pxlcolor-support-jpeg-in-output.patch,
  debian/patches/020140331-41ab485-pxl-transform-deep-images-with-icc-transform-to-emit-high-level-images.patch,
  debian/patches/1002_pxl-make-dicctransform-default.patch: Refreshed with
  quilt.
* debian/symbols.common: Updated for new upstream source. Applied patch
  which dpkg-gensymbols generated for debian/libgs9.symbols to this file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2001-2012 Artifex Software, Inc.
2
 
   All Rights Reserved.
3
 
 
4
 
   This software is provided AS-IS with no warranty, either express or
5
 
   implied.
6
 
 
7
 
   This software is distributed under license and may not be copied,
8
 
   modified or distributed except as expressly authorized under the terms
9
 
   of the license contained in the file LICENSE in this distribution.
10
 
 
11
 
   Refer to licensing information at http://www.artifex.com or contact
12
 
   Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134, San Rafael,
13
 
   CA  94903, U.S.A., +1(415)492-9861, for further information.
14
 
*/
15
 
 
16
 
 
17
 
/* Definitions for BWBlockSort (Burroughs-Wheeler) filters */
18
 
/* Requires scommon.h; strimpl.h if any templates are referenced */
19
 
 
20
 
#ifndef sbwbs_INCLUDED
21
 
#  define sbwbs_INCLUDED
22
 
 
23
 
/* Common framework for streams that buffer a block for processing */
24
 
#define stream_buffered_state_common\
25
 
        stream_state_common;\
26
 
                /* The client may set the following before initialization, */\
27
 
                /* or the stream may set it later. */\
28
 
        int BlockSize;\
29
 
                /* The init procedure sets the following, */\
30
 
                /* if BlockSize has been set. */\
31
 
        byte *buffer;           /* [BlockSize] */\
32
 
                /* The following are updated dynamically. */\
33
 
        bool filling;           /* true if filling buffer, */\
34
 
                                /* false if emptying */\
35
 
        int bsize;              /* size of current block (<= BlockSize) */\
36
 
        int bpos                /* current index within buffer */
37
 
typedef struct stream_buffered_state_s {
38
 
    stream_buffered_state_common;
39
 
} stream_buffered_state;
40
 
 
41
 
#define private_st_buffered_state()     /* in sbwbs.c */\
42
 
  gs_private_st_ptrs1(st_buffered_state, stream_buffered_state,\
43
 
    "stream_buffered state", sbuf_enum_ptrs, sbuf_reloc_ptrs, buffer)
44
 
 
45
 
/* BWBlockSortEncode/Decode */
46
 
typedef struct of_ {
47
 
    uint v[256];
48
 
} offsets_full;
49
 
typedef struct stream_BWBS_state_s {
50
 
    stream_buffered_state_common;
51
 
    /* The init procedure sets the following. */
52
 
    void *offsets;              /* permutation indices when writing, */
53
 
    /* multi-level indices when reading */
54
 
    /* The following are updated dynamically. */
55
 
    int N;                      /* actual length of block */
56
 
    /* The following are only used when decoding. */
57
 
    int I;                      /* index of unrotated string */
58
 
    int i;                      /* next index in encoded string */
59
 
} stream_BWBS_state;
60
 
typedef stream_BWBS_state stream_BWBSE_state;
61
 
typedef stream_BWBS_state stream_BWBSD_state;
62
 
 
63
 
#define private_st_BWBS_state() /* in sbwbs.c */\
64
 
  gs_private_st_suffix_add1(st_BWBS_state, stream_BWBS_state,\
65
 
    "BWBlockSortEncode/Decode state", bwbs_enum_ptrs, bwbs_reloc_ptrs,\
66
 
    st_buffered_state, offsets)
67
 
extern const stream_template s_BWBSE_template;
68
 
extern const stream_template s_BWBSD_template;
69
 
 
70
 
#endif /* sbwbs_INCLUDED */