Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decoding\Encoding fails on IBM s390x CPU (Big Endian architecture) #167

Closed
vbaderks opened this issue Jan 30, 2022 · 4 comments
Closed

Decoding\Encoding fails on IBM s390x CPU (Big Endian architecture) #167

vbaderks opened this issue Jan 30, 2022 · 4 comments
Assignees
Labels
Milestone

Comments

@vbaderks
Copy link
Contributor

No description provided.

@vbaderks vbaderks self-assigned this Jan 30, 2022
@vbaderks vbaderks added the bug label Jan 30, 2022
@vbaderks vbaderks added this to the 2.3.3 milestone Jan 30, 2022
@malaterre
Copy link
Contributor

@vbaderks do you want to run some kind of unit test(s) in Debian ? I could not find no equivalent to a simple make test.

Currently no tests are being run:

Thanks

@vbaderks
Copy link
Contributor Author

At the moment all the unit tests are based on the Microsoft unit test framework. There is an open issue (#52) to convert this to a framework that can run on all platforms. The windows build runs these unit tests.
The tool charlstest, can also execute tests (option -unittest), but is at the moment not connected to (c)make test.
I have interactive access to a s390x VM at the moment, so I can run the tests.

@vbaderks
Copy link
Contributor Author

vbaderks commented Feb 1, 2022

Resolved with 461df4b

@vbaderks vbaderks closed this as completed Feb 1, 2022
@malaterre
Copy link
Contributor

For reference:

1057bd2 is the first bad commit

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Nov 14, 2022
Changes from CHANGELOG.md:

# Change Log
## [2.3.4] - 2021-2-12

### Changed

- Replaced legacy test images.

## [2.3.3] - 2021-2-5

### Fixed

- Fixed [#167](team-charls/charls#167),
  Decoding\Encoding fails on IBM s390x CPU (Big Endian architecture).

## [2.3.2] - 2021-1-29

### Fixed

- Fixed team-charls/charls#160,
  warning: cast from 'unsigned char*' to 'uint16_t*'
  increases required alignment of target type.
- Fixed team-charls/charls#161 ,
  warning: useless cast to type 'size_t' {aka 'unsigned int'}
  [-Wuseless-cast].

### Changed

- Updates to the CMakeLists.txt for Unix builds (except macOS)
  to hide more symbols from the shared library.
- C++14 is now the minimum version instead of explicitly required.
  This allows consuming applications more flexibility.
  Typically CMake will select the latest C++ standard version that
  the used C++ compiler supports.

## [2.3.1] - 2021-1-25

### Fixed

- Fixed team-charls/charls#155 ,
  charls::jpegls_decoder::decode: 2 overloads have similar conversions
  in v2.3.0

## [2.3.0] - 2022-1-24

### Added

- The encoder API has been extended with a rewind method that can be
  used to re-use a configured encoder to encode multiple images in a loop.
- Added support to decode JPEG-LS images that use restart markers
  team-charls/charls#92 .
- Added support to write and read comment (COM) segments
  team-charls/charls#113 .
- Added support to encode/decode oversized images
  (width or height larger then 65535).
- Extended the validation of the encoded JPEG-LS byte stream during decoding.
- Added support to encode JPEG-LS images with:
  - The option to ensure the output stream has an even size.
  - The option to write the CharLS version number as a comment (COM segment)
    to the output stream.
  - The option to write the coding parameters to the output stream if
    the bits per pixel are larger then 12 (enabled by default).
- Usage of compiler specific attributes on the public API as replacement for
  ``[[nodiscard]]`` (which is a C++17 feature).

### Fixed

- Fixed team-charls/charls#84 ,
  Default preset coding parameters not computed for unset values.
- Fixed team-charls/charls#102 ,
  CMake find_package(charls 2.2.0 REQUIRED) not working.

### Changed

- CMakeSettings.json has been replaced with CMakePresets.json.
- Non default coding parameters are explicitly stored in
  the output stream during encoding.
- GCC shared library release builds are now using LTO
  (Link Time Optimization).
- Some functions use compiler intrinsics for slightly better performance.

## [2.2.1] - 2022-2-3

### Fixed

- Backport of fix for team-charls/charls#167 ,
  Decoding\Encoding fails on IBM s390x CPU (Big Endian architecture).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants