1/* 2 * Copyright (c) 2005, Herve Drolon, FreeImage Team 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' 15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 * POSSIBILITY OF SUCH DAMAGE. 25 */ 26#ifndef OPJ_INCLUDES_H 27#define OPJ_INCLUDES_H 28 29/* 30 ========================================================== 31 Standard includes used by the library 32 ========================================================== 33*/ 34#include <memory.h> 35#include <stdlib.h> 36#include <string.h> 37#include <math.h> 38#include <float.h> 39#include <time.h> 40#include <stdio.h> 41#include <stdarg.h> 42#include <ctype.h> 43 44/* 45 ========================================================== 46 OpenJPEG interface 47 ========================================================== 48 */ 49#include "openjpeg.h" 50 51/* 52 ========================================================== 53 OpenJPEG modules 54 ========================================================== 55*/ 56 57/* Ignore GCC attributes if this is not GCC */ 58#ifndef __GNUC__ 59 #define __attribute__(x) /* __attribute__(x) */ 60#endif 61 62/* 63The inline keyword is supported by C99 but not by C90. 64Most compilers implement their own version of this keyword ... 65*/ 66#ifndef INLINE 67 #if defined(_MSC_VER) 68 #define INLINE __forceinline 69 #elif defined(__GNUC__) 70 #define INLINE __inline__ 71 #elif defined(__MWERKS__) 72 #define INLINE inline 73 #else 74 /* add other compilers here ... */ 75 #define INLINE 76 #endif /* defined(<Compiler>) */ 77#endif /* INLINE */ 78 79/* Are restricted pointers available? (C99) */ 80#if (__STDC_VERSION__ != 199901L) 81 /* Not a C99 compiler */ 82 #ifdef __GNUC__ 83 #define restrict __restrict__ 84 #else 85 #define restrict /* restrict */ 86 #endif 87#endif 88 89/* MSVC and Borland C do not have lrintf */ 90#if defined(_MSC_VER) || defined(__BORLANDC__) 91static INLINE long lrintf(float f){ 92#ifdef _M_X64 93 return (long)((f>0.0f) ? (f + 0.5f):(f -0.5f)); 94#else 95 int i; 96 97 _asm{ 98 fld f 99 fistp i 100 }; 101 102 return i; 103#endif 104} 105#endif 106 107#include "j2k_lib.h" 108#include "opj_malloc.h" 109#include "event.h" 110#include "bio.h" 111#include "cio.h" 112 113#include "oj_image.h" 114#include "j2k.h" 115#include "jp2.h" 116#include "jpt.h" 117 118#include "mqc.h" 119#include "raw.h" 120#include "bio.h" 121#include "tgt.h" 122#include "pi.h" 123#include "tcd.h" 124#include "t1.h" 125#include "dwt.h" 126#include "t2.h" 127#include "mct.h" 128#include "int.h" 129#include "fix.h" 130 131#include "cidx_manager.h" 132#include "indexbox_manager.h" 133 134/* JPWL>> */ 135#ifdef USE_JPWL 136#include "./jpwl/jpwl.h" 137#endif /* USE_JPWL */ 138/* <<JPWL */ 139 140#endif /* OPJ_INCLUDES_H */ 141