summaryrefslogtreecommitdiffstats
path: root/third_party/jpeg-xl/examples
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/jpeg-xl/examples')
-rw-r--r--third_party/jpeg-xl/examples/CMakeLists.txt10
-rw-r--r--third_party/jpeg-xl/examples/decode_exif_metadata.cc6
-rw-r--r--third_party/jpeg-xl/examples/decode_oneshot.cc20
-rw-r--r--third_party/jpeg-xl/examples/decode_progressive.cc12
-rw-r--r--third_party/jpeg-xl/examples/encode_oneshot.cc22
5 files changed, 32 insertions, 38 deletions
diff --git a/third_party/jpeg-xl/examples/CMakeLists.txt b/third_party/jpeg-xl/examples/CMakeLists.txt
index aee5fd43ee..8cdb09217e 100644
--- a/third_party/jpeg-xl/examples/CMakeLists.txt
+++ b/third_party/jpeg-xl/examples/CMakeLists.txt
@@ -11,17 +11,15 @@ project(SAMPLE_LIBJXL LANGUAGES C CXX)
# Use pkg-config to find libjxl.
find_package(PkgConfig)
-pkg_check_modules(Jxl REQUIRED IMPORTED_TARGET libjxl)
-pkg_check_modules(JxlCms REQUIRED IMPORTED_TARGET libjxl_cms)
-pkg_check_modules(JxlThreads REQUIRED IMPORTED_TARGET libjxl_threads)
+pkg_check_modules(Jxl REQUIRED IMPORTED_TARGET libjxl libjxl_cms libjxl_threads)
# Build the example encoder/decoder binaries using the default shared libraries
# installed.
add_executable(decode_oneshot decode_oneshot.cc)
-target_link_libraries(decode_oneshot PkgConfig::Jxl PkgConfig::JxlCms PkgConfig::JxlThreads)
+target_link_libraries(decode_oneshot PkgConfig::Jxl)
add_executable(decode_progressive decode_progressive.cc)
-target_link_libraries(decode_progressive PkgConfig::Jxl PkgConfig::JxlCms PkgConfig::JxlThreads)
+target_link_libraries(decode_progressive PkgConfig::Jxl)
add_executable(encode_oneshot encode_oneshot.cc)
-target_link_libraries(encode_oneshot PkgConfig::Jxl PkgConfig::JxlCms PkgConfig::JxlThreads)
+target_link_libraries(encode_oneshot PkgConfig::Jxl)
diff --git a/third_party/jpeg-xl/examples/decode_exif_metadata.cc b/third_party/jpeg-xl/examples/decode_exif_metadata.cc
index 8ec999e4f4..d5f11705bd 100644
--- a/third_party/jpeg-xl/examples/decode_exif_metadata.cc
+++ b/third_party/jpeg-xl/examples/decode_exif_metadata.cc
@@ -11,6 +11,7 @@
#include <jxl/decode_cxx.h>
#include <limits.h>
#include <stdint.h>
+#include <stdio.h>
#include <string.h>
#include <vector>
@@ -55,8 +56,9 @@ bool DecodeJpegXlExif(const uint8_t* jxl, size_t size,
return true;
}
JxlBoxType type;
- if (JXL_DEC_SUCCESS !=
- JxlDecoderGetBoxType(dec.get(), type, support_decompression)) {
+ status = JxlDecoderGetBoxType(dec.get(), type,
+ TO_JXL_BOOL(support_decompression));
+ if (JXL_DEC_SUCCESS != status) {
fprintf(stderr, "Error, failed to get box type\n");
return false;
}
diff --git a/third_party/jpeg-xl/examples/decode_oneshot.cc b/third_party/jpeg-xl/examples/decode_oneshot.cc
index f8d21710bf..a24bd73bfb 100644
--- a/third_party/jpeg-xl/examples/decode_oneshot.cc
+++ b/third_party/jpeg-xl/examples/decode_oneshot.cc
@@ -7,11 +7,6 @@
// available at once). The example outputs the pixels and color information to a
// floating point image and an ICC profile on disk.
-#ifndef __STDC_FORMAT_MACROS
-#define __STDC_FORMAT_MACROS
-#endif
-
-#include <inttypes.h>
#include <jxl/codestream_header.h>
#include <jxl/decode.h>
#include <jxl/decode_cxx.h>
@@ -102,13 +97,13 @@ bool DecodeJpegXlOneShot(const uint8_t* jxl, size_t size,
return false;
}
if (buffer_size != *xsize * *ysize * 16) {
- fprintf(stderr, "Invalid out buffer size %" PRIu64 " %" PRIu64 "\n",
- static_cast<uint64_t>(buffer_size),
- static_cast<uint64_t>(*xsize * *ysize * 16));
+ fprintf(stderr, "Invalid out buffer size %d %d\n",
+ static_cast<int>(buffer_size),
+ static_cast<int>(*xsize * *ysize * 16));
return false;
}
pixels->resize(*xsize * *ysize * 4);
- void* pixels_buffer = (void*)pixels->data();
+ void* pixels_buffer = static_cast<void*>(pixels->data());
size_t pixels_buffer_size = pixels->size() * sizeof(float);
if (JXL_DEC_SUCCESS != JxlDecoderSetImageOutBuffer(dec.get(), &format,
pixels_buffer,
@@ -147,8 +142,8 @@ bool WritePFM(const char* filename, const float* pixels, size_t xsize,
uint8_t little_endian[4];
memcpy(little_endian, &endian_test, 4);
- fprintf(file, "PF\n%d %d\n%s\n", (int)xsize, (int)ysize,
- little_endian[0] ? "-1.0" : "1.0");
+ fprintf(file, "PF\n%d %d\n%s\n", static_cast<int>(xsize),
+ static_cast<int>(ysize), little_endian[0] ? "-1.0" : "1.0");
for (int y = ysize - 1; y >= 0; y--) {
for (size_t x = 0; x < xsize; x++) {
for (size_t c = 0; c < 3; c++) {
@@ -233,7 +228,8 @@ int main(int argc, char* argv[]) {
std::vector<float> pixels;
std::vector<uint8_t> icc_profile;
- size_t xsize = 0, ysize = 0;
+ size_t xsize = 0;
+ size_t ysize = 0;
if (!DecodeJpegXlOneShot(jxl.data(), jxl.size(), &pixels, &xsize, &ysize,
&icc_profile)) {
fprintf(stderr, "Error while decoding the jxl file\n");
diff --git a/third_party/jpeg-xl/examples/decode_progressive.cc b/third_party/jpeg-xl/examples/decode_progressive.cc
index a094cbeb4f..fa7f3df663 100644
--- a/third_party/jpeg-xl/examples/decode_progressive.cc
+++ b/third_party/jpeg-xl/examples/decode_progressive.cc
@@ -6,10 +6,6 @@
// This C++ example decodes a JPEG XL image progressively (input bytes are
// passed in chunks). The example outputs the intermediate steps to PAM files.
-#ifndef __STDC_FORMAT_MACROS
-#define __STDC_FORMAT_MACROS
-#endif
-
#include <inttypes.h>
#include <jxl/decode.h>
#include <jxl/decode_cxx.h>
@@ -29,10 +25,9 @@ bool WritePAM(const char* filename, const uint8_t* buffer, size_t w, size_t h) {
return false;
}
fprintf(fp,
- "P7\nWIDTH %" PRIu64 "\nHEIGHT %" PRIu64
- "\nDEPTH 4\nMAXVAL 255\nTUPLTYPE "
+ "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 4\nMAXVAL 255\nTUPLTYPE "
"RGB_ALPHA\nENDHDR\n",
- static_cast<uint64_t>(w), static_cast<uint64_t>(h));
+ static_cast<int>(w), static_cast<int>(h));
size_t num_bytes = w * h * 4;
if (fwrite(buffer, 1, num_bytes, fp) != num_bytes) {
fclose(fp);
@@ -51,7 +46,8 @@ bool DecodeJpegXlProgressive(const uint8_t* jxl, size_t size,
const char* filename, size_t chunksize) {
std::vector<uint8_t> pixels;
std::vector<uint8_t> icc_profile;
- size_t xsize = 0, ysize = 0;
+ size_t xsize = 0;
+ size_t ysize = 0;
// Multi-threaded parallel runner.
auto runner = JxlResizableParallelRunnerMake(nullptr);
diff --git a/third_party/jpeg-xl/examples/encode_oneshot.cc b/third_party/jpeg-xl/examples/encode_oneshot.cc
index 336446ff17..1582570432 100644
--- a/third_party/jpeg-xl/examples/encode_oneshot.cc
+++ b/third_party/jpeg-xl/examples/encode_oneshot.cc
@@ -39,8 +39,9 @@ bool ReadPFM(const char* filename, std::vector<float>* pixels, uint32_t* xsize,
return false;
}
uint32_t endian_test = 1;
- uint8_t little_endian[4];
- memcpy(little_endian, &endian_test, 4);
+ uint8_t little_endian_check[4];
+ memcpy(little_endian_check, &endian_test, 4);
+ bool little_endian = (little_endian_check[0] == 1);
if (fseek(file, 0, SEEK_END) != 0) {
fclose(file);
@@ -63,7 +64,7 @@ bool ReadPFM(const char* filename, std::vector<float>* pixels, uint32_t* xsize,
data.resize(size);
size_t readsize = fread(data.data(), 1, size, file);
- if ((long)readsize != size) {
+ if (static_cast<long>(readsize) != size) {
fclose(file);
return false;
}
@@ -116,12 +117,13 @@ bool ReadPFM(const char* filename, std::vector<float>* pixels, uint32_t* xsize,
fprintf(stderr,
"%s doesn't seem to be a Portable FloatMap file (pixel data bytes "
"are %d, but expected %d * %d * 3 * 4 + %d (%d).\n",
- filename, (int)data.size(), (int)*ysize, (int)*xsize, (int)offset,
- (int)(*ysize * *xsize * 3 * 4 + offset));
+ filename, static_cast<int>(data.size()), static_cast<int>(*ysize),
+ static_cast<int>(*xsize), static_cast<int>(offset),
+ static_cast<int>(*ysize * *xsize * 3 * 4 + offset));
return false;
}
- if (!!little_endian[0] != input_little_endian) {
+ if (little_endian != input_little_endian) {
fprintf(stderr,
"%s has a different endianness than we do, conversion is not "
"supported.\n",
@@ -132,7 +134,7 @@ bool ReadPFM(const char* filename, std::vector<float>* pixels, uint32_t* xsize,
pixels->resize(*ysize * *xsize * 3);
for (int y = *ysize - 1; y >= 0; y--) {
- for (int x = 0; x < (int)*xsize; x++) {
+ for (int x = 0; x < static_cast<int>(*xsize); x++) {
for (int c = 0; c < 3; c++) {
memcpy(pixels->data() + (y * *xsize + x) * 3 + c, data.data() + offset,
sizeof(float));
@@ -180,8 +182,8 @@ bool EncodeJxlOneshot(const std::vector<float>& pixels, const uint32_t xsize,
}
JxlColorEncoding color_encoding = {};
- JxlColorEncodingSetToSRGB(&color_encoding,
- /*is_gray=*/pixel_format.num_channels < 3);
+ JXL_BOOL is_gray = TO_JXL_BOOL(pixel_format.num_channels < 3);
+ JxlColorEncodingSetToSRGB(&color_encoding, is_gray);
if (JXL_ENC_SUCCESS !=
JxlEncoderSetColorEncoding(enc.get(), &color_encoding)) {
fprintf(stderr, "JxlEncoderSetColorEncoding failed\n");
@@ -193,7 +195,7 @@ bool EncodeJxlOneshot(const std::vector<float>& pixels, const uint32_t xsize,
if (JXL_ENC_SUCCESS !=
JxlEncoderAddImageFrame(frame_settings, &pixel_format,
- (void*)pixels.data(),
+ static_cast<const void*>(pixels.data()),
sizeof(float) * pixels.size())) {
fprintf(stderr, "JxlEncoderAddImageFrame failed\n");
return false;