summaryrefslogtreecommitdiffstats
path: root/media/libjxl
diff options
context:
space:
mode:
Diffstat (limited to 'media/libjxl')
-rw-r--r--media/libjxl/include/jxl/jxl_export.h14
-rw-r--r--media/libjxl/include/jxl/jxl_threads_export.h12
-rw-r--r--media/libjxl/include/jxl/version.h14
-rw-r--r--media/libjxl/moz.build133
-rw-r--r--media/libjxl/moz.yaml38
5 files changed, 211 insertions, 0 deletions
diff --git a/media/libjxl/include/jxl/jxl_export.h b/media/libjxl/include/jxl/jxl_export.h
new file mode 100644
index 0000000000..6745cf1891
--- /dev/null
+++ b/media/libjxl/include/jxl/jxl_export.h
@@ -0,0 +1,14 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef JXL_EXPORT_H
+#define JXL_EXPORT_H
+
+#define JXL_EXPORT
+
+#define JXL_DEPRECATED [[deprecated]]
+
+#endif /* JXL_EXPORT_H */
diff --git a/media/libjxl/include/jxl/jxl_threads_export.h b/media/libjxl/include/jxl/jxl_threads_export.h
new file mode 100644
index 0000000000..b08aabe760
--- /dev/null
+++ b/media/libjxl/include/jxl/jxl_threads_export.h
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef JXL_THREADS_EXPORT_H
+#define JXL_THREADS_EXPORT_H
+
+#define JXL_THREADS_EXPORT
+
+#endif /* JXL_THREADS_EXPORT_H */
diff --git a/media/libjxl/include/jxl/version.h b/media/libjxl/include/jxl/version.h
new file mode 100644
index 0000000000..af90dea873
--- /dev/null
+++ b/media/libjxl/include/jxl/version.h
@@ -0,0 +1,14 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef JXL_VERSION_H_
+#define JXL_VERSION_H_
+
+#define JPEGXL_MAJOR_VERSION 0
+#define JPEGXL_MINOR_VERSION 0
+#define JPEGXL_PATCH_VERSION 0
+
+#endif /* JXL_VERSION_H_ */
diff --git a/media/libjxl/moz.build b/media/libjxl/moz.build
new file mode 100644
index 0000000000..d3dbec00f8
--- /dev/null
+++ b/media/libjxl/moz.build
@@ -0,0 +1,133 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+LOCAL_INCLUDES += [
+ "./include/",
+ "/third_party/jpeg-xl/",
+ "/third_party/jpeg-xl/lib/include/",
+]
+
+SOURCES += [
+ "/third_party/jpeg-xl/lib/jxl/ac_strategy.cc",
+ "/third_party/jpeg-xl/lib/jxl/alpha.cc",
+ "/third_party/jpeg-xl/lib/jxl/ans_common.cc",
+ "/third_party/jpeg-xl/lib/jxl/base/cache_aligned.cc",
+ "/third_party/jpeg-xl/lib/jxl/base/data_parallel.cc",
+ "/third_party/jpeg-xl/lib/jxl/base/padded_bytes.cc",
+ "/third_party/jpeg-xl/lib/jxl/base/profiler.cc",
+ "/third_party/jpeg-xl/lib/jxl/base/random.cc",
+ "/third_party/jpeg-xl/lib/jxl/blending.cc",
+ "/third_party/jpeg-xl/lib/jxl/chroma_from_luma.cc",
+ "/third_party/jpeg-xl/lib/jxl/coeff_order.cc",
+ "/third_party/jpeg-xl/lib/jxl/color_encoding_internal.cc",
+ "/third_party/jpeg-xl/lib/jxl/color_management.cc",
+ "/third_party/jpeg-xl/lib/jxl/compressed_dc.cc",
+ "/third_party/jpeg-xl/lib/jxl/convolve_separable5.cc",
+ "/third_party/jpeg-xl/lib/jxl/convolve_separable7.cc",
+ "/third_party/jpeg-xl/lib/jxl/convolve_slow.cc",
+ "/third_party/jpeg-xl/lib/jxl/convolve_symmetric3.cc",
+ "/third_party/jpeg-xl/lib/jxl/convolve_symmetric5.cc",
+ "/third_party/jpeg-xl/lib/jxl/dct_scales.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_ans.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_cache.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_context_map.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_external_image.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_frame.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_group.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_group_border.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_huffman.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_modular.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_noise.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_patch_dictionary.cc",
+ "/third_party/jpeg-xl/lib/jxl/dec_xyb.cc",
+ "/third_party/jpeg-xl/lib/jxl/decode.cc",
+ "/third_party/jpeg-xl/lib/jxl/entropy_coder.cc",
+ "/third_party/jpeg-xl/lib/jxl/epf.cc",
+ "/third_party/jpeg-xl/lib/jxl/fast_dct.cc",
+ "/third_party/jpeg-xl/lib/jxl/fields.cc",
+ "/third_party/jpeg-xl/lib/jxl/frame_header.cc",
+ "/third_party/jpeg-xl/lib/jxl/gauss_blur.cc",
+ "/third_party/jpeg-xl/lib/jxl/headers.cc",
+ "/third_party/jpeg-xl/lib/jxl/huffman_table.cc",
+ "/third_party/jpeg-xl/lib/jxl/icc_codec.cc",
+ "/third_party/jpeg-xl/lib/jxl/icc_codec_common.cc",
+ "/third_party/jpeg-xl/lib/jxl/image.cc",
+ "/third_party/jpeg-xl/lib/jxl/image_bundle.cc",
+ "/third_party/jpeg-xl/lib/jxl/image_metadata.cc",
+ "/third_party/jpeg-xl/lib/jxl/loop_filter.cc",
+ "/third_party/jpeg-xl/lib/jxl/luminance.cc",
+ "/third_party/jpeg-xl/lib/jxl/memory_manager_internal.cc",
+ "/third_party/jpeg-xl/lib/jxl/modular/encoding/dec_ma.cc",
+ "/third_party/jpeg-xl/lib/jxl/modular/encoding/encoding.cc",
+ "/third_party/jpeg-xl/lib/jxl/modular/modular_image.cc",
+ "/third_party/jpeg-xl/lib/jxl/modular/transform/palette.cc",
+ "/third_party/jpeg-xl/lib/jxl/modular/transform/rct.cc",
+ "/third_party/jpeg-xl/lib/jxl/modular/transform/squeeze.cc",
+ "/third_party/jpeg-xl/lib/jxl/modular/transform/transform.cc",
+ "/third_party/jpeg-xl/lib/jxl/opsin_params.cc",
+ "/third_party/jpeg-xl/lib/jxl/passes_state.cc",
+ "/third_party/jpeg-xl/lib/jxl/quant_weights.cc",
+ "/third_party/jpeg-xl/lib/jxl/quantizer.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/low_memory_render_pipeline.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/render_pipeline.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/simple_render_pipeline.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_blending.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_chroma_upsampling.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_epf.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_from_linear.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_gaborish.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_noise.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_patches.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_splines.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_spot.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_to_linear.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_tone_mapping.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_upsampling.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_write.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_xyb.cc",
+ "/third_party/jpeg-xl/lib/jxl/render_pipeline/stage_ycbcr.cc",
+ "/third_party/jpeg-xl/lib/jxl/splines.cc",
+ "/third_party/jpeg-xl/lib/jxl/toc.cc",
+]
+
+SOURCES += [
+ "/third_party/jpeg-xl/lib/threads/thread_parallel_runner.cc",
+ "/third_party/jpeg-xl/lib/threads/thread_parallel_runner_internal.cc",
+]
+
+EXPORTS.jxl += [
+ "./include/jxl/jxl_export.h",
+ "./include/jxl/jxl_threads_export.h",
+ "./include/jxl/version.h",
+ "/third_party/jpeg-xl/lib/include/jxl/butteraugli.h",
+ "/third_party/jpeg-xl/lib/include/jxl/butteraugli_cxx.h",
+ "/third_party/jpeg-xl/lib/include/jxl/cms_interface.h",
+ "/third_party/jpeg-xl/lib/include/jxl/codestream_header.h",
+ "/third_party/jpeg-xl/lib/include/jxl/color_encoding.h",
+ "/third_party/jpeg-xl/lib/include/jxl/decode.h",
+ "/third_party/jpeg-xl/lib/include/jxl/decode_cxx.h",
+ "/third_party/jpeg-xl/lib/include/jxl/encode.h",
+ "/third_party/jpeg-xl/lib/include/jxl/encode_cxx.h",
+ "/third_party/jpeg-xl/lib/include/jxl/memory_manager.h",
+ "/third_party/jpeg-xl/lib/include/jxl/parallel_runner.h",
+ "/third_party/jpeg-xl/lib/include/jxl/thread_parallel_runner.h",
+ "/third_party/jpeg-xl/lib/include/jxl/thread_parallel_runner_cxx.h",
+ "/third_party/jpeg-xl/lib/include/jxl/types.h",
+]
+
+DEFINES["JPEGXL_ENABLE_BOXES"] = "0"
+DEFINES["JPEGXL_ENABLE_TRANSCODE_JPEG"] = "0"
+
+FINAL_LIBRARY = "gkmedias"
+
+# We allow warnings for third-party code that can be updated from upstream.
+AllowCompilerWarnings()
+
+# Clang 5.0 has a compiler bug that prevents build in c++17
+# See https://gitlab.com/wg1/jpeg-xl/-/issues/227
+# This should be okay since we are using the C API.
+if CONFIG["CC_TYPE"] == "clang":
+ CXXFLAGS += ["-std=c++11"]
diff --git a/media/libjxl/moz.yaml b/media/libjxl/moz.yaml
new file mode 100644
index 0000000000..95700781be
--- /dev/null
+++ b/media/libjxl/moz.yaml
@@ -0,0 +1,38 @@
+schema: 1
+
+bugzilla:
+ product: Core
+ component: "Graphics: ImageLib"
+
+origin:
+ name: libjxl
+ description: JPEG XL image format reference implementation
+
+ url: https://github.com/libjxl/libjxl
+
+ release: 91760e31a40fb811867fbe9bda6ddf73c962389e (2023-05-16T11:48:39Z).
+
+ revision: 91760e31a40fb811867fbe9bda6ddf73c962389e
+
+ license: Apache-2.0
+
+ license-file: LICENSE
+
+updatebot:
+ maintainer-phab: saschanaz
+ maintainer-bz: krosylight@mozilla.com
+ tasks:
+ - type: vendoring
+ enabled: True
+ frequency: 3 weeks
+
+vendoring:
+ url: https://github.com/libjxl/libjxl
+ source-hosting: github
+ vendor-directory: third_party/jpeg-xl
+
+ exclude:
+ - doc
+ - third_party/testdata
+ - tools
+ - lib/lib.gni # Symlink is not permitted in mozilla-central