00001 /* 00002 * The copyright in this software is being made available under the 2-clauses 00003 * BSD License, included below. This software may be subject to other third 00004 * party and contributor rights, including patent rights, and no such rights 00005 * are granted under this license. 00006 * 00007 * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium 00008 * Copyright (c) 2002-2014, Professor Benoit Macq 00009 * Copyright (c) 2001-2003, David Janssens 00010 * Copyright (c) 2002-2003, Yannick Verschueren 00011 * Copyright (c) 2003-2007, Francois-Olivier Devaux 00012 * Copyright (c) 2003-2014, Antonin Descampe 00013 * Copyright (c) 2005, Herve Drolon, FreeImage Team 00014 * Copyright (c) 2008, 2011-2012, Centre National d'Etudes Spatiales (CNES), FR 00015 * Copyright (c) 2012, CS Systemes d'Information, France 00016 * Copyright (c) 2017, IntoPIX SA <support@intopix.com> 00017 * All rights reserved. 00018 * 00019 * Redistribution and use in source and binary forms, with or without 00020 * modification, are permitted provided that the following conditions 00021 * are met: 00022 * 1. Redistributions of source code must retain the above copyright 00023 * notice, this list of conditions and the following disclaimer. 00024 * 2. Redistributions in binary form must reproduce the above copyright 00025 * notice, this list of conditions and the following disclaimer in the 00026 * documentation and/or other materials provided with the distribution. 00027 * 00028 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' 00029 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00030 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00031 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00032 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00033 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00034 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00035 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00036 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00037 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00038 * POSSIBILITY OF SUCH DAMAGE. 00039 */ 00040 #ifndef OPJ_T2_H 00041 #define OPJ_T2_H 00042 00050 00054 typedef struct opj_t2 { 00055 00057 opj_image_t *image; 00059 opj_cp_t *cp; 00060 } opj_t2_t; 00061 00064 /* ----------------------------------------------------------------------- */ 00065 00082 OPJ_BOOL opj_t2_encode_packets(opj_t2_t* t2, 00083 OPJ_UINT32 tileno, 00084 opj_tcd_tile_t *tile, 00085 OPJ_UINT32 maxlayers, 00086 OPJ_BYTE *dest, 00087 OPJ_UINT32 * p_data_written, 00088 OPJ_UINT32 len, 00089 opj_codestream_info_t *cstr_info, 00090 OPJ_UINT32 tpnum, 00091 OPJ_INT32 tppos, 00092 OPJ_UINT32 pino, 00093 J2K_T2_MODE t2_mode, 00094 opj_event_mgr_t *p_manager); 00095 00110 OPJ_BOOL opj_t2_decode_packets(opj_tcd_t* tcd, 00111 opj_t2_t *t2, 00112 OPJ_UINT32 tileno, 00113 opj_tcd_tile_t *tile, 00114 OPJ_BYTE *src, 00115 OPJ_UINT32 * p_data_read, 00116 OPJ_UINT32 len, 00117 opj_codestream_index_t *cstr_info, 00118 opj_event_mgr_t *p_manager); 00119 00127 opj_t2_t* opj_t2_create(opj_image_t *p_image, opj_cp_t *p_cp); 00128 00133 void opj_t2_destroy(opj_t2_t *t2); 00134 00135 /* ----------------------------------------------------------------------- */ 00139 00140 #endif /* OPJ_T2_H */