PageRenderTime 14ms CodeModel.GetById 10ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/src/FreeImage/Source/LibOpenJPEG/dwt.h

https://bitbucket.org/cabalistic/ogredeps/
C++ Header | 113 lines | 12 code | 6 blank | 95 comment | 0 complexity | 58c8b0f09689c09faeb429d233a9d4b4 MD5 | raw file
  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 __DWT_H
 33#define __DWT_H
 34/**
 35@file dwt.h
 36@brief Implementation of a discrete wavelet transform (DWT)
 37
 38The functions in DWT.C have for goal to realize forward and inverse discret wavelet
 39transform with filter 5-3 (reversible) and filter 9-7 (irreversible). The functions in
 40DWT.C are used by some function in TCD.C.
 41*/
 42
 43/** @defgroup DWT DWT - Implementation of a discrete wavelet transform */
 44/*@{*/
 45
 46
 47/** @name Exported functions */
 48/*@{*/
 49/* ----------------------------------------------------------------------- */
 50/**
 51Forward 5-3 wavelet tranform in 2-D. 
 52Apply a reversible DWT transform to a component of an image.
 53@param tilec Tile component information (current tile)
 54*/
 55void dwt_encode(opj_tcd_tilecomp_t * tilec);
 56/**
 57Inverse 5-3 wavelet tranform in 2-D.
 58Apply a reversible inverse DWT transform to a component of an image.
 59@param tilec Tile component information (current tile)
 60@param numres Number of resolution levels to decode
 61*/
 62void dwt_decode(opj_tcd_tilecomp_t* tilec, int numres);
 63/**
 64Get the gain of a subband for the reversible 5-3 DWT.
 65@param orient Number that identifies the subband (0->LL, 1->HL, 2->LH, 3->HH)
 66@return Returns 0 if orient = 0, returns 1 if orient = 1 or 2, returns 2 otherwise
 67*/
 68int dwt_getgain(int orient);
 69/**
 70Get the norm of a wavelet function of a subband at a specified level for the reversible 5-3 DWT.
 71@param level Level of the wavelet function
 72@param orient Band of the wavelet function
 73@return Returns the norm of the wavelet function
 74*/
 75double dwt_getnorm(int level, int orient);
 76/**
 77Forward 9-7 wavelet transform in 2-D. 
 78Apply an irreversible DWT transform to a component of an image.
 79@param tilec Tile component information (current tile)
 80*/
 81void dwt_encode_real(opj_tcd_tilecomp_t * tilec);
 82/**
 83Inverse 9-7 wavelet transform in 2-D. 
 84Apply an irreversible inverse DWT transform to a component of an image.
 85@param tilec Tile component information (current tile)
 86@param numres Number of resolution levels to decode
 87*/
 88void dwt_decode_real(opj_tcd_tilecomp_t* tilec, int numres);
 89/**
 90Get the gain of a subband for the irreversible 9-7 DWT.
 91@param orient Number that identifies the subband (0->LL, 1->HL, 2->LH, 3->HH)
 92@return Returns the gain of the 9-7 wavelet transform
 93*/
 94int dwt_getgain_real(int orient);
 95/**
 96Get the norm of a wavelet function of a subband at a specified level for the irreversible 9-7 DWT
 97@param level Level of the wavelet function
 98@param orient Band of the wavelet function
 99@return Returns the norm of the 9-7 wavelet
100*/
101double dwt_getnorm_real(int level, int orient);
102/**
103Explicit calculation of the Quantization Stepsizes 
104@param tccp Tile-component coding parameters
105@param prec Precint analyzed
106*/
107void dwt_calc_explicit_stepsizes(opj_tccp_t * tccp, int prec);
108/* ----------------------------------------------------------------------- */
109/*@}*/
110
111/*@}*/
112
113#endif /* __DWT_H */