1 /** \file
2  * \brief Register the JP2 Format
3  *
4  * See Copyright Notice in im_lib.h
5  */
6 module im.im_format_jp2;
7 
8 version(IM) :
9 
10 version(DigitalMars) version(Windows) { pragma(lib, "im_jp2"); }
11 
12 extern(C) @nogc nothrow :
13 
14 
15 /** \defgroup jp2 JP2 - JPEG-2000 JP2 File Format
16  * \section Description
17  * 
18  * \par
19  * ISO/IEC 15444 (2000, 2003)\n
20  * http://www.jpeg.org/
21  * \par
22  * You must link the application with "im_jp2.lib" 
23  * and you must call the function \ref imFormatRegisterJP2 once 
24  * to register the format into the IM core library. 
25  * In Lua call require"imlua_jp2". \n
26  * \par
27  * Access to the JPEG2000 file format uses libJasper version 1.900.1 \n
28  * http://www.ece.uvic.ca/~mdadams/jasper                             \n
29  * Copyright (c) 2001-2006 Michael David Adams.                       \n
30  * and GeoJasPer 1.4.0                                                \n
31  * Copyright (c) 2003-2007 Dmitry V. Fedorov.                         \n
32  * http://www.dimin.net/software/geojasper/                           \n
33  * 
34  * \par
35  * See \ref im_format_jp2.h
36  *
37  * \section Features
38  *
39 \verbatim
40     Data Types: Byte and UShort
41     Color Spaces: Binary, Gray, RGB, YCbCr, Lab and XYZ
42     Compressions: 
43       JPEG-2000 - ISO JPEG 2000  [default]
44     Only one image.
45     Can have an alpha channel.
46     Internally the components are always unpacked.
47     Internally the lines are arranged from top down to bottom.
48     Handle(1) returns jas_image_t*
49     Handle(2) returns jas_stream_t*
50  
51     Attributes:
52       CompressionRatio IM_FLOAT (1) [write only, example: Ratio=7 just like 7:1]
53       GeoTIFFBox IM_BYTE (n)
54       XMLPacket IM_BYTE (n)
55 
56     Comments:
57       We read code stream syntax and JP2, but we write always as JP2.
58       Used definitions EXCLUDE_JPG_SUPPORT,EXCLUDE_MIF_SUPPORT,
59                        EXCLUDE_PNM_SUPPORT,EXCLUDE_RAS_SUPPORT,
60                        EXCLUDE_BMP_SUPPORT,EXCLUDE_PGX_SUPPORT
61       Changed jas_config.h to match our needs.
62       New file jas_binfile.c
63       Changed base/jas_stream.c to export jas_stream_create and jas_stream_initbuf.
64       Changed jp2/jp2_dec.c and jpc/jpc_cs.c to remove "uint" and "ulong" usage.
65       The counter is restarted many times, because it has many phases.
66 \endverbatim
67  * \ingroup format */
68  
69 /** Register the JP2 Format. \n
70  * In Lua, when using require"imlua_jp2" this function will be automatically called.
71  * \ingroup jp2 */
72 void imFormatRegisterJP2();