IM: im_format_jp2.h Source File

IM - An Imaging Tool

im_format_jp2.h

Go to the documentation of this file.
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. \n
00025  * \par
00026  * Access to the JPEG2000 file format uses libJasper version 1.900.1 \n
00027  * http://www.ece.uvic.ca/~mdadams/jasper                             \n
00028  * Copyright (c) 2001-2006 Michael David Adams.                       \n
00029  * and GeoJasPer 1.4.0                                                \n
00030  * Copyright (c) 2003-2007 Dmitry V. Fedorov.                         \n
00031  * http://www.dimin.net/software/geojasper/                           \n
00032  * 
00033  * \par
00034  * See \ref im_format_jp2.h
00035  *
00036  * \section Features
00037  *
00038 \verbatim
00039     Data Types: Byte and UShort
00040     Color Spaces: Binary, Gray, RGB, YCbCr, Lab and XYZ
00041     Compressions: 
00042       JPEG-2000 - ISO JPEG 2000  [default]
00043     Only one image.
00044     Can have an alpha channel.
00045     Internally the components are always unpacked.
00046     Internally the lines are arranged from top down to bottom.
00047     Handle(1) returns jas_image_t*
00048     Handle(2) returns jas_stream_t*
00049  
00050     Attributes:
00051       CompressionRatio IM_FLOAT (1) [write only, example: Ratio=7 just like 7:1]
00052       GeoTIFFBox IM_BYTE (n)
00053       XMLPacket IM_BYTE (n)
00054 
00055     Comments:
00056       We read code stream syntax and JP2, but we write always as JP2.
00057       Used definitions EXCLUDE_JPG_SUPPORT,EXCLUDE_MIF_SUPPORT,
00058                        EXCLUDE_PNM_SUPPORT,EXCLUDE_RAS_SUPPORT,
00059                        EXCLUDE_BMP_SUPPORT,EXCLUDE_PGX_SUPPORT
00060       Changed jas_config.h to match our needs.
00061       New file jas_binfile.c
00062       Changed base/jas_stream.c to export jas_stream_create and jas_stream_initbuf.
00063       Changed jp2/jp2_dec.c and jpc/jpc_cs.c to remove "uint" and "ulong" usage.
00064       The counter is restarted many times, because it has many phases.
00065 \endverbatim
00066  * \ingroup format */
00067  
00068 /** Register the JP2 Format 
00069  * \ingroup jp2 */
00070 void imFormatRegisterJP2(void);
00071 
00072 
00073 #if defined(__cplusplus)
00074 }
00075 #endif
00076 
00077 #endif