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