sandboxed-api/oss-internship-2020/openjpeg
Christian Blichmann 51799f99ae Introduce a transitional logging utility library
Instead of calling `google::InitGoogleLogging()` directly, introduce an
indirection via a new utility library. After this change, Sandboxed API
should consistently use `sapi::InitLogging()` everywhere.

For now, `sapi::InitLogging()` simply calls its glog equivalent. However,
this enables us to migrate away from the gflags dependency and use Abseil
flags. Once a follow-up change lands, `sapi::InitLogging()` will instead
initialize the google logging library with flags defined from Aseil.

Later still, once Abseil releases logging, we can then drop the glog
dependency entirely.

PiperOrigin-RevId: 445363592
Change-Id: Ia23a7dc88b8ffe65a422ea4d5233bba7bdd1303a
2022-04-29 02:14:06 -07:00
..
examples Introduce a transitional logging utility library 2022-04-29 02:14:06 -07:00
.gitignore
CMakeLists.txt cmake: Rename build options to follow Abseil naming 2022-04-21 01:17:39 -07:00
README.md

OpenJPEG Sandboxed API

This library provides sandboxed version of the OpenJPEG library.

Examples

The examples are sandboxed and simplified version of the main tools provided by the OpenJPEG library, namely (for now) opj_decompress from here.

In decompress_example.cc the library's sandboxed API is used to convert the .jp2 to .pnm image format.

Build

To build this example, after cloning the whole Sandbox API project, you also need to run

git submodule update --init --recursive

anywhere in the project tree in order to clone the openjpeg submodule. Then in the sandboxed-api/oss-internship-2020/openjpeg run

mkdir build && cd build
cmake -G Ninja
ninja

To run decompress_sandboxed:

cd examples
./decompress_sandboxed absolute/path/to/the/file.jp2 absolute/path/to/the/file.pnm