diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-06-09 14:56:29 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-07-12 16:13:30 +0300 |
commit | f12204196fb1ee985ab9745cf9c70877601145f9 (patch) | |
tree | 9a0ea8bb9eaa869a9e4b9c74b80f8dd5b86b0394 /extern/libopenjpeg/tgt.h | |
parent | 57983012913f98056315dd3fb03552f5d75258d7 (diff) |
OpenJPEG: update to 2.1 from 1.5
Stream handling has changed so this required changes to how files & memory are accessed.
Diffstat (limited to 'extern/libopenjpeg/tgt.h')
-rw-r--r-- | extern/libopenjpeg/tgt.h | 68 |
1 files changed, 50 insertions, 18 deletions
diff --git a/extern/libopenjpeg/tgt.h b/extern/libopenjpeg/tgt.h index c08c8da0af4..3d152f8a90e 100644 --- a/extern/libopenjpeg/tgt.h +++ b/extern/libopenjpeg/tgt.h @@ -1,10 +1,19 @@ /* - * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2007, Professor Benoit Macq + * The copyright in this software is being made available under the 2-clauses + * BSD License, included below. This software may be subject to other third + * party and contributor rights, including patent rights, and no such rights + * are granted under this license. + * + * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2014, Professor Benoit Macq * Copyright (c) 2001-2003, David Janssens * Copyright (c) 2002-2003, Yannick Verschueren - * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe + * Copyright (c) 2003-2007, Francois-Olivier Devaux + * Copyright (c) 2003-2014, Antonin Descampe * Copyright (c) 2005, Herve Drolon, FreeImage Team + * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr> + * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France + * Copyright (c) 2012, CS Systemes d'Information, France * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -46,22 +55,25 @@ are used by some function in T2.C. Tag node */ typedef struct opj_tgt_node { - struct opj_tgt_node *parent; - int value; - int low; - int known; + struct opj_tgt_node *parent; + OPJ_INT32 value; + OPJ_INT32 low; + OPJ_UINT32 known; } opj_tgt_node_t; /** Tag tree */ -typedef struct opj_tgt_tree { - int numleafsh; - int numleafsv; - int numnodes; - opj_tgt_node_t *nodes; +typedef struct opj_tgt_tree +{ + OPJ_UINT32 numleafsh; + OPJ_UINT32 numleafsv; + OPJ_UINT32 numnodes; + opj_tgt_node_t *nodes; + OPJ_UINT32 nodes_size; /* maximum size taken by nodes */ } opj_tgt_tree_t; + /** @name Exported functions */ /*@{*/ /* ----------------------------------------------------------------------- */ @@ -71,24 +83,38 @@ Create a tag-tree @param numleafsv Height of the array of leafs of the tree @return Returns a new tag-tree if successful, returns NULL otherwise */ -opj_tgt_tree_t *tgt_create(int numleafsh, int numleafsv); +opj_tgt_tree_t *opj_tgt_create(OPJ_UINT32 numleafsh, OPJ_UINT32 numleafsv); + +/** + * Reinitialises a tag-tree from an exixting one. + * + * @param p_tree the tree to reinitialize. + * @param p_num_leafs_h the width of the array of leafs of the tree + * @param p_num_leafs_v the height of the array of leafs of the tree + * @return a new tag-tree if successful, NULL otherwise +*/ +opj_tgt_tree_t *opj_tgt_init(opj_tgt_tree_t * p_tree, + OPJ_UINT32 p_num_leafs_h, + OPJ_UINT32 p_num_leafs_v); /** Destroy a tag-tree, liberating memory @param tree Tag-tree to destroy */ -void tgt_destroy(opj_tgt_tree_t *tree); +void opj_tgt_destroy(opj_tgt_tree_t *tree); /** Reset a tag-tree (set all leaves to 0) @param tree Tag-tree to reset */ -void tgt_reset(opj_tgt_tree_t *tree); +void opj_tgt_reset(opj_tgt_tree_t *tree); /** Set the value of a leaf of a tag-tree @param tree Tag-tree to modify @param leafno Number that identifies the leaf to modify @param value New value of the leaf */ -void tgt_setvalue(opj_tgt_tree_t *tree, int leafno, int value); +void opj_tgt_setvalue(opj_tgt_tree_t *tree, + OPJ_UINT32 leafno, + OPJ_INT32 value); /** Encode the value of a leaf of the tag-tree up to a given threshold @param bio Pointer to a BIO handle @@ -96,7 +122,10 @@ Encode the value of a leaf of the tag-tree up to a given threshold @param leafno Number that identifies the leaf to encode @param threshold Threshold to use when encoding value of the leaf */ -void tgt_encode(opj_bio_t *bio, opj_tgt_tree_t *tree, int leafno, int threshold); +void opj_tgt_encode(opj_bio_t *bio, + opj_tgt_tree_t *tree, + OPJ_UINT32 leafno, + OPJ_INT32 threshold); /** Decode the value of a leaf of the tag-tree up to a given threshold @param bio Pointer to a BIO handle @@ -105,7 +134,10 @@ Decode the value of a leaf of the tag-tree up to a given threshold @param threshold Threshold to use when decoding value of the leaf @return Returns 1 if the node's value < threshold, returns 0 otherwise */ -int tgt_decode(opj_bio_t *bio, opj_tgt_tree_t *tree, int leafno, int threshold); +OPJ_UINT32 opj_tgt_decode(opj_bio_t *bio, + opj_tgt_tree_t *tree, + OPJ_UINT32 leafno, + OPJ_INT32 threshold); /* ----------------------------------------------------------------------- */ /*@}*/ |