comparison mupdf-source/thirdparty/openjpeg/NEWS.md @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 # OpenJPEG NEWS
2
3 More details in the [CHANGELOG](https://github.com/uclouvain/openjpeg/blob/master/CHANGELOG.md)
4
5 ## OpenJPEG 2.5.3 (Dec 2024)
6
7 No API/ABI break compared to v2.5.2
8
9 ### New Features
10
11 * Use TLM \(Tile Length Marker\) segments to optimize decoding [\#1538](https://github.com/uclouvain/openjpeg/pull/1538)
12 * Add AVX2 and AVX512 optimization [\#1552](https://github.com/uclouvain/openjpeg/pull/1552)
13 * Support setting enumcs for CMYK and EYCC color space [\#1529](https://github.com/uclouvain/openjpeg/pull/1529)
14
15 ### Bug fixes
16
17 * Do not turn on 'TPsot==TNsot detection fix' when TNsot==1, and add a OPJ_DPARAMETERS_DISABLE_TPSOT_FIX flag to disable it [\#1560](https://github.com/uclouvain/openjpeg/pull/1560)
18 * opj\_j2k\_setup\_encoder\(\): set numgbits = 1 for Cinema2K [\#1559](https://github.com/uclouvain/openjpeg/pull/1559)
19 * fix: when EPH markers are specified, they are required. [\#1547](https://github.com/uclouvain/openjpeg/pull/1547)
20 * sycc422\_to\_rgb\(\): fix out-of-bounds read accesses when 2 \* width\_component\_1\_or\_2 + 1 == with\_component\_0 [\#1566](https://github.com/uclouvain/openjpeg/pull/1566)
21 * Avoid heap-buffer-overflow read on corrupted image in non-strict mode [\#1536](https://github.com/uclouvain/openjpeg/pull/1536)
22 * opj\_j2k\_read\_sod\(\): validate opj\_stream\_read\_data\(\) return to avoid potential later heap-buffer-overflow in in opj_t1_decode_cblk when disabling strict mode [\#1534](https://github.com/uclouvain/openjpeg/pull/1534)
23 * fix integer Overflow at j2k.c:9614 [\#1530](https://github.com/uclouvain/openjpeg/pull/1530)
24 * Memory leak fixes in error code path of opj\_compress [\#1567](https://github.com/uclouvain/openjpeg/issues/1567)
25 * opj\_j2k\_decode\_tiles\(\): avoid use of uninitialized l\_current\_tile\_no variable [\#1528](https://github.com/uclouvain/openjpeg/pull/1528)
26 * Do not allow header length to be zero in non-zero length packet [\#1526](https://github.com/uclouvain/openjpeg/pull/1526)
27 * Fix building on OpenBSD big endian hosts [\#1520](https://github.com/uclouvain/openjpeg/pull/1520)
28
29 ### Changes in third party components
30
31 * thirdparty/libz: update to zlib-1.3.1 [\#1542](https://github.com/uclouvain/openjpeg/pull/1542)
32 * thirdparty/libpng: update to libpng-1.6.43 [\#1541](https://github.com/uclouvain/openjpeg/pull/1541)
33 * thirdparty/libtiff: update to libtiff 4.6.0 [\#1540](https://github.com/uclouvain/openjpeg/pull/1540)
34
35 ## OpenJPEG 2.5.2 (Feb 2024)
36
37 No API/ABI break compared to v2.5.1
38
39 * Make sure openjpeg.h includes opj_config.h [\#1514](https://github.com/uclouvain/openjpeg/issues/1514)
40
41 ## OpenJPEG 2.5.1 (Feb 2024)
42
43 No API/ABI break compared to v2.5.0
44
45 * CMake: drop support for cmake < 3.5
46 * Several bugfixes, including [\#1509](https://github.com/uclouvain/openjpeg/pull/1509) for CVE-2021-3575
47 * Significant speed-up rate allocation by rate/distoratio ratio [\#1440](https://github.com/uclouvain/openjpeg/pull/1440)
48
49 ## OpenJPEG 2.5.0 (May 2022)
50
51 No API/ABI break compared to v2.4.0, but additional symbols for subset of components decoding (hence the MINOR version bump).
52
53 * Encoder: add support for generation of TLM markers [\#1359](https://github.com/uclouvain/openjpeg/pull/1359)
54 * Decoder: add support for high throughput \(HTJ2K\) decoding. [\#1381](https://github.com/uclouvain/openjpeg/pull/1381)
55 * Decoder: add support for partial bitstream decoding [\#1407](https://github.com/uclouvain/openjpeg/pull/1407)
56 * Bug fixes (including security fixes)
57
58 ## OpenJPEG 2.4.0 (December 2020)
59
60 No API/ABI break compared to v2.3.1, but additional symbols for subset of components decoding (hence the MINOR version bump).
61
62 * Encoder: add support for multithreading [\#1248](https://github.com/uclouvain/openjpeg/pull/1248)
63 * Encoder: add support for generation of PLT markers [\#1246](https://github.com/uclouvain/openjpeg/pull/1246)
64 * Encoder: single-threaded performance improvements in forward DWT for 5-3 and 9-7 (and other improvements) [\#1253](https://github.com/uclouvain/openjpeg/pull/1253)
65 * Encoder: support IMF profiles [\#1235](https://github.com/uclouvain/openjpeg/pull/1235)
66 * Many bug fixes (including security fixes)
67
68 ## OpenJPEG 2.3.1 (April 2019)
69
70 No API/ABI break compared to v2.3.0
71
72 * Many bug fixes (including security fixes)
73
74 ## OpenJPEG 2.3.0 (October 2017)
75
76 No API/ABI break compared to v2.2.0 but additional symbols for subset of components decoding (hence the MINOR version bump).
77
78 * 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).
79 [\#990](https://github.com/uclouvain/openjpeg/pull/990) [\#1001](https://github.com/uclouvain/openjpeg/pull/1001) [\#1010](https://github.com/uclouvain/openjpeg/pull/1010)
80 * 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]*`
81 option.
82 [\#1022](https://github.com/uclouvain/openjpeg/pull/1022)
83 * Many bug fixes (including security fixes)
84
85 ## OpenJPEG 2.2.0 (August 2017)
86
87 No API/ABI break compared to v2.1.2 but additional symbols for multithreading support (hence the MINOR version bump).
88
89 ### Codebase improvements
90
91 * Memory consumption reduction at decoding side [\#968](https://github.com/uclouvain/openjpeg/pull/968)
92 * Multi-threading support at decoding side [\#786](https://github.com/uclouvain/openjpeg/pull/786)
93 * Tier-1 speed optimizations (encoder and decoder) [\#945](https://github.com/uclouvain/openjpeg/pull/945)
94 * Tier-1 decoder further optimization [\#783](https://github.com/uclouvain/openjpeg/pull/783)
95 * Inverse 5x3 DWT speed optimization: single-pass lifting and SSE2/AVX2 implementation [\#957](https://github.com/uclouvain/openjpeg/pull/957)
96 * Fixed a bug that prevented OpenJPEG to compress losslessly in some situations [\#949](https://github.com/uclouvain/openjpeg/pull/949)
97 * Fixed BYPASS/LAZY, RESTART/TERMALL and PTERM mode switches
98 * Many other bug fixes (including security fixes)
99
100 ### Maintenance improvements
101
102 * 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)
103 * CPU and RAM usage profiling scripts [\#918](https://github.com/uclouvain/openjpeg/pull/918)
104 * Codebase reformatting (with astyle) and scripts to automatically check that new commits comply with formatting guidelines [\#919](https://github.com/uclouvain/openjpeg/pull/919)
105 * 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)
106
107 ## OpenJPEG 2.1.2 (September 2016)
108
109 * Bug fixes (including security fixes)
110 * No API/ABI break compared to v2.1.1
111
112 ## OpenJPEG 2.1.1 (July 2016)
113
114 * Huge amount of critical bugfixes
115 * Speed improvements
116 * No API/ABI break compared to v2.1
117
118 ## OpenJPEG 2.1.0 (April 2014)
119
120 ### New Features
121
122 * Digital Cinema profiles have been fixed and updated
123 * New option to disable MCT if needed
124 * extended RAW support: it is now possible to input raw images
125 with subsampled color components (422, 420, etc)
126 * New way to deal with profiles
127
128 ### API/ABI modifications
129 (see [here](http://www.openjpeg.org/abi-check/timeline/openjpeg/) for details)
130
131 * Removed deprecated functions
132 * opj_stream_create_default_file_stream(FILE*,...)
133 * opj_stream_create_file_stream(FILE*,...)
134 * opj_stream_set_user_data (opj_stream_t* p_stream, void * p_data)
135 * Added
136 * opj_stream_create_default_file_stream(char*,...)
137 * opj_stream_create_file_stream(char*,...)
138 * opj_stream_destroy(opj_stream_t*)
139 * opj_stream_set_user_data (opj_stream_t* p_stream, void * p_data,
140 ... opj_stream_free_user_data_fn p_function)
141 * JPEG 2000 profiles and Part-2 extensions defined through '#define'
142 * Changed
143 * 'alpha' field added to 'opj_image_comp' structure
144 * 'OPJ_CLRSPC_EYCC' added to enum COLOR_SPACE
145 * 'OPJ_CLRSPC_CMYK' added to enum COLOR_SPACE
146 * 'OPJ_CODEC_JPP' and 'OPJ_CODEC_JPX' added to CODEC_FORMAT
147 (not yet used in use)
148 * 'max_cs_size' and 'rsiz' fields added to opj_cparameters_t
149
150 ### Misc
151
152 * OpenJPEG is now officially conformant with JPEG 2000 Part-1
153 and will soon become official reference software at the
154 JPEG committee.
155 * Huge amount of bug fixes. See CHANGES for details.
156
157
158 ## OpenJPEG 2.0.0
159
160 ### New Features
161
162 * streaming capabilities
163 * merge JP3D
164
165 ### API modifications
166 (see [here](http://www.openjpeg.org/abi-check/timeline/openjpeg/) for details)
167
168 * Use a 64bits capable API
169
170 ### Misc
171
172 * removed autotools build system
173 * folders hierarchies reorganisation
174 * Huge amount of bug fixes. See CHANGES for details.