Update ABI/API compatibility reports after 2.5.0 release

This commit is contained in:
Even Rouault 2022-05-13 20:12:33 +02:00
parent 2f0bfac63f
commit 400be3c7f5
No known key found for this signature in database
GPG Key ID: 33EBBFC47B3DD87D
42 changed files with 10674 additions and 3122 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
{
"Object": "lib/libopenjp2.so.2.5.0",
"Lang": "C",
"TotalSymbols": "51",
"PublicABI": "1",
"Version": "1.7"
}

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{
"Object": "lib/libopenjp2.so.2.5.0",
"Lang": "C",
"TotalSymbols": "50",
"TotalSymbols": "51",
"PublicABI": "1",
"Version": "1.7"
}

View File

@ -0,0 +1,238 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="OpenJPEG, 2.4.0, changes, changelog" />
<meta name="description" content="Log of changes in the package" />
<link rel="stylesheet" type="text/css" href="../../../css/common.css" />
<link rel="stylesheet" type="text/css" href="../../../css/changelog.css" />
<title>
OpenJPEG 2.4.0: changelog
</title>
</head>
<body>
<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
<br/>
<br/>
<h1>Changelog for <span class='version'>2.4.0</span> version</h1><br/><br/>
<div class='changelog'>
<pre class='wrap'># Changelog
## [v2.4.0](https://github.com/uclouvain/openjpeg/releases/v2.4.0) (2020-12-28)
[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.3.1...v2.4.0)
**Closed issues:**
- OPENJPEG\_INSTALL\_DOC\_DIR does not control a destination directory where HTML docs would be installed. [\#1309](https://github.com/uclouvain/openjpeg/issues/1309)
- Heap-buffer-overflow in lib/openjp2/pi.c:312 [\#1302](https://github.com/uclouvain/openjpeg/issues/1302)
- Heap-buffer-overflow in lib/openjp2/t2.c:973 [\#1299](https://github.com/uclouvain/openjpeg/issues/1299)
- Heap-buffer-overflow in lib/openjp2/pi.c:623 [\#1293](https://github.com/uclouvain/openjpeg/issues/1293)
- Global-buffer-overflow in lib/openjp2/dwt.c:1980 [\#1286](https://github.com/uclouvain/openjpeg/issues/1286)
- Heap-buffer-overflow in lib/openjp2/tcd.c:2417 [\#1284](https://github.com/uclouvain/openjpeg/issues/1284)
- Heap-buffer-overflow in lib/openjp2/mqc.c:499 [\#1283](https://github.com/uclouvain/openjpeg/issues/1283)
- Openjpeg could not encode 32bit RGB float image [\#1281](https://github.com/uclouvain/openjpeg/issues/1281)
- Openjpeg could not encode 32bit RGB float image [\#1280](https://github.com/uclouvain/openjpeg/issues/1280)
- ISO/IEC 15444-1:2019 \(E\) compared with 'cio.h' [\#1277](https://github.com/uclouvain/openjpeg/issues/1277)
- Test-suite failure due to hash mismatch [\#1264](https://github.com/uclouvain/openjpeg/issues/1264)
- Heap use-after-free [\#1261](https://github.com/uclouvain/openjpeg/issues/1261)
- Memory leak when failing to allocate object... [\#1259](https://github.com/uclouvain/openjpeg/issues/1259)
- Memory leak of Tier 1 handle when OpenJPEG fails to set it as TLS... [\#1257](https://github.com/uclouvain/openjpeg/issues/1257)
- Any plan to build release for CVE-2020-8112/CVE-2020-6851 [\#1247](https://github.com/uclouvain/openjpeg/issues/1247)
- failing to convert 16-bit file: opj\_t2\_encode\_packet\(\): only 5251 bytes remaining in output buffer. 5621 needed. [\#1243](https://github.com/uclouvain/openjpeg/issues/1243)
- CMake+VS2017 Compile OK, thirdparty Compile OK, but thirdparty not install [\#1239](https://github.com/uclouvain/openjpeg/issues/1239)
- New release to solve CVE-2019-6988 ? [\#1238](https://github.com/uclouvain/openjpeg/issues/1238)
- Many tests fail to pass after the update of libtiff to version 4.1.0 [\#1233](https://github.com/uclouvain/openjpeg/issues/1233)
- Another heap buffer overflow in libopenjp2 [\#1231](https://github.com/uclouvain/openjpeg/issues/1231)
- Heap buffer overflow in libopenjp2 [\#1228](https://github.com/uclouvain/openjpeg/issues/1228)
- Endianness of binary volume \(JP3D\) [\#1224](https://github.com/uclouvain/openjpeg/issues/1224)
- New release to resolve CVE-2019-12973 [\#1222](https://github.com/uclouvain/openjpeg/issues/1222)
- how to set the block size,like 128,256 ? [\#1216](https://github.com/uclouvain/openjpeg/issues/1216)
- compress YUV files to motion jpeg2000 standard [\#1213](https://github.com/uclouvain/openjpeg/issues/1213)
- Repair/update Java wrapper, and include in release [\#1208](https://github.com/uclouvain/openjpeg/issues/1208)
- abc [\#1206](https://github.com/uclouvain/openjpeg/issues/1206)
- Slow decoding [\#1202](https://github.com/uclouvain/openjpeg/issues/1202)
- Installation question [\#1201](https://github.com/uclouvain/openjpeg/issues/1201)
- Typo in test\_decode\_area - \*ptilew is assigned instead of \*ptileh [\#1195](https://github.com/uclouvain/openjpeg/issues/1195)
- Creating a J2K file with one POC is broken [\#1191](https://github.com/uclouvain/openjpeg/issues/1191)
- Make fails on Arch Linux [\#1174](https://github.com/uclouvain/openjpeg/issues/1174)
- Heap buffer overflow in opj\_t1\_clbl\_decode\_processor\(\) triggered with Ghostscript [\#1158](https://github.com/uclouvain/openjpeg/issues/1158)
- opj\_stream\_get\_number\_byte\_left: Assertion `p\_stream-\&gt;m\_byte\_offset \&gt;= 0' failed. [\#1151](https://github.com/uclouvain/openjpeg/issues/1151)
- The fuzzer ignores too many inputs [\#1079](https://github.com/uclouvain/openjpeg/issues/1079)
- out of bounds read [\#1068](https://github.com/uclouvain/openjpeg/issues/1068)
**Merged pull requests:**
- Change defined WIN32 [\#1310](https://github.com/uclouvain/openjpeg/pull/1310) ([Jamaika1](https://github.com/Jamaika1))
- docs: fix simple typo, producted -\&gt; produced [\#1308](https://github.com/uclouvain/openjpeg/pull/1308) ([timgates42](https://github.com/timgates42))
- Set ${OPENJPEG\_INSTALL\_DOC\_DIR} to DESTINATION of HTMLs [\#1307](https://github.com/uclouvain/openjpeg/pull/1307) ([lemniscati](https://github.com/lemniscati))
- Use INC\_DIR for OPENJPEG\_INCLUDE\_DIRS \(fixes uclouvain\#1174\) [\#1306](https://github.com/uclouvain/openjpeg/pull/1306) ([matthew-sharp](https://github.com/matthew-sharp))
- pi.c: avoid out of bounds access with POC \(fixes \#1302\) [\#1304](https://github.com/uclouvain/openjpeg/pull/1304) ([rouault](https://github.com/rouault))
- Encoder: grow again buffer size [\#1303](https://github.com/uclouvain/openjpeg/pull/1303) ([zodf0055980](https://github.com/zodf0055980))
- opj\_j2k\_write\_sod\(\): avoid potential heap buffer overflow \(fixes \#1299\) \(probably master only\) [\#1301](https://github.com/uclouvain/openjpeg/pull/1301) ([rouault](https://github.com/rouault))
- pi.c: avoid out of bounds access with POC \(refs https://github.com/uclouvain/openjpeg/issues/1293\#issuecomment-737122836\) [\#1300](https://github.com/uclouvain/openjpeg/pull/1300) ([rouault](https://github.com/rouault))
- opj\_t2\_encode\_packet\(\): avoid out of bound access of \#1297, but likely not the proper fix [\#1298](https://github.com/uclouvain/openjpeg/pull/1298) ([rouault](https://github.com/rouault))
- opj\_t2\_encode\_packet\(\): avoid out of bound access of \#1294, but likely not the proper fix [\#1296](https://github.com/uclouvain/openjpeg/pull/1296) ([rouault](https://github.com/rouault))
- opj\_j2k\_setup\_encoder\(\): validate POC compno0 and compno1 \(fixes \#1293\) [\#1295](https://github.com/uclouvain/openjpeg/pull/1295) ([rouault](https://github.com/rouault))
- Encoder: avoid global buffer overflow on irreversible conversion when… [\#1292](https://github.com/uclouvain/openjpeg/pull/1292) ([rouault](https://github.com/rouault))
- Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC [\#1291](https://github.com/uclouvain/openjpeg/pull/1291) ([rouault](https://github.com/rouault))
- Free p\_tcd\_marker\_info to avoid memory leak [\#1288](https://github.com/uclouvain/openjpeg/pull/1288) ([zodf0055980](https://github.com/zodf0055980))
- Encoder: grow again buffer size [\#1287](https://github.com/uclouvain/openjpeg/pull/1287) ([zodf0055980](https://github.com/zodf0055980))
- Encoder: avoid uint32 overflow when allocating memory for codestream buffer \(fixes \#1243\) [\#1276](https://github.com/uclouvain/openjpeg/pull/1276) ([rouault](https://github.com/rouault))
- Java compatibility from 1.5 to 1.6 [\#1263](https://github.com/uclouvain/openjpeg/pull/1263) ([jiapei100](https://github.com/jiapei100))
- opj\_decompress: fix double-free on input directory with mix of valid and invalid images [\#1262](https://github.com/uclouvain/openjpeg/pull/1262) ([rouault](https://github.com/rouault))
- openjp2: Plug image leak when failing to allocate codestream index. [\#1260](https://github.com/uclouvain/openjpeg/pull/1260) ([sebras](https://github.com/sebras))
- openjp2: Plug memory leak when setting data as TLS fails. [\#1258](https://github.com/uclouvain/openjpeg/pull/1258) ([sebras](https://github.com/sebras))
- openjp2: Error out if failing to create Tier 1 handle. [\#1256](https://github.com/uclouvain/openjpeg/pull/1256) ([sebras](https://github.com/sebras))
- Testing for invalid values of width, height, numcomps [\#1254](https://github.com/uclouvain/openjpeg/pull/1254) ([szukw000](https://github.com/szukw000))
- Single-threaded performance improvements in forward DWT for 5-3 and 9-7 \(and other improvements\) [\#1253](https://github.com/uclouvain/openjpeg/pull/1253) ([rouault](https://github.com/rouault))
- Add support for multithreading in encoder [\#1248](https://github.com/uclouvain/openjpeg/pull/1248) ([rouault](https://github.com/rouault))
- Add support for generation of PLT markers in encoder [\#1246](https://github.com/uclouvain/openjpeg/pull/1246) ([rouault](https://github.com/rouault))
- Fix warnings about signed/unsigned casts in pi.c [\#1244](https://github.com/uclouvain/openjpeg/pull/1244) ([rouault](https://github.com/rouault))
- opj\_decompress: add sanity checks to avoid segfault in case of decoding error [\#1240](https://github.com/uclouvain/openjpeg/pull/1240) ([rouault](https://github.com/rouault))
- ignore wrong icc [\#1236](https://github.com/uclouvain/openjpeg/pull/1236) ([szukw000](https://github.com/szukw000))
- Implement writing of IMF profiles [\#1235](https://github.com/uclouvain/openjpeg/pull/1235) ([rouault](https://github.com/rouault))
- tests: add alternate checksums for libtiff 4.1 [\#1234](https://github.com/uclouvain/openjpeg/pull/1234) ([rouault](https://github.com/rouault))
- opj\_tcd\_init\_tile\(\): avoid integer overflow [\#1232](https://github.com/uclouvain/openjpeg/pull/1232) ([rouault](https://github.com/rouault))
- tests/fuzzers: link fuzz binaries using $LIB\_FUZZING\_ENGINE. [\#1230](https://github.com/uclouvain/openjpeg/pull/1230) ([Dor1s](https://github.com/Dor1s))
- opj\_j2k\_update\_image\_dimensions\(\): reject images whose coordinates are beyond INT\_MAX \(fixes \#1228\) [\#1229](https://github.com/uclouvain/openjpeg/pull/1229) ([rouault](https://github.com/rouault))
- Fix resource leaks [\#1226](https://github.com/uclouvain/openjpeg/pull/1226) ([dodys](https://github.com/dodys))
- abi-check.sh: fix false postive ABI error, and display output error log [\#1218](https://github.com/uclouvain/openjpeg/pull/1218) ([rouault](https://github.com/rouault))
- pi.c: avoid integer overflow, resulting in later invalid access to memory in opj\_t2\_decode\_packets\(\) [\#1217](https://github.com/uclouvain/openjpeg/pull/1217) ([rouault](https://github.com/rouault))
- Add check to validate SGcod/SPcoc/SPcod parameter values. [\#1211](https://github.com/uclouvain/openjpeg/pull/1211) ([sebras](https://github.com/sebras))
- Fix buffer overflow reading an image file less than four characters [\#1196](https://github.com/uclouvain/openjpeg/pull/1196) ([robert-ancell](https://github.com/robert-ancell))
- compression: emit POC marker when only one single POC is requested \(f… [\#1192](https://github.com/uclouvain/openjpeg/pull/1192) ([rouault](https://github.com/rouault))
- Fix several potential vulnerabilities [\#1185](https://github.com/uclouvain/openjpeg/pull/1185) ([Young-X](https://github.com/Young-X))
- openjp2/j2k: Report error if all wanted components are not decoded. [\#1164](https://github.com/uclouvain/openjpeg/pull/1164) ([sebras](https://github.com/sebras))
## [v2.3.1](https://github.com/uclouvain/openjpeg/releases/v2.3.1) (2019-04-02)
[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.3.0...v2.3.1)
**Closed issues:**
- v2.2.0 regression for decoding images where TNsot == 0 [\#1120](https://github.com/uclouvain/openjpeg/issues/1120)
- Int overflow in jp3d [\#1162](https://github.com/uclouvain/openjpeg/issues/1162)
- Heap buffer overflow in opj\_j2k\_update\_image\_data\(\) triggered with Ghostscript [\#1157](https://github.com/uclouvain/openjpeg/issues/1157)
- LINUX install doesn't work when building shared libraries is disabled [\#1155](https://github.com/uclouvain/openjpeg/issues/1155)
- OPENJPEG null ptr dereference in openjpeg-2.3.0/src/bin/jp2/convert.c:2243 [\#1152](https://github.com/uclouvain/openjpeg/issues/1152)
- How to drop certain subbands/layers in DWT [\#1147](https://github.com/uclouvain/openjpeg/issues/1147)
- where is the MQ-Coder ouput stream in t2.c? [\#1146](https://github.com/uclouvain/openjpeg/issues/1146)
- OpenJPEG 2.3 \(and 2.2?\) multi component image fails to decode with KDU v7.10 [\#1132](https://github.com/uclouvain/openjpeg/issues/1132)
- Missing checks for header\_info.height and header\_info.width in function pnmtoimage in src/bin/jpwl/convert.c, which can lead to heap buffer overflow [\#1126](https://github.com/uclouvain/openjpeg/issues/1126)
- Assertion Failure in jp2.c [\#1125](https://github.com/uclouvain/openjpeg/issues/1125)
- Division-by-zero vulnerabilities in the function pi\_next\_pcrl, pi\_next\_cprl and pi\_next\_rpcl in src/lib/openjp3d/pi.c [\#1123](https://github.com/uclouvain/openjpeg/issues/1123)
- Precinct switch \(-c\) doesn't right-shift last record to remaining resolution levels [\#1117](https://github.com/uclouvain/openjpeg/issues/1117)
- Sample: encode J2K a data using streams??? [\#1114](https://github.com/uclouvain/openjpeg/issues/1114)
- HIGH THROUGHPUT JPEG 2000 \(HTJ2K\) [\#1112](https://github.com/uclouvain/openjpeg/issues/1112)
- How to build openjpeg for arm linux? [\#1108](https://github.com/uclouvain/openjpeg/issues/1108)
- crash [\#1106](https://github.com/uclouvain/openjpeg/issues/1106)
- JP2000 returning OPJ\_CLRSPC\_UNKNOWN color space [\#1103](https://github.com/uclouvain/openjpeg/issues/1103)
- Compilation successful but install unsuccessful: Calling executables throws libraries missing error [\#1102](https://github.com/uclouvain/openjpeg/issues/1102)
- fprintf format string requires 1 parameter but only 0 are given [\#1093](https://github.com/uclouvain/openjpeg/issues/1093)
- fprintf format string requires 1 parameter but only 0 are given [\#1092](https://github.com/uclouvain/openjpeg/issues/1092)
- sprintf buffer overflow [\#1088](https://github.com/uclouvain/openjpeg/issues/1088)
- sprintf buffer overflow [\#1085](https://github.com/uclouvain/openjpeg/issues/1085)
- Infinite loop when reading jp2 [\#1081](https://github.com/uclouvain/openjpeg/issues/1081)
- missing format string parameter [\#1074](https://github.com/uclouvain/openjpeg/issues/1074)
- Excessive Iteration in opj\_t1\_encode\_cblks \(src/lib/openjp2/t1.c\) [\#1059](https://github.com/uclouvain/openjpeg/issues/1059)
- Out-of-bound left shift in opj\_j2k\_setup\_encoder \(src/lib/openjp2/j2k.c\) [\#1057](https://github.com/uclouvain/openjpeg/issues/1057)
- Encode image on Unsplash [\#1054](https://github.com/uclouvain/openjpeg/issues/1054)
- Integer overflow in opj\_t1\_encode\_cblks \(src/lib/openjp2/t1.c\) [\#1053](https://github.com/uclouvain/openjpeg/issues/1053)
- Signed Integer Overflow - 68065512 [\#1048](https://github.com/uclouvain/openjpeg/issues/1048)
- Similar vulnerable functions related to CVE-2017-14041 [\#1044](https://github.com/uclouvain/openjpeg/issues/1044)
- \[ERROR\] COD marker already read. No more than one COD marker per tile. [\#1043](https://github.com/uclouvain/openjpeg/issues/1043)
- failing to install latest version of openjpeg from source [\#1041](https://github.com/uclouvain/openjpeg/issues/1041)
- Trouble compressing large raw image [\#1032](https://github.com/uclouvain/openjpeg/issues/1032)
- Download and installed code from 2.3 archive. Installing 2.2? [\#1030](https://github.com/uclouvain/openjpeg/issues/1030)
- missing fclose [\#1029](https://github.com/uclouvain/openjpeg/issues/1029)
- NULL Pointer Access in function imagetopnm of convert.c\(jp2\):1289 [\#860](https://github.com/uclouvain/openjpeg/issues/860)
- NULL Pointer Access in function imagetopnm of convert.c:2226\(jp2\) [\#859](https://github.com/uclouvain/openjpeg/issues/859)
- Heap Buffer Overflow in function imagetotga of convert.c\(jp2\):942 [\#858](https://github.com/uclouvain/openjpeg/issues/858)
**Merged pull requests:**
- abi-check.sh: fix broken download URL [\#1188](https://github.com/uclouvain/openjpeg/pull/1188) ([rouault](https://github.com/rouault))
- opj\_t1\_encode\_cblks: fix UBSAN signed integer overflow [\#1187](https://github.com/uclouvain/openjpeg/pull/1187) ([rouault](https://github.com/rouault))
- convertbmp: detect invalid file dimensions early \(CVE-2018-6616\) [\#1172](https://github.com/uclouvain/openjpeg/pull/1172) ([hlef](https://github.com/hlef))
- color\_apply\_icc\_profile: avoid potential heap buffer overflow [\#1170](https://github.com/uclouvain/openjpeg/pull/1170) ([rouault](https://github.com/rouault))
- Fix multiple potential vulnerabilities and bugs [\#1168](https://github.com/uclouvain/openjpeg/pull/1168) ([Young-X](https://github.com/Young-X))
- Fix several memory and resource leaks [\#1163](https://github.com/uclouvain/openjpeg/pull/1163) ([nforro](https://github.com/nforro))
- Fix some potential overflow issues [\#1161](https://github.com/uclouvain/openjpeg/pull/1161) ([stweil](https://github.com/stweil))
- jp3d/jpwl convert: fix write stack buffer overflow [\#1160](https://github.com/uclouvain/openjpeg/pull/1160) ([hlef](https://github.com/hlef))
- Int overflow fixed [\#1159](https://github.com/uclouvain/openjpeg/pull/1159) ([ichlubna](https://github.com/ichlubna))
- Update knownfailures- files given current configurations [\#1149](https://github.com/uclouvain/openjpeg/pull/1149) ([rouault](https://github.com/rouault))
- CVE-2018-5785: fix issues with zero bitmasks [\#1148](https://github.com/uclouvain/openjpeg/pull/1148) ([hlef](https://github.com/hlef))
- openjp2/jp2: Fix two format strings [\#1143](https://github.com/uclouvain/openjpeg/pull/1143) ([stweil](https://github.com/stweil))
- Changes in pnmtoimage if image data are missing [\#1141](https://github.com/uclouvain/openjpeg/pull/1141) ([szukw000](https://github.com/szukw000))
- Relative path to header files is hardcoded in OpenJPEGConfig.cmake.in file [\#1140](https://github.com/uclouvain/openjpeg/pull/1140) ([bukatlib](https://github.com/bukatlib))
- Cast on uint ceildiv [\#1136](https://github.com/uclouvain/openjpeg/pull/1136) ([reverson](https://github.com/reverson))
- Add -DBUILD\_PKGCONFIG\_FILES to install instructions [\#1133](https://github.com/uclouvain/openjpeg/pull/1133) ([robe2](https://github.com/robe2))
- Fix some typos in code comments and documentation [\#1128](https://github.com/uclouvain/openjpeg/pull/1128) ([stweil](https://github.com/stweil))
- Fix regression in reading files with TNsot == 0 \(refs \#1120\) [\#1121](https://github.com/uclouvain/openjpeg/pull/1121) ([rouault](https://github.com/rouault))
- Use local type declaration for POSIX standard type only for MS compiler [\#1119](https://github.com/uclouvain/openjpeg/pull/1119) ([stweil](https://github.com/stweil))
- Fix Mac builds [\#1104](https://github.com/uclouvain/openjpeg/pull/1104) ([rouault](https://github.com/rouault))
- jp3d: Replace sprintf\(\) by snprintf\(\) in volumetobin\(\) [\#1101](https://github.com/uclouvain/openjpeg/pull/1101) ([kbabioch](https://github.com/kbabioch))
- opj\_mj2\_extract: Rename output\_location to output\_prefix [\#1096](https://github.com/uclouvain/openjpeg/pull/1096) ([kbabioch](https://github.com/kbabioch))
- mj2: Add missing variable to format string in fprintf\(\) invocation in meta\_out.c [\#1094](https://github.com/uclouvain/openjpeg/pull/1094) ([kbabioch](https://github.com/kbabioch))
- Convert files to UTF-8 encoding [\#1090](https://github.com/uclouvain/openjpeg/pull/1090) ([stweil](https://github.com/stweil))
- fix unchecked integer multiplication overflow [\#1080](https://github.com/uclouvain/openjpeg/pull/1080) ([setharnold](https://github.com/setharnold))
- Fixed typos [\#1062](https://github.com/uclouvain/openjpeg/pull/1062) ([radarhere](https://github.com/radarhere))
- Note that seek uses SEEK\_SET behavior. [\#1055](https://github.com/uclouvain/openjpeg/pull/1055) ([ideasman42](https://github.com/ideasman42))
- Some Doxygen tags are removed [\#1050](https://github.com/uclouvain/openjpeg/pull/1050) ([szukw000](https://github.com/szukw000))
- Fix resource leak \(CID 179466\) [\#1047](https://github.com/uclouvain/openjpeg/pull/1047) ([stweil](https://github.com/stweil))
- Changed cmake version test to allow for cmake 2.8.11.x [\#1042](https://github.com/uclouvain/openjpeg/pull/1042) ([radarhere](https://github.com/radarhere))
- Add missing fclose\(\) statement in error condition. [\#1037](https://github.com/uclouvain/openjpeg/pull/1037) ([gfiumara](https://github.com/gfiumara))
## [v2.3.0](https://github.com/uclouvain/openjpeg/releases/v2.3.0) (2017-10-04)
[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.2.0...v2.3.0)
**Implemented enhancements:**
- Sub-tile decoding: only decode precincts and codeblocks that intersect the window specified in opj_set_decode_area() [\#990](https://github.com/uclouvain/openjpeg/pull/990) ([rouault](https://github.com/rouault))
- Sub-tile decoding: only apply IDWT on areas that participate to the window of interest [\#1001](https://github.com/uclouvain/openjpeg/pull/1001) ([rouault](https://github.com/rouault))
- Sub-tile decoding: memory use reduction and perf improvements [\#1010](https://github.com/uclouvain/openjpeg/pull/1010) ([rouault](https://github.com/rouault))
- Add capability to decode only a subset of all components of an image. [\#1022](https://github.com/uclouvain/openjpeg/pull/1022) ([rouault](https://github.com/rouault))
**Fixed bugs:**
- Setting x offset of decode region to -1 causes opj\_decompress to go into infinite loop [\#736](https://github.com/uclouvain/openjpeg/issues/736)
- Problem decoding multiple tiles with get\_decoded\_tile when cmap/pclr/cdef boxes are present in jp2 file [\#484](https://github.com/uclouvain/openjpeg/issues/484)
- set reduce\_factor\_may\_fail [\#474](https://github.com/uclouvain/openjpeg/issues/474)
- opj\_compress.exe, command line parser, infinite loop [\#469](https://github.com/uclouvain/openjpeg/issues/469)
- Various memory access issues found via fuzzing [\#448](https://github.com/uclouvain/openjpeg/issues/448)
- Multiple warnings when building OpenJPEG \(trunk\) [\#442](https://github.com/uclouvain/openjpeg/issues/442)
- Bulk fuzz-testing report [\#427](https://github.com/uclouvain/openjpeg/issues/427)
- remove all printf from openjpeg / use proper function pointer for logging [\#371](https://github.com/uclouvain/openjpeg/issues/371)
- minor changes, clean-up [\#349](https://github.com/uclouvain/openjpeg/issues/349)
- image-\&gt;numcomps \&gt; 4 [\#333](https://github.com/uclouvain/openjpeg/issues/333)
- Improve support for region of interest [\#39](https://github.com/uclouvain/openjpeg/issues/39)
- Public function to tell kernel type used \(5x3 vs 9x7\) [\#3](https://github.com/uclouvain/openjpeg/issues/3)
- elf binary in source package ? [\#1026](https://github.com/uclouvain/openjpeg/issues/1026)
- opj\_cio\_open [\#1025](https://github.com/uclouvain/openjpeg/issues/1025)
- Building with Visual Studio 2015 [\#1023](https://github.com/uclouvain/openjpeg/issues/1023)
- tcd.cpp\&gt;:1617:33: error: assigning to 'OPJ\_INT32 \*' \(aka 'int \*'\) from incompatible type 'void \*' [\#1021](https://github.com/uclouvain/openjpeg/issues/1021)
- j2k.cpp \&gt; comparison of address of 'p\_j2k-\&gt;m\_cp.tcps\[0\].m\_data' not equal to a null pointer is always true [\#1020](https://github.com/uclouvain/openjpeg/issues/1020)
- Openjpeg 2.2.0 always build shared library even though -DBUILD\_SHARED\_LIBS:bool=off [\#1019](https://github.com/uclouvain/openjpeg/issues/1019)
- missing fclose [\#1018](https://github.com/uclouvain/openjpeg/issues/1018)
- Use opj\_image\_data\_free instead of opj\_free for image-\&gt;comps\[\].data [\#1014](https://github.com/uclouvain/openjpeg/issues/1014)
- malloc poison on some compilers - cross compiling [\#1013](https://github.com/uclouvain/openjpeg/issues/1013)
- Add OPJ\_VERSION\_MAJOR, OPJ\_VERSION\_MINOR, OPJ\_VERSION\_MICRO macros in openjpeg.h [\#1011](https://github.com/uclouvain/openjpeg/issues/1011)
- Encode: do not perform rate control for single-tile lossless [\#1009](https://github.com/uclouvain/openjpeg/issues/1009)
- opj\_set\_decoded\_resolution\_factor\(\): bad interaction with opj\_set\_decode\_area\(\) and/or opj\_decode\(\) [\#1006](https://github.com/uclouvain/openjpeg/issues/1006)
- memory allocation failure with .pgx file [\#999](https://github.com/uclouvain/openjpeg/issues/999)
- Unable to fuzz with raw image as input [\#998](https://github.com/uclouvain/openjpeg/issues/998)
- stack-based buffer overflow write in pgxtoimage \(/convert.c\) [\#997](https://github.com/uclouvain/openjpeg/issues/997)
- freeze with a crafted bmp [\#996](https://github.com/uclouvain/openjpeg/issues/996)
- invalid memory write in tgatoimage \(convert.c\) [\#995](https://github.com/uclouvain/openjpeg/issues/995)
- static build on Windows fails [\#994](https://github.com/uclouvain/openjpeg/issues/994)
- another heap-based buffer overflow in opj\_t2\_encode\_packet \(t2.c\) [\#993](https://github.com/uclouvain/openjpeg/issues/993)
- heap-based buffer overflow in opj\_t2\_encode\_packet \(t2.c\) [\#992](https://github.com/uclouvain/openjpeg/issues/992)
- heap-based buf
...</pre></div>
</body>
</html>

View File

@ -0,0 +1,241 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="OpenJPEG, 2.5.0, changes, changelog" />
<meta name="description" content="Log of changes in the package" />
<link rel="stylesheet" type="text/css" href="../../../css/common.css" />
<link rel="stylesheet" type="text/css" href="../../../css/changelog.css" />
<title>
OpenJPEG 2.5.0: changelog
</title>
</head>
<body>
<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
<br/>
<br/>
<h1>Changelog for <span class='version'>2.5.0</span> version</h1><br/><br/>
<div class='changelog'>
<pre class='wrap'># Changelog
## [v2.5.0](https://github.com/uclouvain/openjpeg/releases/v2.5.0) (2022-05-13)
[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.4.0...v2.5.0)
**Merged pull requests:**
- tools/travis-ci/install.sh: git clone with https:// to fix 'The unaut… [\#1419](https://github.com/uclouvain/openjpeg/pull/1419) ([rouault](https://github.com/rouault))
- Java Support 1.8 now... [\#1418](https://github.com/uclouvain/openjpeg/pull/1418) ([jiapei100](https://github.com/jiapei100))
- Separate fuzz targets to increase coverage [\#1416](https://github.com/uclouvain/openjpeg/pull/1416) ([Navidem](https://github.com/Navidem))
- CMakeLists.txt: do not set INSTALL\_NAME\_DIR for MacOS builds for CMake \&gt;= 3.0 \(fixes \#1404\) [\#1410](https://github.com/uclouvain/openjpeg/pull/1410) ([rouault](https://github.com/rouault))
- Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44544 [\#1408](https://github.com/uclouvain/openjpeg/pull/1408) ([rouault](https://github.com/rouault))
- Updated "added support for partial bitstream decoding" [\#1407](https://github.com/uclouvain/openjpeg/pull/1407) ([Neopallium](https://github.com/Neopallium))
- opj\_encoder\_set\_extra\_options\(\): add a GUARD\_BITS=value option [\#1403](https://github.com/uclouvain/openjpeg/pull/1403) ([rouault](https://github.com/rouault))
- More overflow related bug fixes [\#1402](https://github.com/uclouvain/openjpeg/pull/1402) ([Eharve14](https://github.com/Eharve14))
- opj\_j2k\_setup\_encoder\(\): validate number of tiles to avoid illegal values and potential overflow \(fixes \#1399\) [\#1401](https://github.com/uclouvain/openjpeg/pull/1401) ([rouault](https://github.com/rouault))
- Missed conversion from unsigned int to OPJ\_INT32 [\#1398](https://github.com/uclouvain/openjpeg/pull/1398) ([Eharve14](https://github.com/Eharve14))
- Added check for integer overflow in get\_num\_images [\#1397](https://github.com/uclouvain/openjpeg/pull/1397) ([Eharve14](https://github.com/Eharve14))
- Added overflow check for CVE-2021-29338 [\#1396](https://github.com/uclouvain/openjpeg/pull/1396) ([Eharve14](https://github.com/Eharve14))
- Fix integer overflow in num\_images [\#1395](https://github.com/uclouvain/openjpeg/pull/1395) ([baparham](https://github.com/baparham))
- Remove duplicate assignments in function tiftoimage [\#1392](https://github.com/uclouvain/openjpeg/pull/1392) ([stweil](https://github.com/stweil))
- Fix some typos \(found by codespell\) [\#1390](https://github.com/uclouvain/openjpeg/pull/1390) ([stweil](https://github.com/stweil))
- CI: Add CIFuzz action [\#1386](https://github.com/uclouvain/openjpeg/pull/1386) ([DavidKorczynski](https://github.com/DavidKorczynski))
- Feature/decimation [\#1384](https://github.com/uclouvain/openjpeg/pull/1384) ([msheby](https://github.com/msheby))
- API: deprecate 'bpp' member in favor of 'prec' [\#1383](https://github.com/uclouvain/openjpeg/pull/1383) ([rouault](https://github.com/rouault))
- Added support for high throughput \(HTJ2K\) decoding. [\#1381](https://github.com/uclouvain/openjpeg/pull/1381) ([rouault](https://github.com/rouault))
- verify-indentation.sh: fix for pull request from bar/master to foo/master [\#1380](https://github.com/uclouvain/openjpeg/pull/1380) ([rouault](https://github.com/rouault))
- Change integer for version libtiff 4.3.0 [\#1377](https://github.com/uclouvain/openjpeg/pull/1377) ([Jamaika1](https://github.com/Jamaika1))
- Port continuous integration to github actions [\#1376](https://github.com/uclouvain/openjpeg/pull/1376) ([rouault](https://github.com/rouault))
- Avoid integer overflows in DWT. [\#1375](https://github.com/uclouvain/openjpeg/pull/1375) ([rouault](https://github.com/rouault))
- LGTM warning: Comparison result is always the same [\#1373](https://github.com/uclouvain/openjpeg/pull/1373) ([DimitriPapadopoulos](https://github.com/DimitriPapadopoulos))
- A couple typos found by codespell [\#1371](https://github.com/uclouvain/openjpeg/pull/1371) ([DimitriPapadopoulos](https://github.com/DimitriPapadopoulos))
- cmake: add install interface include directory [\#1370](https://github.com/uclouvain/openjpeg/pull/1370) ([madebr](https://github.com/madebr))
- fix issues 1368: exist a issues of freeing uninitialized pointer in src/bin/jp2/opj\_decompress.cthat will cause a segfault [\#1369](https://github.com/uclouvain/openjpeg/pull/1369) ([xiaoxiaoafeifei](https://github.com/xiaoxiaoafeifei))
- opj\_j2k\_is\_imf\_compliant: Fix out of bounds access [\#1366](https://github.com/uclouvain/openjpeg/pull/1366) ([sebras](https://github.com/sebras))
- opj\_j2k\_is\_imf\_compliant: Fix argument formatting for warnings. [\#1365](https://github.com/uclouvain/openjpeg/pull/1365) ([sebras](https://github.com/sebras))
- CMakeLists.txt/appveyor.yml: update version number to 2.5.0… [\#1361](https://github.com/uclouvain/openjpeg/pull/1361) ([rouault](https://github.com/rouault))
- .travis.yml: try to fix gcc 4.8 config by updating to xenial [\#1360](https://github.com/uclouvain/openjpeg/pull/1360) ([rouault](https://github.com/rouault))
- Add support for enabling generation of TLM markers in encoder [\#1359](https://github.com/uclouvain/openjpeg/pull/1359) ([rouault](https://github.com/rouault))
- Fix various compiler warnings [\#1358](https://github.com/uclouvain/openjpeg/pull/1358) ([rouault](https://github.com/rouault))
- fix \#1345: don't remove big endian test for other platforms [\#1354](https://github.com/uclouvain/openjpeg/pull/1354) ([msabwat](https://github.com/msabwat))
- Remove obsolete components JPWL, JP3D and MJ2 [\#1350](https://github.com/uclouvain/openjpeg/pull/1350) ([rouault](https://github.com/rouault))
- tools/travis-ci/install.sh: fix links to Kakadu and jpylyzer binaries [\#1348](https://github.com/uclouvain/openjpeg/pull/1348) ([rouault](https://github.com/rouault))
- emscripten: disable big endian test [\#1345](https://github.com/uclouvain/openjpeg/pull/1345) ([msabwat](https://github.com/msabwat))
- Fix cmake file with DESTDIR [\#1321](https://github.com/uclouvain/openjpeg/pull/1321) ([ffontaine](https://github.com/ffontaine))
- CMakeLists.txt: Don't require a C++ compiler [\#1317](https://github.com/uclouvain/openjpeg/pull/1317) ([ffontaine](https://github.com/ffontaine))
- Import files tiff and yuv\(raw\) [\#1316](https://github.com/uclouvain/openjpeg/pull/1316) ([Jamaika1](https://github.com/Jamaika1))
- Fix year in NEWS [\#1312](https://github.com/uclouvain/openjpeg/pull/1312) ([stweil](https://github.com/stweil))
- Fix lcms2 static linking using pgk config [\#867](https://github.com/uclouvain/openjpeg/pull/867) ([pseiderer](https://github.com/pseiderer))
- fix static build only against tiff and its indirect dependencies [\#866](https://github.com/uclouvain/openjpeg/pull/866) ([tSed](https://github.com/tSed))
**Closed issues:**
- integer constant is too large for 'long' type [\#61](https://github.com/uclouvain/openjpeg/issues/61)
- Openjpeg3D lossy compression not working [\#501](https://github.com/uclouvain/openjpeg/issues/501)
- mj2: Array overflow [\#485](https://github.com/uclouvain/openjpeg/issues/485)
- OPJ fails to decode image that KDU manages correctly [\#419](https://github.com/uclouvain/openjpeg/issues/419)
- yuvtoimage\(\) bug in v1 and v2 for 16-Bit: please apply ASAP [\#384](https://github.com/uclouvain/openjpeg/issues/384)
- JP3D: Fix CVE-2013-4289 CVE-2013-4290 [\#298](https://github.com/uclouvain/openjpeg/issues/298)
- MJ2 libraries are installed in lib [\#204](https://github.com/uclouvain/openjpeg/issues/204)
- MJ2: realloc is misused and may leak memory [\#168](https://github.com/uclouvain/openjpeg/issues/168)
- MJ2 wrapper not functional [\#143](https://github.com/uclouvain/openjpeg/issues/143)
- JPWL is broken in trunk [\#137](https://github.com/uclouvain/openjpeg/issues/137)
- MJ2 files not using OPENJPEG API correctly [\#53](https://github.com/uclouvain/openjpeg/issues/53)
- Maximum bit depth supported by the OpenJPEG implementation of JP3D [\#9](https://github.com/uclouvain/openjpeg/issues/9)
- does openjpeg support either visually lossless or numerically lossless jpeg2000 compression? [\#1406](https://github.com/uclouvain/openjpeg/issues/1406)
- extract jpeg2000 tile without decompression [\#1405](https://github.com/uclouvain/openjpeg/issues/1405)
- openjpeg doesn't install a relocatable shared lib on macOS [\#1404](https://github.com/uclouvain/openjpeg/issues/1404)
- pull request - the cinema industry awaits! [\#1400](https://github.com/uclouvain/openjpeg/issues/1400)
- Integer overflows in j2K [\#1399](https://github.com/uclouvain/openjpeg/issues/1399)
- why lossly compression performance worse than jpeg when compress png [\#1393](https://github.com/uclouvain/openjpeg/issues/1393)
- cect [\#1389](https://github.com/uclouvain/openjpeg/issues/1389)
- the docs don't describe bpp and prec in opj\_image\_comp very well [\#1379](https://github.com/uclouvain/openjpeg/issues/1379)
- converting .png to .jp2 by opj\_compress is different from the original image [\#1378](https://github.com/uclouvain/openjpeg/issues/1378)
- Comparison result is always the same [\#1372](https://github.com/uclouvain/openjpeg/issues/1372)
- Exist a issues of freeing uninitialized pointer in src/bin/jp2/opj\_decompress.cthat will cause a segfault [\#1368](https://github.com/uclouvain/openjpeg/issues/1368)
- \[TEST NOT RUNNING\]: bigendian test [\#1355](https://github.com/uclouvain/openjpeg/issues/1355)
- opj\_decompress 2.4.0 built with library 2.3.0. [\#1352](https://github.com/uclouvain/openjpeg/issues/1352)
- New library htjpeg2000 [\#1351](https://github.com/uclouvain/openjpeg/issues/1351)
- Integer Overflow in num\_images [\#1338](https://github.com/uclouvain/openjpeg/issues/1338)
- All IMF Profile Selections Result in PART1 [\#1337](https://github.com/uclouvain/openjpeg/issues/1337)
- grayscale image [\#1334](https://github.com/uclouvain/openjpeg/issues/1334)
- error C2169: 'lrintf': intrinsic function, cannot be defined [\#1333](https://github.com/uclouvain/openjpeg/issues/1333)
- Generate lower-case extension [\#1332](https://github.com/uclouvain/openjpeg/issues/1332)
- color of reconstructed png file much darker [\#1330](https://github.com/uclouvain/openjpeg/issues/1330)
- CVE-2019-6988, CVE-2018-20846 and CVE-2018-16376 [\#1328](https://github.com/uclouvain/openjpeg/issues/1328)
- opj 2.4.0: opj\_free missing in opj3d [\#1327](https://github.com/uclouvain/openjpeg/issues/1327)
- Not able to compress volumetric data [\#1326](https://github.com/uclouvain/openjpeg/issues/1326)
- HTML documents are not installed in specified place [\#1322](https://github.com/uclouvain/openjpeg/issues/1322)
- Can't find openjpeg.h when cross-compile. [\#1320](https://github.com/uclouvain/openjpeg/issues/1320)
- OpenJPEG is available with EasyConfig [\#1319](https://github.com/uclouvain/openjpeg/issues/1319)
- Building Test Programs [\#1318](https://github.com/uclouvain/openjpeg/issues/1318)
- Builds are not reproducible [\#1275](https://github.com/uclouvain/openjpeg/issues/1275)
- strange behaviour of opj\_jp3d\_compress/decompress utility [\#1274](https://github.com/uclouvain/openjpeg/issues/1274)
- Potential heap-based buffer overflow in function t2\_encode\_packet in src/lib/openmj2/t2.c and src/lib/openjp3d/t2.c [\#1272](https://github.com/uclouvain/openjpeg/issues/1272)
- Function tgatoimage in src/bin/jpwl/convert.c need to check that the file is big enough to avoid excessive memory allocations [\#1271](https://github.com/uclouvain/openjpeg/issues/1271)
- memory &amp; cpu are exhausted when converting jp2 file into png [\#1250](https://github.com/uclouvain/openjpeg/issues/1250)
- Cannot compress PGX into JP3D despite following the directions? [\#1134](https://github.com/uclouvain/openjpeg/issues/1134)
- sscanf buffer overflow in opj\_jp3d\_compress.c [\#1130](https://github.com/uclouvain/openjpeg/issues/1130)
- integer underflow may lead to writing garbage [\#1089](https://github.com/uclouvain/openjpeg/issues/1089)
- sscanf buffer overflow [\#1087](https://github.com/uclouvain/openjpeg/issues/1087)
- strcpy overflows [\#1086](https://github.com/uclouvain/openjpeg/issues/1086)
- sprintf buffer overflows [\#1084](https://github.com/uclouvain/openjpeg/issues/1084)
- strcpy buffer overflow [\#1083](https://github.com/uclouvain/openjpeg/issues/1083)
- integer overflow in malloc\(\) [\#1082](https://github.com/uclouvain/openjpeg/issues/1082)
- out of bounds writes [\#1078](https://github.com/uclouvain/openjpeg/issues/1078)
- out of bounds writes [\#1077](https://github.com/uclouvain/openjpeg/issues/1077)
- divide by zero, perhaps multiplication overflow [\#1076](https://github.com/uclouvain/openjpeg/issues/1076)
- missing format string parameter [\#1075](https://github.com/uclouvain/openjpeg/issues/1075)
- leaks from cppcheck in lib folder [\#1038](https://github.com/uclouvain/openjpeg/issues/1038)
- How to initialize DEBUG\_PROFILE in color.c? [\#958](https://github.com/uclouvain/openjpeg/issues/958)
- JP3D sample files [\#865](https://github.com/uclouvain/openjpeg/issues/865)
- BIG\_ENDIAN bug in jpwl.c [\#839](https://github.com/uclouvain/openjpeg/issues/839)
- OpenJPEG fails to decode partial j2c where kdu succeeds [\#715](https://github.com/uclouvain/openjpeg/issues/715)
- building mj2 binaries fails [\#652](https://github.com/uclouvain/openjpeg/issues/652)
- openmj2\mj2.c: Out of bounds [\#646](https://github.com/uclouvain/openjpeg/issues/646)
- bin\mj2\opj\_mj2\_decompress.c 101 wrong check / leak [\#608](https://github.com/uclouvain/openjpeg/issues/608)
## [v2.4.0](https://github.com/uclouvain/openjpeg/releases/v2.4.0) (2020-12-28)
[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.3.1...v2.4.0)
**Closed issues:**
- OPENJPEG\_INSTALL\_DOC\_DIR does not control a destination directory where HTML docs would be installed. [\#1309](https://github.com/uclouvain/openjpeg/issues/1309)
- Heap-buffer-overflow in lib/openjp2/pi.c:312 [\#1302](https://github.com/uclouvain/openjpeg/issues/1302)
- Heap-buffer-overflow in lib/openjp2/t2.c:973 [\#1299](https://github.com/uclouvain/openjpeg/issues/1299)
- Heap-buffer-overflow in lib/openjp2/pi.c:623 [\#1293](https://github.com/uclouvain/openjpeg/issues/1293)
- Global-buffer-overflow in lib/openjp2/dwt.c:1980 [\#1286](https://github.com/uclouvain/openjpeg/issues/1286)
- Heap-buffer-overflow in lib/openjp2/tcd.c:2417 [\#1284](https://github.com/uclouvain/openjpeg/issues/1284)
- Heap-buffer-overflow in lib/openjp2/mqc.c:499 [\#1283](https://github.com/uclouvain/openjpeg/issues/1283)
- Openjpeg could not encode 32bit RGB float image [\#1281](https://github.com/uclouvain/openjpeg/issues/1281)
- Openjpeg could not encode 32bit RGB float image [\#1280](https://github.com/uclouvain/openjpeg/issues/1280)
- ISO/IEC 15444-1:2019 \(E\) compared with 'cio.h' [\#1277](https://github.com/uclouvain/openjpeg/issues/1277)
- Test-suite failure due to hash mismatch [\#1264](https://github.com/uclouvain/openjpeg/issues/1264)
- Heap use-after-free [\#1261](https://github.com/uclouvain/openjpeg/issues/1261)
- Memory leak when failing to allocate object... [\#1259](https://github.com/uclouvain/openjpeg/issues/1259)
- Memory leak of Tier 1 handle when OpenJPEG fails to set it as TLS... [\#1257](https://github.com/uclouvain/openjpeg/issues/1257)
- Any plan to build release for CVE-2020-8112/CVE-2020-6851 [\#1247](https://github.com/uclouvain/openjpeg/issues/1247)
- failing to convert 16-bit file: opj\_t2\_encode\_packet\(\): only 5251 bytes remaining in output buffer. 5621 needed. [\#1243](https://github.com/uclouvain/openjpeg/issues/1243)
- CMake+VS2017 Compile OK, thirdparty Compile OK, but thirdparty not install [\#1239](https://github.com/uclouvain/openjpeg/issues/1239)
- New release to solve CVE-2019-6988 ? [\#1238](https://github.com/uclouvain/openjpeg/issues/1238)
- Many tests fail to pass after the update of libtiff to version 4.1.0 [\#1233](https://github.com/uclouvain/openjpeg/issues/1233)
- Another heap buffer overflow in libopenjp2 [\#1231](https://github.com/uclouvain/openjpeg/issues/1231)
- Heap buffer overflow in libopenjp2 [\#1228](https://github.com/uclouvain/openjpeg/issues/1228)
- Endianness of binary volume \(JP3D\) [\#1224](https://github.com/uclouvain/openjpeg/issues/1224)
- New release to resolve CVE-2019-12973 [\#1222](https://github.com/uclouvain/openjpeg/issues/1222)
- how to set the block size,like 128,256 ? [\#1216](https://github.com/uclouvain/openjpeg/issues/1216)
- compress YUV files to motion jpeg2000 standard [\#1213](https://github.com/uclouvain/openjpeg/issues/1213)
- Repair/update Java wrapper, and include in release [\#1208](https://github.com/uclouvain/openjpeg/issues/1208)
- abc [\#1206](https://github.com/uclouvain/openjpeg/issues/1206)
- Slow decoding [\#1202](https://github.com/uclouvain/openjpeg/issues/1202)
- Installation question [\#1201](https://github.com/uclouvain/openjpeg/issues/1201)
- Typo in test\_decode\_area - \*ptilew is assigned instead of \*ptileh [\#1195](https://github.com/uclouvain/openjpeg/issues/1195)
- Creating a J2K file with one POC is broken [\#1191](https://github.com/uclouvain/openjpeg/issues/1191)
- Make fails on Arch Linux [\#1174](https://github.com/uclouvain/openjpeg/issues/1174)
- Heap buffer overflow in opj\_t1\_clbl\_decode\_processor\(\) triggered with Ghostscript [\#1158](https://github.com/uclouvain/openjpeg/issues/1158)
- opj\_stream\_get\_number\_byte\_left: Assertion `p\_stream-\&gt;m\_byte\_offset \&gt;= 0' failed. [\#1151](https://github.com/uclouvain/openjpeg/issues/1151)
- The fuzzer ignores too many inputs [\#1079](https://github.com/uclouvain/openjpeg/issues/1079)
- out of bounds read [\#1068](https://github.com/uclouvain/openjpeg/issues/1068)
**Merged pull requests:**
- Change defined WIN32 [\#1310](https://github.com/uclouvain/openjpeg/pull/1310) ([Jamaika1](https://github.com/Jamaika1))
- docs: fix simple typo, producted -\&gt; produced [\#1308](https://github.com/uclouvain/openjpeg/pull/1308) ([timgates42](https://github.com/timgates42))
- Set ${OPENJPEG\_INSTALL\_DOC\_DIR} to DESTINATION of HTMLs [\#1307](https://github.com/uclouvain/openjpeg/pull/1307) ([lemniscati](https://github.com/lemniscati))
- Use INC\_DIR for OPENJPEG\_INCLUDE\_DIRS \(fixes uclouvain\#1174\) [\#1306](https://github.com/uclouvain/openjpeg/pull/1306) ([matthew-sharp](https://github.com/matthew-sharp))
- pi.c: avoid out of bounds access with POC \(fixes \#1302\) [\#1304](https://github.com/uclouvain/openjpeg/pull/1304) ([rouault](https://github.com/rouault))
- Encoder: grow again buffer size [\#1303](https://github.com/uclouvain/openjpeg/pull/1303) ([zodf0055980](https://github.com/zodf0055980))
- opj\_j2k\_write\_sod\(\): avoid potential heap buffer overflow \(fixes \#1299\) \(probably master only\) [\#1301](https://github.com/uclouvain/openjpeg/pull/1301) ([rouault](https://github.com/rouault))
- pi.c: avoid out of bounds access with POC \(refs https://github.com/uclouvain/openjpeg/issues/1293\#issuecomment-737122836\) [\#1300](https://github.com/uclouvain/openjpeg/pull/1300) ([rouault](https://github.com/rouault))
- opj\_t2\_encode\_packet\(\): avoid out of bound access of \#1297, but likely not the proper fix [\#1298](https://github.com/uclouvain/openjpeg/pull/1298) ([rouault](https://github.com/rouault))
- opj\_t2\_encode\_packet\(\): avoid out of bound access of \#1294, but likely not the proper fix [\#1296](https://github.com/uclouvain/openjpeg/pull/1296) ([rouault](https://github.com/rouault))
- opj\_j2k\_setup\_encoder\(\): validate POC compno0 and compno1 \(fixes \#1293\) [\#1295](https://github.com/uclouvain/openjpeg/pull/1295) ([rouault](https://github.com/rouault))
- Encoder: avoid global buffer overflow on irreversible conversion when… [\#1292](https://github.com/uclouvain/openjpeg/pull/1292) ([rouault](https://github.com/rouault))
- Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC [\#1291](https://github.com/uclouvain/openjpeg/pull/1291) ([rouault](https://github.com/rouault))
- Free p\_tcd\_marker\_info to avoid memory leak [\#1288](https://github.com/uclouvain/openjpeg/pull/1288) ([zodf0055980](https://github.com/zodf0055980))
- Encoder: grow again buffer size [\#1287](https://github.com/uclouvain/openjpeg/pull/1287) ([zodf0055980](https://github.com/zodf0055980))
- Encoder: avoid uint32 overflow when allocating memory for codestream buffer \(fixes \#1243\) [\#1276](https://github.com/uclouvain/openjpeg/pull/1276) ([rouault](https://github.com/rouault))
- Java compatibility from 1.5 to 1.6 [\#1263](https://github.com/uclouvain/openjpeg/pull/1263) ([jiapei100](https://github.com/jiapei100))
- opj\_decompress: fix double-free on input directory with mix of valid and invalid images [\#1262](https://github.com/uclouvain/openjpeg/pull/1262) ([rouault](https://github.com/rouault))
- openjp2: Plug image leak when failing to allocate codestream index. [\#1260](https://github.com/uclouvain/openjpeg/pull/1260) ([sebras](https://github.com/sebras))
- openjp2: Plug memory leak when setting data as TLS fails. [\#1258](https://github.com/uclouvain/openjpeg/pull/1258) ([sebras](https://github.com/sebras))
- openjp2: Error out if failing to create Tier 1 handle. [\#1256](https://github.com/uclouvain/openjpeg/pull/1256) ([sebras](https://github.com/sebras))
- Testing for invalid values of width, height, numcomps [\#1254](https://github.com/uclouvain/openjpeg/pull/1254) ([szukw000](https://github.com/szukw000))
- Single-threaded performance improvements in forward DWT for 5-3 and 9-7 \(and other improvements\) [\#1253](https://github.com/uclouvain/openjpeg/pull/1253) ([rouault](https://github.com/rouault))
- Add support for multithreading in encoder [\#1248](https://github.com/uclouvain/openjpeg/pull/1248) ([rouault](https://github.com/rouault))
- Add support for generation of PLT markers in encoder [\#1246](https://github.com/uclouvain/openjpeg/pull/1246) ([rouault](https://github.com/rouault))
- Fix warnings about signed/unsigned casts in pi.c [\#1244](https://github.com/uclouvain/openjpeg/pull/1244) ([rouault](https://github.com/rouault))
- opj\_decompress: add sanity checks to avoid segfault in case of decoding error [\#1240](https://github.com/uclouvain/openjpeg/pull/1240) ([rouault](https://github.com/rouault))
- ignore wrong icc [\#1236](https://github.com/uclouvain/openjpeg/pull/1236) ([szukw000](https://github.com/szukw000))
- Implement writing of IMF profiles [\#1235](https://github.com/uclouvain/openjpeg/pull/1235) ([rouault](https://github.com/rouault))
- tests: add alternate checksums for libtiff 4.1 [\#1234](https://github.com/uclouvain/openjpeg/pull/1234) ([rouault](https://github.com/rouault))
- opj\_tcd\_init\_tile\(\): avoid integer overflow [\#1232](https://github.com/uclouvain/openjpeg/pull/1232) ([rouault](https://github.com/rouault))
- tests/fuzzers: link fuzz binaries using $LIB\_FUZZING\_ENGINE. [\#1230](https://github.com/uclouvain/openjpeg/pull/1230) ([Dor1s](https://github.com/Dor1s))
- opj\_j2k\_update\_image\_dimensions\(\): reject images whose coordinates are beyond INT\_MAX \(fixes \#1228\) [\#1229](https://github.com/uclouvain/openjpeg/pull/1229) ([rouault](https://github.com/rouault))
- Fix resource leaks [\#1226](https://github.com/uclouvain/openjpeg/pull/1226) ([dodys](https://github.com/dodys))
- abi-check.sh: fix false positive ABI error, and display output error log [\#1218](https://github.com/uclouvain/openjpeg/pull/1218) ([rouault](https://github.com/rouault))
- pi.c: avoid integer overflow, resulting in later invalid access to memory in opj\_t2\_decode\_packets\(\) [\#1217](https://github.com/uclouvain/openjpeg/pull/1217) ([rouault](https://github.com/rouault))
- Add check to validate SGcod/SPcoc/SPcod parameter values. [\#1211](https://github.com/uclouvain/openjpeg/pull/1211) ([sebras](https://github.com/sebras))
- Fix buffer overflow reading an image file less than four characters [\#1196](https://github.com/uclouvain/openjpeg/pull/1196) ([robert-ancell](https://github.com/robert-ancell))
- compression: emit POC marker when only one single POC is requested \(f… [\#1192](https://github.com/uclouvain/openjpeg/pull/1192) ([rouault](https://github.com/rouault))
- Fix several potential vulnerabilities [\#1185](https://github.com/uclouvain/openjpeg/pull/1185) ([Young-X](https://github.com/Young-X))
- openjp2/j2k: Report error if all wanted components are not decoded. [\#1164](https://github.com/uclouvain/openjpeg/pull/1164) ([sebras](https://github.com/sebras))
## [v2.3.1](https://github.com/uclouvain/openjpeg/releases/v2.3.1) (2019-04-02)
[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.3.0...v2.3.1)
**Closed issues:**
- v2.2.0 regression for decoding images where TNsot == 0 [\#1120](https://github.com/uclouvain/openjpeg/issues/1120)
- Int overflow in jp3d [\#1162](https://git
...</pre></div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,424 @@
<!-- verdict:incompatible;affected:15;added:1;removed:0;type_problems_high:0;type_problems_medium:3;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:1.99.21 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="libopenjp2, binary compatibility, API, report" />
<meta name="description" content="Binary compatibility report for the libopenjp2 object between 2.4.0 and 2.5.0 versions on x86_64" />
<title>libopenjp2: 2.4.0 to 2.5.0 binary compatibility report</title>
<style type="text/css">
body {
font-family:Arial, sans-serif;
background-color:White;
color:Black;
}
hr {
color:Black;
background-color:Black;
height:1px;
border:0;
}
h1 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.625em;
}
h2 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.25em;
white-space:nowrap;
}
span.section {
font-weight:bold;
cursor:pointer;
color:#003E69;
white-space:nowrap;
margin-left:5px;
}
span.new_sign {
font-weight:bold;
margin-left:26px;
color:#003E69;
}
span.new_sign_lbl {
margin-left:28px;
font-size:0.875em;
color:Black;
}
span:hover.section {
color:#336699;
}
span.sect_aff {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:#cc3300;
}
span.sect_info {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:Black;
}
span.ext {
font-weight:100;
}
span.h_name {
color:#cc3300;
font-size:0.875em;
font-weight:bold;
}
div.h_list, div.lib_list {
font-size:0.94em;
padding-left:5px;
}
span.ns {
color:#408080;
font-size:0.94em;
}
span.lib_name {
color:Green;
font-size:0.875em;
font-weight:bold;
}
span.iname {
font-weight:bold;
color:#003E69;
margin-left:5px;
}
span.iname_b {
font-weight:bold;
font-size:1.1em;
}
span.iname_a {
color:#333333;
font-weight:bold;
font-size:0.94em;
}
span.sym_p {
font-weight:normal;
white-space:normal;
}
div.affect {
padding-left:15px;
padding-bottom:10px;
font-size:0.87em;
font-style:italic;
line-height:0.75em;
}
div.affected {
padding-left:30px;
padding-top:10px;
}
table.ptable {
border-collapse:collapse;
border:1px outset black;
line-height:1em;
margin-left:15px;
margin-top:3px;
margin-bottom:3px;
width:900px;
}
table.ptable td {
border:1px solid gray;
padding: 3px;
font-size:0.875em;
text-align:left;
vertical-align:top;
}
table.vtable {
border-collapse:collapse;
border:1px outset black;
line-height:16px;
margin-left:30px;
margin-top:10px;
}
table.vtable td {
border:1px solid gray;
word-wrap:break-word;
padding: 3px;
font-size:0.875em;
max-width:450px;
vertical-align:top;
}
table.ptable th, table.vtable th {
background-color:#eeeeee;
font-weight:bold;
color:#333333;
font-family:Verdana, Arial;
font-size:0.81em;
border:1px solid gray;
text-align:center;
vertical-align:top;
white-space:nowrap;
padding: 3px;
}
table.summary {
border-collapse:collapse;
border:1px outset black;
}
table.summary th {
background-color:#eeeeee;
font-weight:100;
text-align:left;
font-size:0.94em;
white-space:nowrap;
border:1px inset gray;
padding: 3px;
}
table.summary td {
text-align:right;
white-space:nowrap;
border:1px inset gray;
padding: 3px 5px 3px 10px;
}
span.mangled {
padding-left:15px;
font-size:0.875em;
cursor:text;
color:#444444;
}
span.sym_ver {
color:#333333;
white-space:nowrap;
font-family:"DejaVu Sans Mono", Monospace;
}
span.attr {
color:#333333;
font-weight:100;
}
span.color_p {
font-style:italic;
color:Brown;
}
span.p {
font-style:italic;
}
span.fp {
font-style:italic;
background-color:#DCDCDC;
}
span.ttype {
font-weight:100;
}
span.nowrap {
white-space:nowrap;
}
span.value {
white-space:nowrap;
font-weight:bold;
}
.passed {
background-color:#CCFFCC;
}
.warning {
background-color:#F4F4AF;
}
.failed {
background-color:#FFCCCC;
}
.new {
background-color:#C6DEFF;
}
.compatible {
background-color:#CCFFCC;
}
.almost_compatible {
background-color:#FFDAA3;
}
.incompatible {
background-color:#FFCCCC;
}
.gray {
background-color:#DCDCDC;
}
.top_ref {
font-size:0.69em;
}
.footer {
font-size:0.75em;
}
</style>
<script type="text/javascript" language="JavaScript">
<!--
function showContent(header, id)
{
e = document.getElementById(id);
if(e.style.display == 'none')
{
e.style.display = 'block';
e.style.visibility = 'visible';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
}
else
{
e.style.display = 'none';
e.style.visibility = 'hidden';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
}
}
-->
</script>
</head>
<body>
<div><a name='Top'></a>
<h1>Binary compatibility report for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.4.0</span> and <span style='color:Red;'>2.5.0</span> versions on <span style='color:Blue;'>x86_64</span></h1>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Module Name</th><td>libopenjp2</td></tr>
<tr><th>Version #1</th><td>2.4.0 (gcc 4.8.5)</td></tr>
<tr><th>Version #2</th><td>2.5.0 (gcc 9.4.0)</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>4</a></td></tr>
<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Symbols / Types</th><td>50 / 114</td></tr>
<tr><th>Compatibility</th>
<td class='almost_compatible'>85%</td>
</tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Added' style='color:Blue;'>1</a></td></tr>
<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td class='failed'><a href='#Type_Problems_Medium' style='color:Blue;'>3</a></td></tr>
<tr><td>Low</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
</table>
<a name='Added'></a><h2>Added Symbols <span class='new'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span>, <span class='lib_name'>libopenjp2.so.2.5.0</span><br/>
<span class="iname">opj_decoder_set_strict_mode&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>OPJ_BOOL <span class='color_p'>strict</span> )</span></span></span><br/>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Medium_Risk_Problems'></a><a name='Type_Problems_Medium'></a>
<h2>Problems with Data Types, Medium Severity <span class='failed'>&nbsp;3&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_1')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> CODEC_FORMAT <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_1" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Value of member <b>OPJ_CODEC_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615&#160;<span class='sym_p'>(&#160;<span class='nowrap'>-1 )</span></span></span>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_2')">
[+] affected symbols: 2 (4%)</span>
<div id="c_2" style="display:none;">
<div class='affected'><span class='iname_a'>opj_create_compress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>p_format</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;p_format&#39; has base type &#39;enum CODEC_FORMAT&#39;.</div>
<span class='iname_a'>opj_create_decompress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>p_format</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;p_format&#39; has base type &#39;enum CODEC_FORMAT&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_3')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> COLOR_SPACE <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_3" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Value of member <b>OPJ_CLRSPC_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615&#160;<span class='sym_p'>(&#160;<span class='nowrap'>-1 )</span></span></span>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_4')">
[+] affected symbols: 9 (18%)</span>
<div id="c_4" style="display:none;">
<div class='affected'><span class='iname_a'>opj_decode&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 3rd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_get_decoded_tile&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>OPJ_UINT32 <i>tile_index</i> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 3rd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_image_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_UINT32 <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
<div class='affect'>3rd parameter &#39;clrspc&#39; has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_image_destroy&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;image.color_space&#39; in 1st parameter &#39;image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_image_tile_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_UINT32 <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
<div class='affect'>3rd parameter &#39;clrspc&#39; has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_read_header&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t** <span class='fp'>p_image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 3rd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_set_decode_area&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>OPJ_INT32 <i>p_start_x</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_start_y</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_end_x</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_end_y</i> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 2nd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_cparameters_t* <i>parameters</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 3rd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_start_compress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 2nd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_5')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> PROG_ORDER <span class='failed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_5" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Value of member <b>OPJ_PROG_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615&#160;<span class='sym_p'>(&#160;<span class='nowrap'>-1 )</span></span></span>.</td>
<td>Applications may execute a wrong branch of code in the library and therefore change the behavior.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_6')">
[+] affected symbols: 5 (10%)</span>
<div id="c_6" style="display:none;">
<div class='affected'><span class='iname_a'>opj_destroy_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codestream_info_v2_t** <span class='fp'>cstr_info</span> )</span></span></span><br/>
<div class='affect'>Field &#39;cstr_info.m_default_tile_info.prg&#39; in 1st parameter &#39;cstr_info&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_get_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i> )</span></span></span><br/>
<div class='affect'>Field &#39;retval.m_default_tile_info.prg&#39; in return value (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_set_default_encoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC.prg&#39; in 1st parameter &#39;parameters&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_set_MCT&#160;<span class='sym_p'>(&#160;opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>OPJ_FLOAT32* <i>pEncodingMatrix</i>,</span> <span class='nowrap'>OPJ_INT32* <i>p_dc_shift</i>,</span> <span class='nowrap'>OPJ_UINT32 <i>pNbComp</i> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC.prg&#39; in 1st parameter &#39;parameters&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>p_image</i> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC.prg&#39; in 2nd parameter &#39;parameters&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
</div>
</div>
<br/><br/></div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='h_list'>
openjpeg.h<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Sources'></a><h2>Source Files <span class='gray'>&nbsp;4&nbsp;</span></h2><hr/>
<div class='h_list'>
cio.c<br/>
image.c<br/>
openjpeg.c<br/>
thread.c<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Libs'></a><h2>Objects <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='lib_list'>
libopenjp2.so.2.4.0<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
</div>
<br/><br/><br/>
<hr/>
<div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.21 &#160;</i>
</div>
<br/>
</body></html>

View File

@ -0,0 +1,8 @@
{
"Affected": "15",
"Added": 1,
"Removed": 0,
"TotalProblems": 3,
"Object1": "lib/libopenjp2.so.2.4.0",
"Object2": "lib/libopenjp2.so.2.5.0"
}

View File

@ -0,0 +1,317 @@
<!-- verdict:compatible;affected:0;added:0;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:1.99.21 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="libopenjp2, binary compatibility, API, report" />
<meta name="description" content="Binary compatibility report for the libopenjp2 object between 2.5.0 and current versions on x86_64" />
<title>libopenjp2: 2.5.0 to current binary compatibility report</title>
<style type="text/css">
body {
font-family:Arial, sans-serif;
background-color:White;
color:Black;
}
hr {
color:Black;
background-color:Black;
height:1px;
border:0;
}
h1 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.625em;
}
h2 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.25em;
white-space:nowrap;
}
span.section {
font-weight:bold;
cursor:pointer;
color:#003E69;
white-space:nowrap;
margin-left:5px;
}
span.new_sign {
font-weight:bold;
margin-left:26px;
color:#003E69;
}
span.new_sign_lbl {
margin-left:28px;
font-size:0.875em;
color:Black;
}
span:hover.section {
color:#336699;
}
span.sect_aff {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:#cc3300;
}
span.sect_info {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:Black;
}
span.ext {
font-weight:100;
}
span.h_name {
color:#cc3300;
font-size:0.875em;
font-weight:bold;
}
div.h_list, div.lib_list {
font-size:0.94em;
padding-left:5px;
}
span.ns {
color:#408080;
font-size:0.94em;
}
span.lib_name {
color:Green;
font-size:0.875em;
font-weight:bold;
}
span.iname {
font-weight:bold;
color:#003E69;
margin-left:5px;
}
span.iname_b {
font-weight:bold;
font-size:1.1em;
}
span.iname_a {
color:#333333;
font-weight:bold;
font-size:0.94em;
}
span.sym_p {
font-weight:normal;
white-space:normal;
}
div.affect {
padding-left:15px;
padding-bottom:10px;
font-size:0.87em;
font-style:italic;
line-height:0.75em;
}
div.affected {
padding-left:30px;
padding-top:10px;
}
table.ptable {
border-collapse:collapse;
border:1px outset black;
line-height:1em;
margin-left:15px;
margin-top:3px;
margin-bottom:3px;
width:900px;
}
table.ptable td {
border:1px solid gray;
padding: 3px;
font-size:0.875em;
text-align:left;
vertical-align:top;
}
table.vtable {
border-collapse:collapse;
border:1px outset black;
line-height:16px;
margin-left:30px;
margin-top:10px;
}
table.vtable td {
border:1px solid gray;
word-wrap:break-word;
padding: 3px;
font-size:0.875em;
max-width:450px;
vertical-align:top;
}
table.ptable th, table.vtable th {
background-color:#eeeeee;
font-weight:bold;
color:#333333;
font-family:Verdana, Arial;
font-size:0.81em;
border:1px solid gray;
text-align:center;
vertical-align:top;
white-space:nowrap;
padding: 3px;
}
table.summary {
border-collapse:collapse;
border:1px outset black;
}
table.summary th {
background-color:#eeeeee;
font-weight:100;
text-align:left;
font-size:0.94em;
white-space:nowrap;
border:1px inset gray;
padding: 3px;
}
table.summary td {
text-align:right;
white-space:nowrap;
border:1px inset gray;
padding: 3px 5px 3px 10px;
}
span.mangled {
padding-left:15px;
font-size:0.875em;
cursor:text;
color:#444444;
}
span.sym_ver {
color:#333333;
white-space:nowrap;
font-family:"DejaVu Sans Mono", Monospace;
}
span.attr {
color:#333333;
font-weight:100;
}
span.color_p {
font-style:italic;
color:Brown;
}
span.p {
font-style:italic;
}
span.fp {
font-style:italic;
background-color:#DCDCDC;
}
span.ttype {
font-weight:100;
}
span.nowrap {
white-space:nowrap;
}
span.value {
white-space:nowrap;
font-weight:bold;
}
.passed {
background-color:#CCFFCC;
}
.warning {
background-color:#F4F4AF;
}
.failed {
background-color:#FFCCCC;
}
.new {
background-color:#C6DEFF;
}
.compatible {
background-color:#CCFFCC;
}
.almost_compatible {
background-color:#FFDAA3;
}
.incompatible {
background-color:#FFCCCC;
}
.gray {
background-color:#DCDCDC;
}
.top_ref {
font-size:0.69em;
}
.footer {
font-size:0.75em;
}
</style>
<script type="text/javascript" language="JavaScript">
<!--
function showContent(header, id)
{
e = document.getElementById(id);
if(e.style.display == 'none')
{
e.style.display = 'block';
e.style.visibility = 'visible';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
}
else
{
e.style.display = 'none';
e.style.visibility = 'hidden';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
}
}
-->
</script>
</head>
<body>
<div><a name='Top'></a>
<h1>Binary compatibility report for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.5.0</span> and <span style='color:Red;'>current</span> versions on <span style='color:Blue;'>x86_64</span></h1>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Module Name</th><td>libopenjp2</td></tr>
<tr><th>Version #1</th><td>2.5.0</td></tr>
<tr><th>Version #2</th><td>current</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr>
<tr><th>GCC Version</th><td>9.4.0</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Symbols / Types</th><td>51 / 114</td></tr>
<tr><th>Compatibility</th>
<td class='compatible'>100%</td>
</tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr>
<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
</table>
<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='h_list'>
openjpeg.h<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Libs'></a><h2>Objects <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='lib_list'>
libopenjp2.so.2.5.0<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
</div>
<br/><br/><br/>
<hr/>
<div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.21 &#160;</i>
</div>
<br/>
</body></html>

View File

@ -0,0 +1,8 @@
{
"Affected": "0",
"Added": 0,
"Removed": 0,
"TotalProblems": 0,
"Object1": "lib/libopenjp2.so.2.5.0",
"Object2": "lib/libopenjp2.so.2.5.0"
}

View File

@ -0,0 +1,425 @@
<!-- verdict:compatible;affected:0;added:1;removed:0;type_problems_high:0;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;type_changes_other:3;tool_version:1.99.21 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="openjpeg, source compatibility, API, report" />
<meta name="description" content="Source compatibility report for the openjpeg object between 2.4.0 and 2.5.0 versions" />
<title>openjpeg: 2.4.0 to 2.5.0 source compatibility report</title>
<style type="text/css">
body {
font-family:Arial, sans-serif;
background-color:White;
color:Black;
}
hr {
color:Black;
background-color:Black;
height:1px;
border:0;
}
h1 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.625em;
}
h2 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.25em;
white-space:nowrap;
}
span.section {
font-weight:bold;
cursor:pointer;
color:#003E69;
white-space:nowrap;
margin-left:5px;
}
span.new_sign {
font-weight:bold;
margin-left:26px;
color:#003E69;
}
span.new_sign_lbl {
margin-left:28px;
font-size:0.875em;
color:Black;
}
span:hover.section {
color:#336699;
}
span.sect_aff {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:#cc3300;
}
span.sect_info {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:Black;
}
span.ext {
font-weight:100;
}
span.h_name {
color:#cc3300;
font-size:0.875em;
font-weight:bold;
}
div.h_list, div.lib_list {
font-size:0.94em;
padding-left:5px;
}
span.ns {
color:#408080;
font-size:0.94em;
}
span.lib_name {
color:Green;
font-size:0.875em;
font-weight:bold;
}
span.iname {
font-weight:bold;
color:#003E69;
margin-left:5px;
}
span.iname_b {
font-weight:bold;
font-size:1.1em;
}
span.iname_a {
color:#333333;
font-weight:bold;
font-size:0.94em;
}
span.sym_p {
font-weight:normal;
white-space:normal;
}
div.affect {
padding-left:15px;
padding-bottom:10px;
font-size:0.87em;
font-style:italic;
line-height:0.75em;
}
div.affected {
padding-left:30px;
padding-top:10px;
}
table.ptable {
border-collapse:collapse;
border:1px outset black;
line-height:1em;
margin-left:15px;
margin-top:3px;
margin-bottom:3px;
width:900px;
}
table.ptable td {
border:1px solid gray;
padding: 3px;
font-size:0.875em;
text-align:left;
vertical-align:top;
}
table.vtable {
border-collapse:collapse;
border:1px outset black;
line-height:16px;
margin-left:30px;
margin-top:10px;
}
table.vtable td {
border:1px solid gray;
word-wrap:break-word;
padding: 3px;
font-size:0.875em;
max-width:450px;
vertical-align:top;
}
table.ptable th, table.vtable th {
background-color:#eeeeee;
font-weight:bold;
color:#333333;
font-family:Verdana, Arial;
font-size:0.81em;
border:1px solid gray;
text-align:center;
vertical-align:top;
white-space:nowrap;
padding: 3px;
}
table.summary {
border-collapse:collapse;
border:1px outset black;
}
table.summary th {
background-color:#eeeeee;
font-weight:100;
text-align:left;
font-size:0.94em;
white-space:nowrap;
border:1px inset gray;
padding: 3px;
}
table.summary td {
text-align:right;
white-space:nowrap;
border:1px inset gray;
padding: 3px 5px 3px 10px;
}
span.mangled {
padding-left:15px;
font-size:0.875em;
cursor:text;
color:#444444;
}
span.sym_ver {
color:#333333;
white-space:nowrap;
font-family:"DejaVu Sans Mono", Monospace;
}
span.attr {
color:#333333;
font-weight:100;
}
span.color_p {
font-style:italic;
color:Brown;
}
span.p {
font-style:italic;
}
span.fp {
font-style:italic;
background-color:#DCDCDC;
}
span.ttype {
font-weight:100;
}
span.nowrap {
white-space:nowrap;
}
span.value {
white-space:nowrap;
font-weight:bold;
}
.passed {
background-color:#CCFFCC;
}
.warning {
background-color:#F4F4AF;
}
.failed {
background-color:#FFCCCC;
}
.new {
background-color:#C6DEFF;
}
.compatible {
background-color:#CCFFCC;
}
.almost_compatible {
background-color:#FFDAA3;
}
.incompatible {
background-color:#FFCCCC;
}
.gray {
background-color:#DCDCDC;
}
.top_ref {
font-size:0.69em;
}
.footer {
font-size:0.75em;
}
</style>
<script type="text/javascript" language="JavaScript">
<!--
function showContent(header, id)
{
e = document.getElementById(id);
if(e.style.display == 'none')
{
e.style.display = 'block';
e.style.visibility = 'visible';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[&minus;]");
}
else
{
e.style.display = 'none';
e.style.visibility = 'hidden';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
}
}
-->
</script>
</head>
<body>
<div><a name='Top'></a>
<h1>Source compatibility report for the <span style='color:Blue;'>libopenjp2.so</span> object between <span style='color:Red;'>2.4.0</span> and <span style='color:Red;'>2.5.0</span> versions</h1>
<h2>Test Info</h2><hr/>
<table class='summary'>
<tr><th>Module Name</th><td>openjpeg</td></tr>
<tr><th>Version #1</th><td>2.4.0 (gcc 4.8.5)</td></tr>
<tr><th>Version #2</th><td>2.5.0 (gcc 9.4.0)</td></tr>
<tr><th>CPU Type</th><td>x86_64</td></tr>
</table>
<h2>Test Results</h2><hr/>
<table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>4</a></td></tr>
<tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr>
<tr><th>Total Symbols / Types</th><td>50 / 114</td></tr>
<tr><th>Compatibility</th>
<td class='compatible'>100%</td>
</tr>
</table>
<h2>Problem Summary</h2><hr/>
<table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td class='new'><a href='#Added' style='color:Blue;'>1</a></td></tr>
<tr><th>Removed Symbols</th><td>High</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr>
<tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr>
<tr><td>Medium</td><td>0</td></tr>
<tr><td>Low</td><td>0</td></tr>
<tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr>
<tr><th>Other Changes<br/>in Data Types</th><td>-</td><td class='passed'><a href='#Other_Changes_In_Types' style='color:Blue;'>3</a></td></tr>
</table>
<a name='Added'></a><h2>Added Symbols <span class='new'>&nbsp;1&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span><br/>
<span class="iname">opj_decoder_set_strict_mode&#160;<span class='sym_p'>(&#160;opj_codec_t* <span class='color_p'>p_codec</span>, <span class='nowrap'>OPJ_BOOL <span class='color_p'>strict</span> )</span></span></span><br/>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Other_Changes'></a><a name='Other_Changes_In_Types'></a>
<h2>Other Changes in Data Types <span class='passed'>&nbsp;3&nbsp;</span></h2><hr/>
<span class='h_name'>openjpeg.h</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_1')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> CODEC_FORMAT <span class='passed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_1" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Value of member <b>OPJ_CODEC_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615&#160;<span class='sym_p'>(&#160;<span class='nowrap'>-1 )</span></span></span>.</td>
<td>No effect.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_2')">
[+] affected symbols: 2 (4%)</span>
<div id="c_2" style="display:none;">
<div class='affected'><span class='iname_a'>opj_create_compress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>p_format</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;p_format&#39; has base type &#39;enum CODEC_FORMAT&#39;.</div>
<span class='iname_a'>opj_create_decompress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_CODEC_FORMAT <span class='fp'>p_format</span> )</span></span></span><br/>
<div class='affect'>1st parameter &#39;p_format&#39; has base type &#39;enum CODEC_FORMAT&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_3')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> COLOR_SPACE <span class='passed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_3" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Value of member <b>OPJ_CLRSPC_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615&#160;<span class='sym_p'>(&#160;<span class='nowrap'>-1 )</span></span></span>.</td>
<td>No effect.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_4')">
[+] affected symbols: 9 (18%)</span>
<div id="c_4" style="display:none;">
<div class='affected'><span class='iname_a'>opj_decode&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 3rd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_get_decoded_tile&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>OPJ_UINT32 <i>tile_index</i> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 3rd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_image_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_UINT32 <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
<div class='affect'>3rd parameter &#39;clrspc&#39; has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_image_destroy&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_image_t* <span class='fp'>image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;image.color_space&#39; in 1st parameter &#39;image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_image_tile_create&#160;<span class='sym_p'>(&#160;<span class='nowrap'>OPJ_UINT32 <i>numcmpts</i>,</span> <span class='nowrap'>opj_image_cmptparm_t* <i>cmptparms</i>,</span> <span class='nowrap'>OPJ_COLOR_SPACE <span class='fp'>clrspc</span> )</span></span></span><br/>
<div class='affect'>3rd parameter &#39;clrspc&#39; has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_read_header&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_stream_t* <i>p_stream</i>,</span> <span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t** <span class='fp'>p_image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 3rd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_set_decode_area&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>OPJ_INT32 <i>p_start_x</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_start_y</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_end_x</i>,</span> <span class='nowrap'>OPJ_INT32 <i>p_end_y</i> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 2nd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_cparameters_t* <i>parameters</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 3rd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
<span class='iname_a'>opj_start_compress&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> <span class='nowrap'>opj_image_t* <span class='fp'>p_image</span>,</span> <span class='nowrap'>opj_stream_t* <i>p_stream</i> )</span></span></span><br/>
<div class='affect'>Field &#39;p_image.color_space&#39; in 2nd parameter &#39;p_image&#39; (pointer) has base type &#39;enum COLOR_SPACE&#39;.</div>
</div>
</div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_5')">
<span class='ext'>[+]</span> <span class='ttype'>enum</span> PROG_ORDER <span class='passed'>&nbsp;1&nbsp;</span></span>
<br/>
<div id="c_5" style="display:none;">
<table class='ptable'><tr>
<th width='2%'></th><th width='47%'>Change</th>
<th>Effect</th></tr><tr>
<th>1</th>
<td>Value of member <b>OPJ_PROG_UNKNOWN</b> has been changed from <b>-1</b> to <span class='iname_b'>18446744073709551615&#160;<span class='sym_p'>(&#160;<span class='nowrap'>-1 )</span></span></span>.</td>
<td>No effect.</td>
</tr>
</table>
<span class="sect_aff" onclick="javascript:showContent(this, 'c_6')">
[+] affected symbols: 5 (10%)</span>
<div id="c_6" style="display:none;">
<div class='affected'><span class='iname_a'>opj_destroy_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codestream_info_v2_t** <span class='fp'>cstr_info</span> )</span></span></span><br/>
<div class='affect'>Field &#39;cstr_info.m_default_tile_info.prg&#39; in 1st parameter &#39;cstr_info&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_get_cstr_info&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i> )</span></span></span><br/>
<div class='affect'>Field &#39;retval.m_default_tile_info.prg&#39; in return value (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_set_default_encoder_parameters&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_cparameters_t* <span class='fp'>parameters</span> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC.prg&#39; in 1st parameter &#39;parameters&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_set_MCT&#160;<span class='sym_p'>(&#160;opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>OPJ_FLOAT32* <i>pEncodingMatrix</i>,</span> <span class='nowrap'>OPJ_INT32* <i>p_dc_shift</i>,</span> <span class='nowrap'>OPJ_UINT32 <i>pNbComp</i> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC.prg&#39; in 1st parameter &#39;parameters&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
<span class='iname_a'>opj_setup_encoder&#160;<span class='sym_p'>(&#160;<span class='nowrap'>opj_codec_t* <i>p_codec</i>,</span> opj_cparameters_t* <span class='fp'>parameters</span>, <span class='nowrap'>opj_image_t* <i>p_image</i> )</span></span></span><br/>
<div class='affect'>Field &#39;parameters.POC.prg&#39; in 2nd parameter &#39;parameters&#39; (pointer) has base type &#39;enum PROG_ORDER&#39;.</div>
</div>
</div>
<br/><br/></div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Headers'></a><h2>Header Files <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='h_list'>
openjpeg.h<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Sources'></a><h2>Source Files <span class='gray'>&nbsp;4&nbsp;</span></h2><hr/>
<div class='h_list'>
cio.c<br/>
image.c<br/>
openjpeg.c<br/>
thread.c<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Libs'></a><h2>Objects <span class='gray'>&nbsp;1&nbsp;</span></h2><hr/>
<div class='lib_list'>
libopenjp2.so.2.4.0<br/>
</div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
</div>
<br/><br/><br/>
<hr/>
<div class='footer' align='right'><i>Generated by <a href='http://lvc.github.io/abi-compliance-checker/'>ABI Compliance Checker</a> 1.99.21 &#160;</i>
</div>
<br/>
</body></html>

View File

@ -16,7 +16,8 @@ $VAR1 = {
'2.2.0' => 'Off',
'2.3.0' => 'Off',
'2.3.1' => 'Off',
'2.4.0' => 'Off'
'2.4.0' => 'Off',
'2.5.0' => 'Off'
},
'Installed' => {
'1.1' => 'installed/openjpeg/1.1',
@ -34,8 +35,10 @@ $VAR1 = {
'2.3.0' => 'installed/openjpeg/2.3.0',
'2.3.1' => 'installed/openjpeg/2.3.1',
'2.4.0' => 'installed/openjpeg/2.4.0',
'2.5.0' => 'installed/openjpeg/2.5.0',
'current' => 'installed/openjpeg/current'
},
'ScmUpdateTime' => '1652463409',
'Source' => {
'1.0' => 'src/openjpeg/1.0/version.1.0.tar.gz',
'1.1' => 'src/openjpeg/1.1/version.1.1.tar.gz',
@ -54,6 +57,7 @@ $VAR1 = {
'2.3.0' => 'src/openjpeg/2.3.0/version.-2.3.0.tar.gz',
'2.3.1' => 'src/openjpeg/2.3.1/version.-2.3.1.tar.gz',
'2.4.0' => 'src/openjpeg/2.4.0/version.-2.4.0.tar.gz',
'2.5.0' => 'src/openjpeg/2.5.0/version.-2.5.0.tar.gz',
'current' => 'src/openjpeg/current'
}
};

View File

@ -150,12 +150,22 @@ $VAR1 = {
'Version' => '1.7'
}
},
'2.5.0' => {
'f3fd9' => {
'Lang' => 'C',
'Object' => 'lib/libopenjp2.so.2.5.0',
'Path' => 'abi_dump/openjpeg/2.5.0/f3fd9/ABI.dump',
'TotalSymbols' => '51',
'TotalSymbolsFiltered' => '51',
'Version' => '1.7'
}
},
'current' => {
'f3fd9' => {
'Lang' => 'C',
'Object' => 'lib/libopenjp2.so.2.5.0',
'Path' => 'abi_dump/openjpeg/current/f3fd9/ABI.dump',
'TotalSymbols' => '50',
'TotalSymbols' => '51',
'Version' => '1.7'
}
}
@ -438,6 +448,19 @@ $VAR1 = {
}
},
'2.4.0' => {
'2.5.0' => {
'Added' => 1,
'BC' => 85,
'ChangedSoname' => 0,
'ObjectsAdded' => 0,
'ObjectsAddedSymbols' => 0,
'ObjectsRemoved' => 0,
'ObjectsRemovedSymbols' => 0,
'Path' => 'objects_report/openjpeg/2.4.0/2.5.0/report.html',
'Removed' => 0,
'TotalObjects' => 1,
'TotalProblems' => 3
},
'current' => {
'Added' => 0,
'BC' => 100,
@ -451,6 +474,21 @@ $VAR1 = {
'TotalObjects' => 1,
'TotalProblems' => 0
}
},
'2.5.0' => {
'current' => {
'Added' => 0,
'BC' => 100,
'ChangedSoname' => 0,
'ObjectsAdded' => 0,
'ObjectsAddedSymbols' => 0,
'ObjectsRemoved' => 0,
'ObjectsRemovedSymbols' => 0,
'Path' => 'objects_report/openjpeg/2.5.0/current/report.html',
'Removed' => 0,
'TotalObjects' => 1,
'TotalProblems' => 0
}
}
},
'ABIReport_D' => {
@ -719,6 +757,17 @@ $VAR1 = {
}
},
'2.4.0' => {
'2.5.0' => {
'c6917' => {
'Added' => 1,
'Affected' => 15,
'Object1' => 'lib/libopenjp2.so.2.4.0',
'Object2' => 'lib/libopenjp2.so.2.5.0',
'Path' => 'compat_report/openjpeg/2.4.0/2.5.0/c6917/abi_compat_report.html',
'Removed' => 0,
'TotalProblems' => 3
}
},
'current' => {
'c6917' => {
'Added' => 0,
@ -730,6 +779,19 @@ $VAR1 = {
'TotalProblems' => 0
}
}
},
'2.5.0' => {
'current' => {
'b7dce' => {
'Added' => 0,
'Affected' => 0,
'Object1' => 'lib/libopenjp2.so.2.5.0',
'Object2' => 'lib/libopenjp2.so.2.5.0',
'Path' => 'compat_report/openjpeg/2.5.0/current/b7dce/abi_compat_report.html',
'Removed' => 0,
'TotalProblems' => 0
}
}
}
},
'ABIView' => {},
@ -749,6 +811,8 @@ $VAR1 = {
'2.1.2' => 'changelog/openjpeg/2.1.2/log.html',
'2.2.0' => 'changelog/openjpeg/2.2.0/log.html',
'2.3.0' => 'changelog/openjpeg/2.3.0/log.html',
'2.4.0' => 'changelog/openjpeg/2.4.0/log.html',
'2.5.0' => 'changelog/openjpeg/2.5.0/log.html',
'current' => 'changelog/openjpeg/current/log.html'
},
'Date' => {
@ -768,7 +832,8 @@ $VAR1 = {
'2.3.0' => '2017-10-04 22:23',
'2.3.1' => '2019-04-02 10:08',
'2.4.0' => '2020-12-28 20:59',
'current' => '2021-06-09 11:53:56'
'2.5.0' => '2022-05-13 18:54',
'current' => '2022-05-13 19:13:11'
},
'HeadersDiff' => {
'1.1' => {
@ -877,16 +942,26 @@ $VAR1 = {
}
},
'2.4.0' => {
'2.5.0' => {
'Path' => 'headers_diff/openjpeg/2.4.0/2.5.0/diff.html',
'Total' => 2
},
'current' => {
'Path' => 'headers_diff/openjpeg/2.4.0/current/diff.html',
'Total' => 2
}
},
'2.5.0' => {
'current' => {
'Path' => 'headers_diff/openjpeg/2.5.0/current/diff.html',
'Total' => 0
}
}
},
'Maintainer' => 'OpenJPEG team',
'MaintainerUrl' => 'http://www.openjpeg.org/',
'PackageDiff' => {},
'ScmUpdateTime' => '1623232683',
'ScmUpdateTime' => '1652463409',
'Soname' => {
'1.1' => {
'lib/libopenjpeg.so' => 'libopenjpeg.so'
@ -933,6 +1008,9 @@ $VAR1 = {
'2.4.0' => {
'lib/libopenjp2.so.2.4.0' => 'libopenjp2.so.7'
},
'2.5.0' => {
'lib/libopenjp2.so.2.5.0' => 'libopenjp2.so.7'
},
'current' => {
'lib/libopenjp2.so.2.5.0' => 'libopenjp2.so.7'
}
@ -953,6 +1031,7 @@ $VAR1 = {
'2.3.0' => '7',
'2.3.1' => '7',
'2.4.0' => '7',
'2.5.0' => '7',
'current' => '7'
},
'Title' => 'OpenJPEG'

View File

@ -0,0 +1,307 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="OpenJPEG, header, diff" />
<meta name="description" content="Diff for header files between 2.4.0 and 2.5.0 versions of openjpeg" />
<link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
<link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
<title>
OpenJPEG: headers diff between 2.4.0 and 2.5.0 versions
</title>
</head>
<body>
<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
<br/>
<br/>
<h1>Headers diff: <span class='version'>2.4.0</span> vs <span class='version'>2.5.0</span></h1><br/><br/>
<table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
<tr id="part-1" bgcolor="orange"><th></th><th>&nbsp;openjpeg.h (2.4.0)&nbsp;</th><th> </th><th>&nbsp;openjpeg.h (2.5.0)&nbsp;</th><th></th></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-1" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-1"><em> line 78<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-1"><em> line 78<span class="hide"> &para;</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left">/* deprecated attribute */</td><td> </td><td class="right">/* deprecated attribute */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#ifdef __GNUC__</td><td> </td><td class="right">#ifdef __GNUC__</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))</td><td> </td><td class="right">#define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#elif defined(_MSC_VER)</td><td> </td><td class="right">#elif defined(_MSC_VER)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#define OPJ_DEPRECATED(func) __declspec(deprecated) func</td><td> </td><td class="right">#define OPJ_DEPRECATED(func) __declspec(deprecated) func</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#else</td><td> </td><td class="right">#else</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#pragma message("WARNING: You need to implement DEPRECATED for this compile
r")</td><td> </td><td class="right">#pragma message("WARNING: You need to implement DEPRECATED for this compile
r")</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#define OPJ_DEPRECATED(func) func</td><td> </td><td class="right">#define OPJ_DEPRECATED(func) func</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#endif</td><td> </td><td class="right">#endif</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0001"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#if defined(__GNUC__) &amp;&amp; __GNUC__ &gt;= 6</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) __attribute__ ((deprecated(</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">msg))) memb</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#else</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) memb</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">#endif</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#if defined(OPJ_STATIC) || !defined(_WIN32)</td><td> </td><td class="right">#if defined(OPJ_STATIC) || !defined(_WIN32)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/* http://gcc.gnu.org/wiki/Visibility */</td><td> </td><td class="right">/* http://gcc.gnu.org/wiki/Visibility */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"># if !defined(_WIN32) &amp;&amp; __GNUC__ &gt;= 4</td><td> </td><td class="right"># if !defined(_WIN32) &amp;&amp; __GNUC__ &gt;= 4</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"># if defined(OPJ_STATIC) /* static library uses "hidden" */</td><td> </td><td class="right"># if defined(OPJ_STATIC) /* static library uses "hidden" */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"># define OPJ_API __attribute__ ((visibility ("hidden")))</td><td> </td><td class="right"># define OPJ_API __attribute__ ((visibility ("hidden")))</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"># else</td><td> </td><td class="right"># else</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"># define OPJ_API __attribute__ ((visibility ("default")))</td><td> </td><td class="right"># define OPJ_API __attribute__ ((visibility ("default")))</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"># endif</td><td> </td><td class="right"># endif</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"># define OPJ_LOCAL __attribute__ ((visibility ("hidden")))</td><td> </td><td class="right"># define OPJ_LOCAL __attribute__ ((visibility ("hidden")))</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"># else</td><td> </td><td class="right"># else</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-2" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-2"><em> line 450<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-2"><em> line 456<span class="hide"> &para;</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> int prcw_init[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="right"> int prcw_init[OPJ_J2K_MAXRLVLS];</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** initial precinct height */</td><td> </td><td class="right"> /** initial precinct height */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> int prch_init[OPJ_J2K_MAXRLVLS];</td><td> </td><td class="right"> int prch_init[OPJ_J2K_MAXRLVLS];</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /**@name command line encoder parameters (not used inside the library)
*/</td><td> </td><td class="right"> /**@name command line encoder parameters (not used inside the library)
*/</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /*@{*/</td><td> </td><td class="right"> /*@{*/</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** input file name */</td><td> </td><td class="right"> /** input file name */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> char infile[OPJ_PATH_LEN];</td><td> </td><td class="right"> char infile[OPJ_PATH_LEN];</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** output file name */</td><td> </td><td class="right"> /** output file name */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> char outfile[OPJ_PATH_LEN];</td><td> </td><td class="right"> char outfile[OPJ_PATH_LEN];</td><td class="lineno"></td></tr>
<tr id="diff0002"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> /** DEPRECATED. Index generation is now hand<span class="delete">el</span>d with the opj_encode_wit
h_info() function. Set to NULL */</td><td> </td><td class="rblock"> /** DEPRECATED. Index generation is now hand<span class="insert">le</span>d with the opj_encode_wit
h_info() function. Set to NULL */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> int index_on;</td><td> </td><td class="right"> int index_on;</td><td class="lineno"></td></tr>
<tr id="diff0003"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> /** DEPRECATED. Index generation is now hand<span class="delete">el</span>d with the opj_encode_wit
h_info() function. Set to NULL */</td><td> </td><td class="rblock"> /** DEPRECATED. Index generation is now hand<span class="insert">le</span>d with the opj_encode_wit
h_info() function. Set to NULL */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> char index[OPJ_PATH_LEN];</td><td> </td><td class="right"> char index[OPJ_PATH_LEN];</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** subimage encoding: origin image offset in x direction */</td><td> </td><td class="right"> /** subimage encoding: origin image offset in x direction */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> int image_offset_x0;</td><td> </td><td class="right"> int image_offset_x0;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** subimage encoding: origin image offset in y direction */</td><td> </td><td class="right"> /** subimage encoding: origin image offset in y direction */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> int image_offset_y0;</td><td> </td><td class="right"> int image_offset_y0;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** subsampling value for dx */</td><td> </td><td class="right"> /** subsampling value for dx */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> int subsampling_dx;</td><td> </td><td class="right"> int subsampling_dx;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** subsampling value for dy */</td><td> </td><td class="right"> /** subsampling value for dy */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> int subsampling_dy;</td><td> </td><td class="right"> int subsampling_dy;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/</td><td> </td><td class="right"> /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-3" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-3"><em> line 681<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-3"><em> line 687<span class="hide"> &para;</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> /** YRsiz: vertical separation of a sample of ith component with respec
t to the reference grid */</td><td> </td><td class="right"> /** YRsiz: vertical separation of a sample of ith component with respec
t to the reference grid */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 dy;</td><td> </td><td class="right"> OPJ_UINT32 dy;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** data width */</td><td> </td><td class="right"> /** data width */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 w;</td><td> </td><td class="right"> OPJ_UINT32 w;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** data height */</td><td> </td><td class="right"> /** data height */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 h;</td><td> </td><td class="right"> OPJ_UINT32 h;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** x component offset compared to the whole image */</td><td> </td><td class="right"> /** x component offset compared to the whole image */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 x0;</td><td> </td><td class="right"> OPJ_UINT32 x0;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** y component offset compared to the whole image */</td><td> </td><td class="right"> /** y component offset compared to the whole image */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 y0;</td><td> </td><td class="right"> OPJ_UINT32 y0;</td><td class="lineno"></td></tr>
<tr id="diff0004"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> /** precision */</td><td> </td><td class="rblock"> /** precision<span class="insert">: number of bits per component per pixel</span> */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 prec;</td><td> </td><td class="right"> OPJ_UINT32 prec;</td><td class="lineno"></td></tr>
<tr id="diff0005"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> /** <span class="delete">image depth in bits</span> */</td><td> </td><td class="rblock"> /** <span class="insert">obsolete: use prec instead</span> */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">OPJ_UINT32 bpp;</span></td><td> </td><td class="rblock"> <span class="insert">OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** signed (1) / unsigned (0) */</td><td> </td><td class="right"> /** signed (1) / unsigned (0) */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 sgnd;</td><td> </td><td class="right"> OPJ_UINT32 sgnd;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** number of decoded resolution */</td><td> </td><td class="right"> /** number of decoded resolution */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 resno_decoded;</td><td> </td><td class="right"> OPJ_UINT32 resno_decoded;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** number of division by 2 of the out image compared to the original s
ize of image */</td><td> </td><td class="right"> /** number of division by 2 of the out image compared to the original s
ize of image */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 factor;</td><td> </td><td class="right"> OPJ_UINT32 factor;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** image component data */</td><td> </td><td class="right"> /** image component data */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_INT32 *data;</td><td> </td><td class="right"> OPJ_INT32 *data;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** alpha channel */</td><td> </td><td class="right"> /** alpha channel */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT16 alpha;</td><td> </td><td class="right"> OPJ_UINT16 alpha;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-4" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-4"><em> line 737<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-4"><em> line 743<span class="hide"> &para;</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> /** YRsiz: vertical separation of a sample of ith component with respec
t to the reference grid */</td><td> </td><td class="right"> /** YRsiz: vertical separation of a sample of ith component with respec
t to the reference grid */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 dy;</td><td> </td><td class="right"> OPJ_UINT32 dy;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** data width */</td><td> </td><td class="right"> /** data width */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 w;</td><td> </td><td class="right"> OPJ_UINT32 w;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** data height */</td><td> </td><td class="right"> /** data height */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 h;</td><td> </td><td class="right"> OPJ_UINT32 h;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** x component offset compared to the whole image */</td><td> </td><td class="right"> /** x component offset compared to the whole image */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 x0;</td><td> </td><td class="right"> OPJ_UINT32 x0;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** y component offset compared to the whole image */</td><td> </td><td class="right"> /** y component offset compared to the whole image */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 y0;</td><td> </td><td class="right"> OPJ_UINT32 y0;</td><td class="lineno"></td></tr>
<tr id="diff0006"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> /** precision */</td><td> </td><td class="rblock"> /** precision<span class="insert">: number of bits per component per pixel</span> */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 prec;</td><td> </td><td class="right"> OPJ_UINT32 prec;</td><td class="lineno"></td></tr>
<tr id="diff0007"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> /** <span class="delete">image depth in bits</span> */</td><td> </td><td class="rblock"> /** <span class="insert">obsolete: use prec instead</span> */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">OPJ_UINT32 bpp;</span></td><td> </td><td class="rblock"> <span class="insert">OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> /** signed (1) / unsigned (0) */</td><td> </td><td class="right"> /** signed (1) / unsigned (0) */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 sgnd;</td><td> </td><td class="right"> OPJ_UINT32 sgnd;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">} opj_image_cmptparm_t;</td><td> </td><td class="right">} opj_image_cmptparm_t;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/*</td><td> </td><td class="right">/*</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Information on the JPEG 2000 codestream</td><td> </td><td class="right"> Information on the JPEG 2000 codestream</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">==========================================================</td><td> </td><td class="right">==========================================================</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">*/</td><td> </td><td class="right">*/</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/* QUITE EXPERIMENTAL FOR THE MOMENT */</td><td> </td><td class="right">/* QUITE EXPERIMENTAL FOR THE MOMENT */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-5" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-5"><em> line 1333<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-5"><em> line 1339<span class="hide"> &para;</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param p_codec decompressor handler</td><td> </td><td class="right"> * @param p_codec decompressor handler</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param parameters decompression parameters</td><td> </td><td class="right"> * @param parameters decompression parameters</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @return true if the decoder is correctly set</td><td> </td><td class="right"> * @return true if the decoder is correctly set</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> opj_dparameters_t *parameters);</td><td> </td><td class="right"> opj_dparameters_t *parameters);</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
<tr id="diff0008"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">* Set strict decoding parameter for this decoder. If strict decoding is e</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">nabled, partial bit</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * streams will fail to decode. If strict decoding is disabled, the decode</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">r will decode partial</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * bitstreams as much as possible without erroring</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param p_codec decompressor handler</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @param strict OPJ_TRUE to enable strict decoding, OPJ_FALSE to di</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">sable</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> *</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * @return true if the decoder is correctly set</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> */</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decoder_set_strict_mode(opj_codec_t *p_co</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">dec,</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> OPJ_BOOL strict);</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">/**</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * Allocates worker threads for the compressor/decompressor.</td><td> </td><td class="right"> * Allocates worker threads for the compressor/decompressor.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * By default, only the main thread is used. If this function is not used,</td><td> </td><td class="right"> * By default, only the main thread is used. If this function is not used,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * but the OPJ_NUM_THREADS environment variable is set, its value will be</td><td> </td><td class="right"> * but the OPJ_NUM_THREADS environment variable is set, its value will be</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * used to initialize the number of threads. The value can be either an int
eger</td><td> </td><td class="right"> * used to initialize the number of threads. The value can be either an int
eger</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is ca
lled,</td><td> </td><td class="right"> * number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is ca
lled,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * this function will override the behaviour of the environment variable.</td><td> </td><td class="right"> * this function will override the behaviour of the environment variable.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * This function must be called after opj_setup_decoder() and</td><td> </td><td class="right"> * This function must be called after opj_setup_decoder() and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * before opj_read_header() for the decoding side, or after opj_setup_encod
er()</td><td> </td><td class="right"> * before opj_read_header() for the decoding side, or after opj_setup_encod
er()</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-6" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-6"><em> line 1439<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-6"><em> line 1459<span class="hide"> &para;</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> * @return true if success, otherwise false</td><td> </td><td class="right"> * @return true if success, otherwise false</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * */</td><td> </td><td class="right"> * */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode(opj_codec_t *p_decompressor,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode(opj_codec_t *p_decompressor,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> opj_stream_t *p_stream,</td><td> </td><td class="right"> opj_stream_t *p_stream,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> opj_image_t *p_image);</td><td> </td><td class="right"> opj_image_t *p_image);</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * Get the decoded tile from the codec</td><td> </td><td class="right"> * Get the decoded tile from the codec</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param p_codec the jpeg2000 codec.</td><td> </td><td class="right"> * @param p_codec the jpeg2000 codec.</td><td class="lineno"></td></tr>
<tr id="diff0009"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> * @param p_stream input stream<span class="delete">m</span></td><td> </td><td class="rblock"> * @param p_stream input stream</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param p_image output image</td><td> </td><td class="right"> * @param p_image output image</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param tile_index index of the tile which will be decode</td><td> </td><td class="right"> * @param tile_index index of the tile which will be decode</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @return true if success, otherwise false</td><td> </td><td class="right"> * @return true if success, otherwise false</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_get_decoded_tile(opj_codec_t *p_codec,</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_get_decoded_tile(opj_codec_t *p_codec,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> opj_stream_t *p_stream,</td><td> </td><td class="right"> opj_stream_t *p_stream,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> opj_image_t *p_image,</td><td> </td><td class="right"> opj_image_t *p_image,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> OPJ_UINT32 tile_index);</td><td> </td><td class="right"> OPJ_UINT32 tile_index);</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-7" class="change" ><td></td><th><small>skipping to change at</small><a href="#part-7"><em> line 1583<span class="hide"> &para;</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="#part-7"><em> line 1603<span class="hide"> &para;</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * This may be called after opj_setup_encoder() and before opj_start_compre
ss()</td><td> </td><td class="right"> * This may be called after opj_setup_encoder() and before opj_start_compre
ss()</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * This is the way to add new options in a fully ABI compatible way, withou
t</td><td> </td><td class="right"> * This is the way to add new options in a fully ABI compatible way, withou
t</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * extending the opj_cparameters_t structure.</td><td> </td><td class="right"> * extending the opj_cparameters_t structure.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * Currently supported options are:</td><td> </td><td class="right"> * Currently supported options are:</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * &lt;ul&gt;</td><td> </td><td class="right"> * &lt;ul&gt;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * &lt;li&gt;PLT=YES/NO. Defaults to NO. If set to YES, PLT marker segments,</td><td> </td><td class="right"> * &lt;li&gt;PLT=YES/NO. Defaults to NO. If set to YES, PLT marker segments,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * indicating the length of each packet in the tile-part header, will b
e</td><td> </td><td class="right"> * indicating the length of each packet in the tile-part header, will b
e</td><td class="lineno"></td></tr>
<tr id="diff0010"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> * written. Since <span class="delete">2.3.2&lt;/li&gt;</span></td><td> </td><td class="rblock"> * written. Since <span class="insert">2.4.0&lt;/li&gt;</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * &lt;li&gt;TLM=YES/NO. Defaults to NO (except for Cinema and IMF profiles).</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * If set to YES, TLM marker segments, indicating the length of each</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * tile-part part will be written. Since 2.4.0&lt;/li&gt;</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * &lt;li&gt;GUARD_BITS=value. Number of guard bits in [0,7] range. Default value</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> is 2.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * 1 may be used sometimes (like in SMPTE DCP Bv2.1 Application Profile</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> for 2K images).</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> * Since 2.5.0&lt;/li&gt;</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * &lt;/ul&gt;</td><td> </td><td class="right"> * &lt;/ul&gt;</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param p_codec Compressor handle</td><td> </td><td class="right"> * @param p_codec Compressor handle</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param p_options Compression options. This should be a NULL terminat
ed</td><td> </td><td class="right"> * @param p_options Compression options. This should be a NULL terminat
ed</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * array of strings. Each string is of the form KEY=VA
LUE.</td><td> </td><td class="right"> * array of strings. Each string is of the form KEY=VA
LUE.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> *</td><td> </td><td class="right"> *</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @return OPJ_TRUE in case of success.</td><td> </td><td class="right"> * @return OPJ_TRUE in case of success.</td><td class="lineno"></td></tr>
<tr id="diff0011"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> * @since 2.<span class="delete">3.2</span></td><td> </td><td class="rblock"> * @since 2.<span class="insert">4.0</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> */</td><td> </td><td class="right"> */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encoder_set_extra_options(</td><td> </td><td class="right">OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encoder_set_extra_options(</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> opj_codec_t *p_codec,</td><td> </td><td class="right"> opj_codec_t *p_codec,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> const char* const* p_options);</td><td> </td><td class="right"> const char* const* p_options);</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/**</td><td> </td><td class="right">/**</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * Start to compress the current image.</td><td> </td><td class="right"> * Start to compress the current image.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param p_codec Compressor handle</td><td> </td><td class="right"> * @param p_codec Compressor handle</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param p_image Input filled image</td><td> </td><td class="right"> * @param p_image Input filled image</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> * @param p_stream Input stgream</td><td> </td><td class="right"> * @param p_stream Input stgream</td><td class="lineno"></td></tr>
<tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
<tr id="end" bgcolor="gray"><th colspan="5" align="center">&nbsp;End of changes. 11 change blocks.&nbsp;</th></tr>
<tr class="stats"><td></td><th><i>11 lines changed or deleted</i></th><th><i> </i></th><th><i>44 lines changed or added</i></th><td></td></tr>
<tr><td colspan="5" align="center" class="small"></td></tr>
</table>
<br/><br/>
<table class='diff_tbl' border="0" cellpadding="0" cellspacing="0">
<tr id="part-1" bgcolor="orange"><th></th><th>&nbsp;opj_config.h (2.4.0)&nbsp;</th><th> </th><th>&nbsp;opj_config.h (2.5.0)&nbsp;</th><th></th></tr>
<tr><td class="lineno"></td><td class="left">/* create opj_config.h for CMake */</td><td> </td><td class="right">/* create opj_config.h for CMake */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#define OPJ_HAVE_STDINT_H 1</td><td> </td><td class="right">#define OPJ_HAVE_STDINT_H 1</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/*-------------------------------------------------------------------------
-*/</td><td> </td><td class="right">/*-------------------------------------------------------------------------
-*/</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/* OpenJPEG Versioning
*/</td><td> </td><td class="right">/* OpenJPEG Versioning
*/</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">/* Version number. */</td><td> </td><td class="right">/* Version number. */</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#define OPJ_VERSION_MAJOR 2</td><td> </td><td class="right">#define OPJ_VERSION_MAJOR 2</td><td class="lineno"></td></tr>
<tr id="diff0001"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock">#define OPJ_VERSION_MINOR <span class="delete">4</span></td><td> </td><td class="rblock">#define OPJ_VERSION_MINOR <span class="insert">5</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">#define OPJ_VERSION_BUILD 0</td><td> </td><td class="right">#define OPJ_VERSION_BUILD 0</td><td class="lineno"></td></tr>
<tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
<tr id="end" bgcolor="gray"><th colspan="5" align="center">&nbsp;End of changes. 1 change blocks.&nbsp;</th></tr>
<tr class="stats"><td></td><th><i>1 lines changed or deleted</i></th><th><i> </i></th><th><i>1 lines changed or added</i></th><td></td></tr>
<tr><td colspan="5" align="center" class="small"></td></tr>
</table>
<br/><div style='width:100%;' align='left' class='small'>This html diff was produced by rfcdiff 1.41.The latest version is available from <a href='http://tools.ietf.org/tools/rfcdiff/'>http://tools.ietf.org/tools/rfcdiff/</a></div>
</td></tr></table>
</body>
</html>

View File

@ -0,0 +1,3 @@
{
"Total": 2
}

View File

@ -0,0 +1,24 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="OpenJPEG, header, diff" />
<meta name="description" content="Diff for header files between 2.5.0 and current versions of openjpeg" />
<link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
<link rel="stylesheet" type="text/css" href="../../../../css/headers_diff.css" />
<title>
OpenJPEG: headers diff between 2.5.0 and current versions
</title>
</head>
<body>
<table width='100%' cellpadding='0' cellspacing='0'><tr><td><table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
<br/>
<br/>
<h1>Headers diff: <span class='version'>2.5.0</span> vs <span class='version'>current</span></h1><br/><br/><br/><div style='width:100%;' align='left' class='small'>This html diff was produced by rfcdiff 1.41.The latest version is available from <a href='http://tools.ietf.org/tools/rfcdiff/'>http://tools.ietf.org/tools/rfcdiff/</a></div>
</td></tr></table>
</body>
</html>

View File

@ -0,0 +1,3 @@
{
"Total": 0
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
/* create opj_config.h for CMake */
#define OPJ_HAVE_STDINT_H 1
/*--------------------------------------------------------------------------*/
/* OpenJPEG Versioning */
/* Version number. */
#define OPJ_VERSION_MAJOR 2
#define OPJ_VERSION_MINOR 5
#define OPJ_VERSION_BUILD 0

View File

@ -0,0 +1,52 @@
/*
* The copyright in this software is being made available under the 2-clauses
* BSD License, included below. This software may be subject to other third
* party and contributor rights, including patent rights, and no such rights
* are granted under this license.
*
* Copyright (c) 2012, Mathieu Malaterre <mathieu.malaterre@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef OPJ_STDINT_H
#define OPJ_STDINT_H
#include "opj_config.h"
#ifdef OPJ_HAVE_STDINT_H
#include <stdint.h>
#else
#if defined(_WIN32)
typedef signed __int8 int8_t;
typedef unsigned __int8 uint8_t;
typedef signed __int16 int16_t;
typedef unsigned __int16 uint16_t;
typedef signed __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
#else
#error unsupported platform
#endif
#endif
#endif /* OPJ_STDINT_H */

Binary file not shown.

View File

@ -0,0 +1 @@
libopenjp2.so.7

View File

@ -0,0 +1 @@
libopenjp2.so.2.5.0

View File

@ -0,0 +1,53 @@
#-----------------------------------------------------------------------------
#
# OPENJPEGConfig.cmake - CMake configuration file for external projects.
#
# This file is configured by OPENJPEG and used by the UseOPENJPEG.cmake
# module to load OPENJPEG's settings for an external project.
# The OPENJPEG version number.
set(OPENJPEG_MAJOR_VERSION "2")
set(OPENJPEG_MINOR_VERSION "5")
set(OPENJPEG_BUILD_VERSION "0")
# The libraries.
set(OPENJPEG_LIBRARIES "openjp2")
# The CMake macros dir.
set(OPENJPEG_CMAKE_DIR "lib/openjpeg-2.5")
# The configuration options.
set(OPENJPEG_BUILD_SHARED_LIBS "ON")
# The "use" file.
set(OPENJPEG_USE_FILE "")
get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
# This is an install tree
include(${SELF_DIR}/OpenJPEGTargets.cmake)
# We find a relative path from the PKG directory to header files.
set(PKG_DIR "/home/even/abi-check/work/abi-check/installed/openjpeg/2.5.0/lib/openjpeg-2.5")
set(INC_DIR "/home/even/abi-check/work/abi-check/installed/openjpeg/2.5.0/include/openjpeg-2.5")
file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}")
get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" REALPATH)
else()
if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake)
# This is a build tree
set( OPENJPEG_INCLUDE_DIRS )
include(${SELF_DIR}/OpenJPEGExports.cmake)
else()
message(FATAL_ERROR "ooops")
endif()
endif()
set(OPENJPEG_USE_FILE ${SELF_DIR}/UseOPENJPEG.cmake)
# Backward compatible part:
set(OPENJPEG_FOUND TRUE)

View File

@ -0,0 +1,57 @@
#----------------------------------------------------------------
# Generated CMake target import file for configuration "Debug".
#----------------------------------------------------------------
# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)
# Import target "openjp2" for configuration "Debug"
set_property(TARGET openjp2 APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(openjp2 PROPERTIES
IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG "m;-lpthread"
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.5.0"
IMPORTED_SONAME_DEBUG "libopenjp2.so.7"
)
list(APPEND _IMPORT_CHECK_TARGETS openjp2 )
list(APPEND _IMPORT_CHECK_FILES_FOR_openjp2 "${_IMPORT_PREFIX}/lib/libopenjp2.so.2.5.0" )
# Import target "openjp2_static" for configuration "Debug"
set_property(TARGET openjp2_static APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(openjp2_static PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libopenjp2.a"
)
list(APPEND _IMPORT_CHECK_TARGETS openjp2_static )
list(APPEND _IMPORT_CHECK_FILES_FOR_openjp2_static "${_IMPORT_PREFIX}/lib/libopenjp2.a" )
# Import target "opj_decompress" for configuration "Debug"
set_property(TARGET opj_decompress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(opj_decompress PROPERTIES
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_decompress"
)
list(APPEND _IMPORT_CHECK_TARGETS opj_decompress )
list(APPEND _IMPORT_CHECK_FILES_FOR_opj_decompress "${_IMPORT_PREFIX}/bin/opj_decompress" )
# Import target "opj_compress" for configuration "Debug"
set_property(TARGET opj_compress APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(opj_compress PROPERTIES
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_compress"
)
list(APPEND _IMPORT_CHECK_TARGETS opj_compress )
list(APPEND _IMPORT_CHECK_FILES_FOR_opj_compress "${_IMPORT_PREFIX}/bin/opj_compress" )
# Import target "opj_dump" for configuration "Debug"
set_property(TARGET opj_dump APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(opj_dump PROPERTIES
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/opj_dump"
)
list(APPEND _IMPORT_CHECK_TARGETS opj_dump )
list(APPEND _IMPORT_CHECK_FILES_FOR_opj_dump "${_IMPORT_PREFIX}/bin/opj_dump" )
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)

View File

@ -0,0 +1,109 @@
# Generated by CMake
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
message(FATAL_ERROR "CMake >= 2.6.0 required")
endif()
cmake_policy(PUSH)
cmake_policy(VERSION 2.6)
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------
# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
set(_targetsDefined)
set(_targetsNotDefined)
set(_expectedTargets)
foreach(_expectedTarget openjp2 openjp2_static opj_decompress opj_compress opj_dump)
list(APPEND _expectedTargets ${_expectedTarget})
if(NOT TARGET ${_expectedTarget})
list(APPEND _targetsNotDefined ${_expectedTarget})
endif()
if(TARGET ${_expectedTarget})
list(APPEND _targetsDefined ${_expectedTarget})
endif()
endforeach()
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
unset(_targetsDefined)
unset(_targetsNotDefined)
unset(_expectedTargets)
set(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)
return()
endif()
if(NOT "${_targetsDefined}" STREQUAL "")
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
endif()
unset(_targetsDefined)
unset(_targetsNotDefined)
unset(_expectedTargets)
# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
set(_IMPORT_PREFIX "")
endif()
# Create imported target openjp2
add_library(openjp2 SHARED IMPORTED)
set_target_properties(openjp2 PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/openjpeg-2.5"
)
# Create imported target openjp2_static
add_library(openjp2_static STATIC IMPORTED)
set_target_properties(openjp2_static PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/openjpeg-2.5"
)
# Create imported target opj_decompress
add_executable(opj_decompress IMPORTED)
# Create imported target opj_compress
add_executable(opj_compress IMPORTED)
# Create imported target opj_dump
add_executable(opj_dump IMPORTED)
# Load information for each installed configuration.
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB CONFIG_FILES "${_DIR}/OpenJPEGTargets-*.cmake")
foreach(f ${CONFIG_FILES})
include(${f})
endforeach()
# Cleanup temporary variables.
set(_IMPORT_PREFIX)
# Loop over all imported files and verify that they actually exist
foreach(target ${_IMPORT_CHECK_TARGETS} )
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
if(NOT EXISTS "${file}" )
message(FATAL_ERROR "The imported target \"${target}\" references the file
\"${file}\"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
\"${CMAKE_CURRENT_LIST_FILE}\"
but not all the files it references.
")
endif()
endforeach()
unset(_IMPORT_CHECK_FILES_FOR_${target})
endforeach()
unset(_IMPORT_CHECK_TARGETS)
# This file does not depend on other imported targets which have
# been exported from the same project but in a separate export set.
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)

View File

@ -0,0 +1,14 @@
prefix=/home/even/abi-check/work/abi-check/installed/openjpeg/2.5.0
bindir=${prefix}/bin
mandir=${prefix}/
docdir=${prefix}/
libdir=${prefix}/lib
includedir=${prefix}/include/openjpeg-2.5
Name: openjp2
Description: JPEG2000 library (Part 1 and 2)
URL: http://www.openjpeg.org/
Version: 2.5.0
Libs: -L${libdir} -lopenjp2
Libs.private: -lm
Cflags: -I${includedir}

View File

@ -76,6 +76,12 @@ Most compilers implement their own version of this keyword ...
#define OPJ_DEPRECATED(func) func
#endif
#if defined(__GNUC__) && __GNUC__ >= 6
#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) __attribute__ ((deprecated(msg))) memb
#else
#define OPJ_DEPRECATED_STRUCT_MEMBER(memb, msg) memb
#endif
#if defined(OPJ_STATIC) || !defined(_WIN32)
/* http://gcc.gnu.org/wiki/Visibility */
# if !defined(_WIN32) && __GNUC__ >= 4
@ -449,9 +455,9 @@ typedef struct opj_cparameters {
char infile[OPJ_PATH_LEN];
/** output file name */
char outfile[OPJ_PATH_LEN];
/** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */
/** DEPRECATED. Index generation is now handled with the opj_encode_with_info() function. Set to NULL */
int index_on;
/** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */
/** DEPRECATED. Index generation is now handled with the opj_encode_with_info() function. Set to NULL */
char index[OPJ_PATH_LEN];
/** subimage encoding: origin image offset in x direction */
int image_offset_x0;
@ -681,10 +687,10 @@ typedef struct opj_image_comp {
OPJ_UINT32 x0;
/** y component offset compared to the whole image */
OPJ_UINT32 y0;
/** precision */
/** precision: number of bits per component per pixel */
OPJ_UINT32 prec;
/** image depth in bits */
OPJ_UINT32 bpp;
/** obsolete: use prec instead */
OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");
/** signed (1) / unsigned (0) */
OPJ_UINT32 sgnd;
/** number of decoded resolution */
@ -738,10 +744,10 @@ typedef struct opj_image_comptparm {
OPJ_UINT32 x0;
/** y component offset compared to the whole image */
OPJ_UINT32 y0;
/** precision */
/** precision: number of bits per component per pixel */
OPJ_UINT32 prec;
/** image depth in bits */
OPJ_UINT32 bpp;
/** obsolete: use prec instead */
OPJ_DEPRECATED_STRUCT_MEMBER(OPJ_UINT32 bpp, "Use prec instead");
/** signed (1) / unsigned (0) */
OPJ_UINT32 sgnd;
} opj_image_cmptparm_t;
@ -1339,6 +1345,20 @@ OPJ_API void OPJ_CALLCONV opj_set_default_decoder_parameters(
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec,
opj_dparameters_t *parameters);
/**
* Set strict decoding parameter for this decoder. If strict decoding is enabled, partial bit
* streams will fail to decode. If strict decoding is disabled, the decoder will decode partial
* bitstreams as much as possible without erroring
*
* @param p_codec decompressor handler
* @param strict OPJ_TRUE to enable strict decoding, OPJ_FALSE to disable
*
* @return true if the decoder is correctly set
*/
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decoder_set_strict_mode(opj_codec_t *p_codec,
OPJ_BOOL strict);
/**
* Allocates worker threads for the compressor/decompressor.
*
@ -1447,7 +1467,7 @@ OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode(opj_codec_t *p_decompressor,
* Get the decoded tile from the codec
*
* @param p_codec the jpeg2000 codec.
* @param p_stream input streamm
* @param p_stream input stream
* @param p_image output image
* @param tile_index index of the tile which will be decode
*
@ -1596,6 +1616,9 @@ OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,
* <li>TLM=YES/NO. Defaults to NO (except for Cinema and IMF profiles).
* If set to YES, TLM marker segments, indicating the length of each
* tile-part part will be written. Since 2.4.0</li>
* <li>GUARD_BITS=value. Number of guard bits in [0,7] range. Default value is 2.
* 1 may be used sometimes (like in SMPTE DCP Bv2.1 Application Profile for 2K images).
* Since 2.5.0</li>
* </ul>
*
* @param p_codec Compressor handle

View File

@ -28,8 +28,8 @@ if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
include(${SELF_DIR}/OpenJPEGTargets.cmake)
# We find a relative path from the PKG directory to header files.
set(PKG_DIR "/home/travis/abi-check/work/abi-check/installed/openjpeg/current/lib/openjpeg-2.5")
set(INC_DIR "/home/travis/abi-check/work/abi-check/installed/openjpeg/current/include/openjpeg-2.5")
set(PKG_DIR "/home/even/abi-check/work/abi-check/installed/openjpeg/current/lib/openjpeg-2.5")
set(INC_DIR "/home/even/abi-check/work/abi-check/installed/openjpeg/current/include/openjpeg-2.5")
file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}")
get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" REALPATH)

View File

@ -52,9 +52,17 @@ endif()
# Create imported target openjp2
add_library(openjp2 SHARED IMPORTED)
set_target_properties(openjp2 PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/openjpeg-2.5"
)
# Create imported target openjp2_static
add_library(openjp2_static STATIC IMPORTED)
set_target_properties(openjp2_static PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/openjpeg-2.5"
)
# Create imported target opj_decompress
add_executable(opj_decompress IMPORTED)

View File

@ -1,4 +1,4 @@
prefix=/home/travis/abi-check/work/abi-check/installed/openjpeg/current
prefix=/home/even/abi-check/work/abi-check/installed/openjpeg/current
bindir=${prefix}/bin
mandir=${prefix}/
docdir=${prefix}/

View File

@ -0,0 +1,12 @@
{
"BC": "85",
"Added": 1,
"Removed": 0,
"TotalProblems": 3,
"ObjectsAdded": 0,
"ObjectsRemoved": 0,
"ObjectsAddedSymbols": 0,
"ObjectsRemovedSymbols": 0,
"ChangedSoname": 0,
"TotalObjects": 1
}

View File

@ -0,0 +1,44 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="OpenJPEG, ABI, changes, compatibility, report" />
<meta name="description" content="ABI changes/compatibility report between 2.4.0 and 2.5.0 versions of the openjpeg" />
<link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
<link rel="stylesheet" type="text/css" href="../../../../css/report.css" />
<title>
OpenJPEG: Objects ABI report between 2.4.0 and 2.5.0 versions
</title>
</head>
<body>
<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
<br/>
<br/>
<h1>Objects ABI report: <span class='version'>2.4.0</span> vs <span class='version'>2.5.0</span></h1>
<br/>
<br/>
<table class='summary'>
<tr><th>Object</th>
<th>Backward<br/>Compatibility</th>
<th>Added<br/>Symbols</th>
<th>Removed<br/>Symbols</th>
</tr>
<tr>
<td class='object'>libopenjp2.so.2.4.0</td>
<td class='incompatible'><a href='../../../../compat_report/openjpeg/2.4.0/2.5.0/c6917/abi_compat_report.html'>85%</a></td>
<td class='added'><a class='num' href='../../../../compat_report/openjpeg/2.4.0/2.5.0/c6917/abi_compat_report.html#Added'>1 new</a></td>
<td class='ok'>0</td>
</tr>
</table>
<br/>
<br/>
<hr/>
<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='https://github.com/lvc'>github.com/lvc</a></div>
<br/>
</body>
</html>

View File

@ -0,0 +1,12 @@
{
"BC": "100",
"Added": 0,
"Removed": 0,
"TotalProblems": 0,
"ObjectsAdded": 0,
"ObjectsRemoved": 0,
"ObjectsAddedSymbols": 0,
"ObjectsRemovedSymbols": 0,
"ChangedSoname": 0,
"TotalObjects": 1
}

View File

@ -0,0 +1,44 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="OpenJPEG, ABI, changes, compatibility, report" />
<meta name="description" content="ABI changes/compatibility report between 2.5.0 and current versions of the openjpeg" />
<link rel="stylesheet" type="text/css" href="../../../../css/common.css" />
<link rel="stylesheet" type="text/css" href="../../../../css/report.css" />
<title>
OpenJPEG: Objects ABI report between 2.5.0 and current versions
</title>
</head>
<body>
<table cellpadding='0' cellspacing='0'><tr><td align='center'><h1 class='tool'><a title='Home: ABI tracker for OpenJPEG' href='../../../../timeline/openjpeg/index.html' class='tool'>ABI<br/>Tracker</a></h1></td><td width='30px;'></td><td><h1>(OpenJPEG)</h1></td></tr></table><hr/>
<br/>
<br/>
<h1>Objects ABI report: <span class='version'>2.5.0</span> vs <span class='version'>current</span></h1>
<br/>
<br/>
<table class='summary'>
<tr><th>Object</th>
<th>Backward<br/>Compatibility</th>
<th>Added<br/>Symbols</th>
<th>Removed<br/>Symbols</th>
</tr>
<tr>
<td class='object'>libopenjp2.so.2.5.0</td>
<td class='ok'><a href='../../../../compat_report/openjpeg/2.5.0/current/b7dce/abi_compat_report.html'>100%</a></td>
<td class='ok'>0</td>
<td class='ok'>0</td>
</tr>
</table>
<br/>
<br/>
<hr/>
<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='https://github.com/lvc'>github.com/lvc</a></div>
<br/>
</body>
</html>

View File

@ -22,14 +22,28 @@
"PublicTypes": "public_types/openjpeg/current/list"
},
{
"Number": "2.4.0",
"Installed": "installed/openjpeg/2.4.0",
"Source": "src/openjpeg/2.4.0/version.-2.4.0.tar.gz",
"Changelog": "Off",
"Number": "2.5.0",
"Installed": "installed/openjpeg/2.5.0",
"Source": "src/openjpeg/2.5.0/version.-2.5.0.tar.gz",
"Changelog": "CHANGELOG.md",
"HeadersDiff": "On",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
"ABIDiff": "Off",
"PublicSymbols": "public_symbols/openjpeg/2.5.0/list",
"PublicTypes": "public_types/openjpeg/2.5.0/list"
},
{
"Number": "2.4.0",
"Installed": "installed/openjpeg/2.4.0",
"Source": "src/openjpeg/2.4.0/version.-2.4.0.tar.gz",
"Changelog": "CHANGELOG.md",
"HeadersDiff": "On",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off",
"PublicSymbols": "public_symbols/openjpeg/2.4.0/list",
"PublicTypes": "public_types/openjpeg/2.4.0/list"
},
{
"Number": "2.3.1",

Binary file not shown.

View File

@ -30,18 +30,27 @@
<th>Headers<br/>Diff</th>
</tr>
<tr id='current'><td>current</td>
<td>2021-06-09<br/>11:53</td>
<td>2022-05-13<br/>19:13</td>
<td>7</td>
<td><a href='../../changelog/openjpeg/current/log.html'>changelog</a></td>
<td class='ok'><a href='../../objects_report/openjpeg/2.4.0/current/report.html'>100%</a></td>
<td class='ok'><a href='../../objects_report/openjpeg/2.5.0/current/report.html'>100%</a></td>
<td class='ok'>0</td>
<td class='ok'>0</td>
<td><a href='../../headers_diff/openjpeg/2.4.0/current/diff.html'>2</a></td>
<td>0</td>
</tr>
<tr id='v2.5.0'><td>2.5.0</td>
<td>2022-05-13</td>
<td>7</td>
<td><a href='../../changelog/openjpeg/2.5.0/log.html'>changelog</a></td>
<td class='incompatible'><a href='../../objects_report/openjpeg/2.4.0/2.5.0/report.html'>85%</a></td>
<td class='added'><a class='num' href='../../objects_report/openjpeg/2.4.0/2.5.0/report.html'>1 new</a></td>
<td class='ok'>0</td>
<td><a href='../../headers_diff/openjpeg/2.4.0/2.5.0/diff.html'>2</a></td>
</tr>
<tr id='v2.4.0'><td>2.4.0</td>
<td>2020-12-28</td>
<td>7</td>
<td>N/A</td>
<td><a href='../../changelog/openjpeg/2.4.0/log.html'>changelog</a></td>
<td class='ok'><a href='../../objects_report/openjpeg/2.3.1/2.4.0/report.html'>100%</a></td>
<td class='added'><a class='num' href='../../objects_report/openjpeg/2.3.1/2.4.0/report.html'>1 new</a></td>
<td class='ok'>0</td>
@ -188,7 +197,7 @@
<td>N/A</td>
<td>N/A</td>
</tr>
</table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Wed Jun 9 09:58:41 2021.<br/>
</table><br/>Maintained by <a href='http://www.openjpeg.org/'>OpenJPEG team</a>. Last updated on Fri May 13 20:10:13 2022.<br/>
<br/>
<hr/>
<div align='right'><a class='home' title="Andrey Ponomarenko's ABI laboratory" href='http://abi-laboratory.pro/'>abi-laboratory.pro</a></div>