00001 /** \file 00002 * \brief Register the JP2 Format 00003 * 00004 * See Copyright Notice in im_lib.h 00005 */ 00006 00007 #ifndef __IM_FORMAT_JP2_H 00008 #define __IM_FORMAT_JP2_H 00009 00010 #if defined(__cplusplus) 00011 extern "C" { 00012 #endif 00013 00014 00015 /** \defgroup jp2 JP2 - JPEG-2000 JP2 File Format 00016 * \section Description 00017 * 00018 * \par 00019 * ISO/IEC 15444 (2000, 2003)\n 00020 * http://www.jpeg.org/ 00021 * \par 00022 * You must link the application with "im_jp2.lib" 00023 * and you must call the function \ref imFormatRegisterJP2 once 00024 * to register the format into the IM core library. 00025 * In Lua call require"imlua_jp2". \n 00026 * \par 00027 * Access to the JPEG2000 file format uses libJasper version 1.900.1 \n 00028 * http://www.ece.uvic.ca/~mdadams/jasper \n 00029 * Copyright (c) 2001-2006 Michael David Adams. \n 00030 * and GeoJasPer 1.4.0 \n 00031 * Copyright (c) 2003-2007 Dmitry V. Fedorov. \n 00032 * http://www.dimin.net/software/geojasper/ \n 00033 * 00034 * \par 00035 * See \ref im_format_jp2.h 00036 * 00037 * \section Features 00038 * 00039 \verbatim 00040 Data Types: Byte and UShort 00041 Color Spaces: Binary, Gray, RGB, YCbCr, Lab and XYZ 00042 Compressions: 00043 JPEG-2000 - ISO JPEG 2000 [default] 00044 Only one image. 00045 Can have an alpha channel. 00046 Internally the components are always unpacked. 00047 Internally the lines are arranged from top down to bottom. 00048 Handle(1) returns jas_image_t* 00049 Handle(2) returns jas_stream_t* 00050 00051 Attributes: 00052 CompressionRatio IM_FLOAT (1) [write only, example: Ratio=7 just like 7:1] 00053 GeoTIFFBox IM_BYTE (n) 00054 XMLPacket IM_BYTE (n) 00055 00056 Comments: 00057 We read code stream syntax and JP2, but we write always as JP2. 00058 Used definitions EXCLUDE_JPG_SUPPORT,EXCLUDE_MIF_SUPPORT, 00059 EXCLUDE_PNM_SUPPORT,EXCLUDE_RAS_SUPPORT, 00060 EXCLUDE_BMP_SUPPORT,EXCLUDE_PGX_SUPPORT 00061 Changed jas_config.h to match our needs. 00062 New file jas_binfile.c 00063 Changed base/jas_stream.c to export jas_stream_create and jas_stream_initbuf. 00064 Changed jp2/jp2_dec.c and jpc/jpc_cs.c to remove "uint" and "ulong" usage. 00065 The counter is restarted many times, because it has many phases. 00066 \endverbatim 00067 * \ingroup format */ 00068 00069 /** Register the JP2 Format. \n 00070 * In Lua, when using require"imlua_jp2" this function will be automatically called. 00071 * \ingroup jp2 */ 00072 void imFormatRegisterJP2(void); 00073 00074 00075 #if defined(__cplusplus) 00076 } 00077 #endif 00078 00079 #endif