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();