Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4680 | right-hear | 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 | #ifndef __T2_H |
||
32 | #define __T2_H |
||
33 | /** |
||
34 | @file t2.h |
||
35 | @brief Implementation of a tier-2 coding (packetization of code-block data) (T2) |
||
36 | |||
37 | */ |
||
38 | |||
39 | /** @defgroup T2 T2 - Implementation of a tier-2 coding */ |
||
40 | /*@{*/ |
||
41 | |||
42 | /** |
||
43 | Tier-2 coding |
||
44 | */ |
||
45 | typedef struct opj_t2 { |
||
46 | /** codec context */ |
||
47 | opj_common_ptr cinfo; |
||
48 | |||
49 | /** Encoding: pointer to the src image. Decoding: pointer to the dst image. */ |
||
50 | opj_image_t *image; |
||
51 | /** pointer to the image coding parameters */ |
||
52 | opj_cp_t *cp; |
||
53 | } opj_t2_t; |
||
54 | |||
55 | /** @name Exported functions */ |
||
56 | /*@{*/ |
||
57 | /* ----------------------------------------------------------------------- */ |
||
58 | |||
59 | /** |
||
60 | Encode the packets of a tile to a destination buffer |
||
61 | @param t2 T2 handle |
||
62 | @param tileno number of the tile encoded |
||
63 | @param tile the tile for which to write the packets |
||
64 | @param maxlayers maximum number of layers |
||
65 | @param dest the destination buffer |
||
66 | @param len the length of the destination buffer |
||
67 | @param cstr_info Codestream information structure |
||
68 | @param tpnum Tile part number of the current tile |
||
69 | @param tppos The position of the tile part flag in the progression order |
||
70 | @param pino |
||
71 | @param t2_mode If == 0 In Threshold calculation ,If == 1 Final pass |
||
72 | @param cur_totnum_tp The total number of tile parts in the current tile |
||
73 | */ |
||
74 | int t2_encode_packets(opj_t2_t* t2,int tileno, opj_tcd_tile_t *tile, int maxlayers, unsigned char *dest, int len, opj_codestream_info_t *cstr_info,int tpnum, int tppos,int pino,J2K_T2_MODE t2_mode,int cur_totnum_tp); |
||
75 | /** |
||
76 | Decode the packets of a tile from a source buffer |
||
77 | @param t2 T2 handle |
||
78 | @param src the source buffer |
||
79 | @param len length of the source buffer |
||
80 | @param tileno number that identifies the tile for which to decode the packets |
||
81 | @param tile tile for which to decode the packets |
||
82 | @param cstr_info Codestream information structure |
||
83 | */ |
||
84 | int t2_decode_packets(opj_t2_t *t2, unsigned char *src, int len, int tileno, opj_tcd_tile_t *tile, opj_codestream_info_t *cstr_info); |
||
85 | |||
86 | /** |
||
87 | Create a T2 handle |
||
88 | @param cinfo Codec context info |
||
89 | @param image Source or destination image |
||
90 | @param cp Image coding parameters |
||
91 | @return Returns a new T2 handle if successful, returns NULL otherwise |
||
92 | */ |
||
93 | opj_t2_t* t2_create(opj_common_ptr cinfo, opj_image_t *image, opj_cp_t *cp); |
||
94 | /** |
||
95 | Destroy a T2 handle |
||
96 | @param t2 T2 handle to destroy |
||
97 | */ |
||
98 | void t2_destroy(opj_t2_t *t2); |
||
99 | |||
100 | /* ----------------------------------------------------------------------- */ |
||
101 | /*@}*/ |
||
102 | |||
103 | /*@}*/ |
||
104 | |||
105 | #endif /* __T2_H */ |