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.yaml37
5 files changed, 210 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..12bea4a50f
--- /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/aux_out.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/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/enc_bit_writer.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/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..21659356d0
--- /dev/null
+++ b/media/libjxl/moz.yaml
@@ -0,0 +1,37 @@
+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: 27f0ffaf77ca9d08222bb17406483ae4509de4dd (2023-01-13T06:02:06Z).
+
+ revision: 27f0ffaf77ca9d08222bb17406483ae4509de4dd
+
+ 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