The change makes a relative path to header files
[openjpeg.git] / NEWS.md
1 # OpenJPEG NEWS
2
3 More details in the [Changelog](https://github.com/uclouvain/openjpeg/blob/master/CHANGELOG.md)
4
5 ## OpenJPEG 2.3.0 (October 2017)
6
7 No API/ABI break compared to v2.2.0 but additional symbols for subset of components decoding (hence the MINOR version bump).
8
9 * Sub-tile decoding: when setting a window of interest through the API function opj_set_decode_area(), only codeblocks that intersect this window are now decoded (i.e. MCT, IDWT, and entropy decoding are only done on the window of interest). Moreover, memory allocation now depends on the size of the window of interest (instead of the full tile size). 
10 [\#990](https://github.com/uclouvain/openjpeg/pull/990) [\#1001](https://github.com/uclouvain/openjpeg/pull/1001) [\#1010](https://github.com/uclouvain/openjpeg/pull/1010)
11 * Ability to decode only a subset of components. This adds the following function `opj_set_decoded_components(opj_codec_t p_codec, OPJ_UINT32 numcomps, const OPJ_UINT32 comps_indices, OPJ_BOOL apply_color_transforms)` and equivalent `opj_decompress -c compno[,compno]*` 
12 option. 
13 [\#1022](https://github.com/uclouvain/openjpeg/pull/1022)
14 * Many bug fixes (including security fixes)
15
16 ## OpenJPEG 2.2.0 (August 2017)
17
18 No API/ABI break compared to v2.1.2 but additional symbols for multithreading support (hence the MINOR version bump).
19
20 ### Codebase improvements
21
22 * Memory consumption reduction at decoding side [\#968](https://github.com/uclouvain/openjpeg/pull/968)
23 * Multi-threading support at decoding side [\#786](https://github.com/uclouvain/openjpeg/pull/786)
24 * Tier-1 speed optimizations (encoder and decoder) [\#945](https://github.com/uclouvain/openjpeg/pull/945)
25 * Tier-1 decoder further optimization [\#783](https://github.com/uclouvain/openjpeg/pull/783)
26 * Inverse 5x3 DWT speed optimization: single-pass lifting and SSE2/AVX2 implementation [\#957](https://github.com/uclouvain/openjpeg/pull/957)
27 * Fixed a bug that prevented OpenJPEG to compress losslessly in some situations [\#949](https://github.com/uclouvain/openjpeg/pull/949)
28 * Fixed BYPASS/LAZY, RESTART/TERMALL and PTERM mode switches
29 * Many other bug fixes (including security fixes)
30
31 ### Maintenance improvements
32
33 * Benchmarking scripts to automatically compare the speed of latest OpenJPEG build with latest release and/or Kakadu binaries [\#917](https://github.com/uclouvain/openjpeg/pull/917)
34 * CPU and RAM usage profiling scripts [\#918](https://github.com/uclouvain/openjpeg/pull/918)
35 * Codebase reformatting (with astyle) and scripts to automatically check that new commits comply with formatting guidelines [\#919](https://github.com/uclouvain/openjpeg/pull/919)
36 * Register OpenJPEG at Google OSS Fuzz initiative, so as to automatically have OpenJPEG tested against Google fuzzer [\#965](https://github.com/uclouvain/openjpeg/issues/965)
37
38 ## OpenJPEG 2.1.2 (September 2016)
39
40 * Bug fixes (including security fixes)
41 * No API/ABI break compared to v2.1.1
42
43 ## OpenJPEG 2.1.1 (July 2016)
44
45 * Huge amount of critical bugfixes
46 * Speed improvements
47 * No API/ABI break compared to v2.1
48
49 ## OpenJPEG 2.1.0 (April 2014)
50
51 ### New Features
52
53     * Digital Cinema profiles have been fixed and updated
54         * New option to disable MCT if needed
55     * extended RAW support: it is now possible to input raw images
56           with subsampled color components (422, 420, etc)
57     * New way to deal with profiles
58           
59 ### API/ABI modifications
60 (see [here](http://www.openjpeg.org/abi-check/timeline/openjpeg/) for details)
61
62     * Removed deprecated functions 
63             * opj_stream_create_default_file_stream(FILE*,...)
64         * opj_stream_create_file_stream(FILE*,...)
65         * opj_stream_set_user_data (opj_stream_t* p_stream, void * p_data)
66         * Added 
67         * opj_stream_create_default_file_stream(char*,...)
68         * opj_stream_create_file_stream(char*,...)
69         * opj_stream_destroy(opj_stream_t*)
70         * opj_stream_set_user_data (opj_stream_t* p_stream, void * p_data, 
71             ... opj_stream_free_user_data_fn p_function)
72         * JPEG 2000 profiles and Part-2 extensions defined through '#define'
73     * Changed
74         * 'alpha' field added to 'opj_image_comp' structure
75         * 'OPJ_CLRSPC_EYCC' added to enum COLOR_SPACE
76         * 'OPJ_CLRSPC_CMYK' added to enum COLOR_SPACE
77         * 'OPJ_CODEC_JPP' and 'OPJ_CODEC_JPX' added to CODEC_FORMAT
78           (not yet used in use)
79         * 'max_cs_size' and 'rsiz' fields added to opj_cparameters_t
80     
81 ### Misc
82
83     * OpenJPEG is now officially conformant with JPEG 2000 Part-1
84           and will soon become official reference software at the 
85           JPEG committee.
86         * Huge amount of bug fixes. See CHANGES for details.
87
88
89 ## OpenJPEG 2.0.0
90
91 ### New Features
92
93     * streaming capabilities
94     * merge JP3D
95
96 ### API modifications
97 (see [here](http://www.openjpeg.org/abi-check/timeline/openjpeg/) for details)
98
99     * Use a 64bits capable API
100     
101 ### Misc
102
103     * removed autotools build system
104     * folders hierarchies reorganisation
105     * Huge amount of bug fixes. See CHANGES for details.