~ubuntu-branches/ubuntu/vivid/ghostscript/vivid-security

« back to all changes in this revision

Viewing changes to openjpeg/libopenjpeg/tgt.h

  • Committer: Package Import Robot
  • Author(s): Till Kamppeter
  • Date: 2013-08-28 18:05:40 UTC
  • mfrom: (1.1.41)
  • Revision ID: package-import@ubuntu.com-20130828180540-372a9b9b1wuesdwi
Tags: 9.10~dfsg~rc1-0ubuntu1
* New upstream release
   - Ghostscript 9.10rc1.
   - Upstream: Mainly, changes to our Postscript startup code (to improve
     compatibility with Adobe) have had unexpected and undesirable side
     effects. Most of these have been in fairly widely relied upon, but also
     decidedly non-standard uses (pdf2dsc being a prime example).
   - We are using Ghostscript's libopenjpeg again, using the system's one
     does not (yet) work as there are still patches of the Ghostscript
     developers which did not get accepted upstream yet..
* debian/control: Removed build dependency on libopenjpeg-dev.
* debian/rules: Removed check for removed openjpeg/ subdirectory in the
  repackaging check again, also set build options for using Ghostscript's
  built-in libopenjpeg library.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
 
3
 * Copyright (c) 2002-2007, Professor Benoit Macq
 
4
 * Copyright (c) 2001-2003, David Janssens
 
5
 * Copyright (c) 2002-2003, Yannick Verschueren
 
6
 * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
 
7
 * Copyright (c) 2005, Herve Drolon, FreeImage Team
 
8
 * All rights reserved.
 
9
 *
 
10
 * Redistribution and use in source and binary forms, with or without
 
11
 * modification, are permitted provided that the following conditions
 
12
 * are met:
 
13
 * 1. Redistributions of source code must retain the above copyright
 
14
 *    notice, this list of conditions and the following disclaimer.
 
15
 * 2. Redistributions in binary form must reproduce the above copyright
 
16
 *    notice, this list of conditions and the following disclaimer in the
 
17
 *    documentation and/or other materials provided with the distribution.
 
18
 *
 
19
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
 
20
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
21
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
22
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 
23
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 
24
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 
25
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 
26
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 
27
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 
28
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 
29
 * POSSIBILITY OF SUCH DAMAGE.
 
30
 */
 
31
 
 
32
#ifndef __TGT_H
 
33
#define __TGT_H
 
34
/**
 
35
@file tgt.h
 
36
@brief Implementation of a tag-tree coder (TGT)
 
37
 
 
38
The functions in TGT.C have for goal to realize a tag-tree coder. The functions in TGT.C
 
39
are used by some function in T2.C.
 
40
*/
 
41
 
 
42
/** @defgroup TGT TGT - Implementation of a tag-tree coder */
 
43
/*@{*/
 
44
 
 
45
/**
 
46
Tag node
 
47
*/
 
48
typedef struct opj_tgt_node {
 
49
  struct opj_tgt_node *parent;
 
50
  int value;
 
51
  int low;
 
52
  int known;
 
53
} opj_tgt_node_t;
 
54
 
 
55
/**
 
56
Tag tree
 
57
*/
 
58
typedef struct opj_tgt_tree {
 
59
  int numleafsh;
 
60
  int numleafsv;
 
61
  int numnodes;
 
62
  opj_tgt_node_t *nodes;
 
63
} opj_tgt_tree_t;
 
64
 
 
65
/** @name Exported functions */
 
66
/*@{*/
 
67
/* ----------------------------------------------------------------------- */
 
68
/**
 
69
Create a tag-tree
 
70
@param numleafsh Width of the array of leafs of the tree
 
71
@param numleafsv Height of the array of leafs of the tree
 
72
@return Returns a new tag-tree if successful, returns NULL otherwise
 
73
*/
 
74
opj_tgt_tree_t *tgt_create(int numleafsh, int numleafsv);
 
75
/**
 
76
Destroy a tag-tree, liberating memory
 
77
@param tree Tag-tree to destroy
 
78
*/
 
79
void tgt_destroy(opj_tgt_tree_t *tree);
 
80
/**
 
81
Reset a tag-tree (set all leaves to 0)
 
82
@param tree Tag-tree to reset
 
83
*/
 
84
void tgt_reset(opj_tgt_tree_t *tree);
 
85
/**
 
86
Set the value of a leaf of a tag-tree
 
87
@param tree Tag-tree to modify
 
88
@param leafno Number that identifies the leaf to modify
 
89
@param value New value of the leaf
 
90
*/
 
91
void tgt_setvalue(opj_tgt_tree_t *tree, int leafno, int value);
 
92
/**
 
93
Encode the value of a leaf of the tag-tree up to a given threshold
 
94
@param bio Pointer to a BIO handle
 
95
@param tree Tag-tree to modify
 
96
@param leafno Number that identifies the leaf to encode
 
97
@param threshold Threshold to use when encoding value of the leaf
 
98
*/
 
99
void tgt_encode(opj_bio_t *bio, opj_tgt_tree_t *tree, int leafno, int threshold);
 
100
/**
 
101
Decode the value of a leaf of the tag-tree up to a given threshold
 
102
@param bio Pointer to a BIO handle
 
103
@param tree Tag-tree to decode
 
104
@param leafno Number that identifies the leaf to decode
 
105
@param threshold Threshold to use when decoding value of the leaf
 
106
@return Returns 1 if the node's value < threshold, returns 0 otherwise
 
107
*/
 
108
int tgt_decode(opj_bio_t *bio, opj_tgt_tree_t *tree, int leafno, int threshold);
 
109
/* ----------------------------------------------------------------------- */
 
110
/*@}*/
 
111
 
 
112
/*@}*/
 
113
 
 
114
#endif /* __TGT_H */