Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright (c) 2005, HervĂ© 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. /*
  63. The inline keyword is supported by C99 but not by C90.
  64. Most 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__)
  91. static 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 "cio.h"
  111.  
  112. #include "image.h"
  113. #include "j2k.h"
  114. #include "jp2.h"
  115. #include "jpt.h"
  116.  
  117. #include "mqc.h"
  118. #include "raw.h"
  119. #include "bio.h"
  120. #include "tgt.h"
  121. #include "pi.h"
  122. #include "tcd.h"
  123. #include "t1.h"
  124. #include "dwt.h"
  125. #include "t2.h"
  126. #include "mct.h"
  127. #include "int.h"
  128. #include "fix.h"
  129.  
  130. /* JPWL>> */
  131. #ifdef USE_JPWL
  132. #include "../jpwl/jpwl.h"
  133. #endif /* USE_JPWL */
  134. /* <<JPWL */
  135.  
  136. #endif /* OPJ_INCLUDES_H */
  137.