Releases: aous72/OpenJPH
0.6.5
This has two main changes:
- Integrated the earlier part of pull request #32; this change update VS Code files, which I am not familiar with. It also updates CMakefiles.txt to enable compilation to a static library; the default is still shared library. Thanks to Chris for this.
- Modified the code to eliminate compilation warning messages. Now, the code produces no warnings in Visual Studio, Xcode, and gcc. However, clang still generates a lot of errors. I will come around to fix this at some point. Thanks to Aaron for suggesting this in pull request #27, although I still have to address the clang compiler.
0.6.4
This release is bug fixes and a small hardening of code.
The contribution of this release are:
- Closing issue #30. Thanks to Arron for highlighting this. Now there is additional 8 bytes in front of the codeblock buffer at the decoder. This extra buffer is a protection against the VLC decoder reading from before the start of the cleanup pass, which can happen because we are reading 4 bytes at a time from the VLC segment.
- Bug fix in ojph_block_encoder.
- Hardened the code by not decoding incomplete codeblocks.
0.6.3
This is mainly to close issue #28. The scratch field has been moved to ojph::local::codestream, and therefore it gets created and destructed with ojph::local::codestream.
Thanks to Dan for reporting this bug.
I think it is fair to say that Aaron in pull request #17 was alluding to this problem.
Thank you guys.
This also fixes a bug that was inadvertently introduced in the earlier commit, in not initializing of num_comp_bytes.
0.6.2
This main purpose of this release is to fix magb. The following modifications were made.
- magb code is fixed; it was incorrect.
- Modified the code that determines the number of bits needed for reversible implementation in param_qcd::set_rev_quant. This should have minimal effect; I doubt it will change anything.
- removed some dead code.
- some touch ups.
0.6.1
A few small modifications to address some issues.
- Closes Issue #18: CMakeLists.txt allows disabling SIMD instruction for compilations targeting ARM and other platforms.
- Closes Issue #21: Added some text in README.md to clarify the need to use an escape character before { and }.
- Closes Issue #22: Added some text in README.md to clarify how the downsampling option -downsamp should be used for the case of 422 (Obviously more work on documentation is needed).
- Closes Issue #23: It looks like some older versions of ffprobe are sensitive to my ppm header format, even though it is totally valid; this release modifies this header to make more acceptable. I think the new format should be compatible with more applications.
0.6.0
The main contributions are:
- Added support for IMF and BROADCAST profiles. ojph_compress now has the options "-profile IMF" and "-profile BROADCAST". These options do NOT change any configurations, but
- run a check to see if the options selected, which might be the default options, meet the requested profile, producing a error message if something is wrong. The check includes testing any tile options.
- insert the TLM marker segment into the generated codestream, which is required by these two profiles.
- store each colour component into its own tile-part, which is a requirement for these two profiles.
- Addressed issue #7.
0.5.1
0.5.0
A few changes have been introduced since the last version.
A few bugs have also been fixed.
A info message has been introduced.
Some error/warn messages have been downgrade to info.
cmake now needs the key -DCMAKE_BUILD_TYPE=Release to produce a release build.
Both Aaron and Chris have contributed to this release. Sorry I did not include all their contributions, which I find useful, but I also have to keep the purity of the license, and manage things in a way and pace I feel comfortable with. Please feel free to utilize their pull requests.
0.4.1
0.4.0
New Features
Developed the capability to compile to javascript/wasm. This required adding a new file object (mem_infile) that enables the library to read a compressed image data stored in memory (as opposed to being stored on external storage device), and C wrapper that interfaces between C++ and javascript. The provided wrapper currently support decoding only, but this should cover the majority of applications.
Bug Fixes
A bug in the quantizer was fixed for the lossy path. This bug can manifest itself at high bitdepths, or a large number of decompositions.