#jpeg2000 #links #statically #decoder #run #open-jpeg2 #openjp2

sys openjpeg2-sys

Statically links against OpenJPEG2, used by the jpeg2000 crate

5 releases

Uses old Rust 2015

0.1.4 Aug 17, 2019
0.1.3 Aug 17, 2019
0.1.2 Sep 25, 2018
0.1.1 Mar 28, 2018
0.1.0 Dec 12, 2017

#8 in #jpeg2000


Used in jpeg2000

BSD-2-Clause

8.5MB
183K SLoC

C 159K SLoC // 0.2% comments C++ 21K SLoC // 0.2% comments Java 2K SLoC // 0.2% comments Shell 801 SLoC // 0.1% comments TCL 678 SLoC // 0.0% comments Visual Studio Project 349 SLoC Python 198 SLoC // 0.3% comments Rust 39 SLoC // 0.1% comments Visual Studio Solution 29 SLoC

Rust bindings to OpenJPEG

This crate provides access to OpenJPEG's JPEG2000 decoder.

Warning

** This crate is still fairly experimental. ** (And it's the first time I'm writing unsafe Rust code :o)

Please be advised that using C code means this crate is likely vulnerable to various memory exploits, e.g. see http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8332 for an actual example from the past.

As soon as someone writes an efficient JPEG2000 decoder in pure Rust you should probably switch over to that.

Examples

Run the examples from within the examples directory, using cargo run --example name.

License

Most of the code in this repository is provided under the GPL license (check out the relevant's files headers for more details). However note that this crate links statically to OpenJPEG which has its own (permissive) license, which you can find at openjp2-sys/libopenjpeg/LICENSE (you might have to check out the git submodule first).

Dependencies