Closed Bug 1740415 Opened 3 years ago Closed 3 years ago

Update libjxl to new version 1dcb5156815a6e59be92ffcfa9625cbcdd456961 from 2021-11-09 20:32:45

Categories

(Core :: Graphics: ImageLib, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: update-bot, Assigned: saschanaz)

Details

(Whiteboard: [3pl-filed][task_id: ZJSS36r6SA2xNGFjlThp5w])

Attachments

(1 file)

This update covers 60 commits:


1dcb5156815a6e59be92ffcfa9625cbcdd456961 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/1dcb5156815a6e59be92ffcfa9625cbcdd456961
Authored: 2021-11-09 21:32:45 +0100
Committed: 2021-11-09 20:32:45 +0000

Build gbench in all modes (#832)

Install libbenchmark-dev libbenchmark-tools so the jxl_gbench is built
in all modes, not just release.

Files Added:

  • .github/workflows/build_test.yml
  • .github/workflows/build_test.yml

18951818d5363a3c1780409df118e68a143ec54d by Alex Deymo

https://github.com/libjxl/libjxl-/commit/18951818d5363a3c1780409df118e68a143ec54d
Authored: 2021-11-09 18:58:46 +0100
Committed: 2021-11-09 18:58:46 +0100

Add gbench for UndoXYB and run it (#830)

Run gbench in the PR release pipeline to make sure it runs and doesn't
crash. In some distributions benchmark_main doesn't actually export a
main() symbol. Workaround the problem by defining our own main()
function for gbench.

This patch adds a new gbench test for benchmarking UndoXYB.

Files Added:

  • lib/gbench_main.cc
  • lib/jxl/dec_reconstruct_gbench.cc
  • lib/gbench_main.cc
  • lib/jxl/dec_reconstruct_gbench.cc

Files Added:

  • .github/workflows/build_test.yml
  • lib/jxl/dec_reconstruct.cc
  • lib/jxl_benchmark.cmake
  • lib/lib.gni
  • .github/workflows/build_test.yml
  • lib/jxl/dec_reconstruct.cc
  • lib/jxl_benchmark.cmake
  • lib/lib.gni

3bd0bd82afe9452bf5d0bfb0739688fa875be71e by Lode

https://github.com/libjxl/libjxl-/commit/3bd0bd82afe9452bf5d0bfb0739688fa875be71e
Authored: 2021-11-08 14:00:22 +0100
Committed: 2021-11-09 13:42:30 +0100

Add several modular options to enc API

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc

5bf2f16dd728eb92422ba5132015d4c71bcc0c07 by Lode

https://github.com/libjxl/libjxl-/commit/5bf2f16dd728eb92422ba5132015d4c71bcc0c07
Authored: 2021-11-05 15:54:29 +0100
Committed: 2021-11-09 12:55:03 +0100

Add API to encode boxes, header only (no implementation)

Adds the function JxlEncoderAddBox, which can be used either before or
after encoding image frames.

Updates the JxlEncoderUseContainer documentation to noet say
"force" after all since for metadata boxes you need to call it
explicitely (the encoder cannot know on its own if boxes will be added
at the end only)

Adds documentation about the box format and individual box types so that
it is clear what types of metadata boxes this function can be used for
and which ones the encoder automatically adds.

Pair programmed with Jyrki, who also proposed to add good documentation
about the boxes and a prototype test.

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_internal.h
  • lib/jxl/encode_test.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_internal.h
  • lib/jxl/encode_test.cc

19453a23f8d3bd4004923bbbfff2e42690828d2f by Lode Vandevenne

https://github.com/libjxl/libjxl-/commit/19453a23f8d3bd4004923bbbfff2e42690828d2f
Authored: 2021-11-09 12:09:12 +0100
Committed: 2021-11-09 12:09:12 +0100

Add palette options to encoder API (#821)

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc

f6ad38663ff9e70ca294921566c8a2b5fca5b18f by Jon Sneyers

https://github.com/libjxl/libjxl-/commit/f6ad38663ff9e70ca294921566c8a2b5fca5b18f
Authored: 2021-11-09 10:56:35 +0100
Committed: 2021-11-09 10:56:35 +0100

add test for upsampling and fix rgb8 upsampling bug (#825)

Files Added:

  • lib/jxl/dec_reconstruct.cc
  • lib/jxl/decode_test.cc
  • lib/jxl/dec_reconstruct.cc
  • lib/jxl/decode_test.cc

66921837d10e6dac0173739cc39105164e125355 by Moritz Firsching

https://github.com/libjxl/libjxl-/commit/66921837d10e6dac0173739cc39105164e125355
Authored: 2021-11-08 17:30:00 +0100
Committed: 2021-11-09 08:23:56 +0100

encoder api: function headers for extra channels

Header only change, implementation to follow.

Files Added:

  • lib/include/jxl/encode.h
  • lib/include/jxl/encode.h

6134ba01845fb2e5e567f9bf9e746afd323b5e43 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/6134ba01845fb2e5e567f9bf9e746afd323b5e43
Authored: 2021-11-08 21:44:24 +0100
Committed: 2021-11-08 21:44:24 +0100

Fix potential ODR violations (#828)

Make functions defined in the headers static inline to avoid potential
ODR violations.

Files Added:

  • lib/jxl/fake_parallel_runner_testonly.h
  • lib/jxl/image_test_utils.h
  • lib/jxl/fake_parallel_runner_testonly.h
  • lib/jxl/image_test_utils.h

bbe0c37898433864014a80752505e0bae178c9c7 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/bbe0c37898433864014a80752505e0bae178c9c7
Authored: 2021-11-08 21:44:09 +0100
Committed: 2021-11-08 21:44:09 +0100

Remove CPU topology detection and CPU pinning (#827)

CPU pinning by djxl/cjxl wasn't compatible with the asymmetric CPUs like
those found in most phones, since we might want to pin to the big cores
or to the small cores, depending on other factors. Newest Intel CPUs are
also asymmetric adding to this problem.

Instead, this patch removes all the CPU topology detection and pinning,
leaving it up to the OS scheduler. Defaulting num_threads to the number
of cores instead of the number of threads (which is higher with HT) has
a mixed performance impact, it may be better or worse depending on the
platform but in any case it is not too significant.

Fixes #824, fixes #734, fixes #168.

Files Deleted:

  • tools/cpu/cpu.cc
  • tools/cpu/cpu.h
  • tools/cpu/os_specific.cc
  • tools/cpu/os_specific.h
  • tools/cpu/cpu.cc
  • tools/cpu/cpu.h
  • tools/cpu/os_specific.cc
  • tools/cpu/os_specific.h

Files Added:

  • tools/CMakeLists.txt
  • tools/benchmark/benchmark_xl.cc
  • tools/cjxl.cc
  • tools/cjxl.h
  • tools/djxl.cc
  • tools/djxl.h
  • tools/djxl_main.cc
  • tools/CMakeLists.txt
  • tools/benchmark/benchmark_xl.cc
  • tools/cjxl.cc
  • tools/cjxl.h
  • tools/djxl.cc
  • tools/djxl.h
  • tools/djxl_main.cc

07c56b368792bc264d197ceeed955cabbf4a528f by Jon Sneyers

https://github.com/libjxl/libjxl-/commit/07c56b368792bc264d197ceeed955cabbf4a528f
Authored: 2021-11-08 15:51:04 +0100
Committed: 2021-11-08 15:51:04 +0100

allow redundant quant table in jbrd (#359)

Files Added:

  • lib/jxl/dec_frame.cc
  • lib/jxl/jpeg/jpeg_data.cc
  • lib/jxl/dec_frame.cc
  • lib/jxl/jpeg/jpeg_data.cc

24d1d8686265fdb6b85689da2af2bb937c975bfd by Lode

https://github.com/libjxl/libjxl-/commit/24d1d8686265fdb6b85689da2af2bb937c975bfd
Authored: 2021-11-08 13:09:41 +0100
Committed: 2021-11-08 14:20:13 +0100

Add photon noise setting to encoder API

Also adds comment that the other noise setting is not recommended, since
the photon noise works better in practice

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc

3dcc1005c5f68be780d1762cba343813f581f54f by Lode

https://github.com/libjxl/libjxl-/commit/3dcc1005c5f68be780d1762cba343813f581f54f
Authored: 2021-11-08 12:33:54 +0100
Committed: 2021-11-08 13:21:22 +0100

Add progressive option to the encoder API

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc

1bb47d44284f22a862ad29491d7d377fab99180e by Lode

https://github.com/libjxl/libjxl-/commit/1bb47d44284f22a862ad29491d7d377fab99180e
Authored: 2021-11-08 11:47:02 +0100
Committed: 2021-11-08 12:11:58 +0100

Add group order option to the encoder API

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc

4e2b33fde8e9f7b23b9c9235f8823e50d4cef1ad by Jon Sneyers

https://github.com/libjxl/libjxl-/commit/4e2b33fde8e9f7b23b9c9235f8823e50d4cef1ad
Authored: 2021-11-08 10:41:12 +0100
Committed: 2021-11-08 10:41:12 +0100

adjust MA tree size limits (#721)

The global MA tree limit was computed without taking extra channels into account. Also added a hard cap of 1<<22 for global trees and 1<<20 for local ones.

Files Added:

  • lib/jxl/dec_modular.cc
  • lib/jxl/modular/encoding/encoding.cc
  • lib/jxl/dec_modular.cc
  • lib/jxl/modular/encoding/encoding.cc

e467ca19abb122d7c31e264cfdadc25c461ed4dd by Lode

https://github.com/libjxl/libjxl-/commit/e467ca19abb122d7c31e264cfdadc25c461ed4dd
Authored: 2021-11-05 19:00:06 +0100
Committed: 2021-11-05 21:30:12 +0100

Addes more missing options to the encoder API

Also added TODO's for the others that cjxl supports that need to be
supported through the API, some of which require more thought.

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc

6ef17f0ee17ac01a2b632cf423aacb7f94b042c3 by Jon Sneyers

https://github.com/libjxl/libjxl-/commit/6ef17f0ee17ac01a2b632cf423aacb7f94b042c3
Authored: 2021-11-04 22:26:02 +0100
Committed: 2021-11-04 22:26:02 +0100

initialize cparams (#774)

Files Added:

  • tools/jxl_from_tree.cc
  • tools/jxl_from_tree.cc

c391c17397d18845ea5e1b0e4b2ff997424514d4 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/c391c17397d18845ea5e1b0e4b2ff997424514d4
Authored: 2021-11-04 19:14:58 +0100
Committed: 2021-11-04 18:14:58 +0000

Expose PredictorName and PropertyName (#814)

These can be used for printing the tree in different ways from other
tools.

Files Added:

  • lib/jxl/modular/encoding/enc_debug_tree.cc
  • lib/jxl/modular/encoding/enc_debug_tree.h
  • lib/jxl/modular/encoding/enc_debug_tree.cc
  • lib/jxl/modular/encoding/enc_debug_tree.h

f1e8262d675a307403f06337ef37e22f4069f089 by Lode

https://github.com/libjxl/libjxl-/commit/f1e8262d675a307403f06337ef37e22f4069f089
Authored: 2021-11-04 12:50:18 +0100
Committed: 2021-11-04 19:13:08 +0100

Add JxlDecoderCloseInput to decoder API

This adds a function to mark input explicitely as closed.

This is required to be used for correctness when box metadata
is gotten, because from streaming input it is not possible to
determine whether the current box is the last box, or the
current bytes of an unbounded last box are the final bytes.
Before, the decoder could return success when the user still
had more input (when requesting box content only), which is
not entirely straightforward.

It should also be used in general from this point on for
consistency, though for backwards compatibility with the
previous released decoder API versions, is not required
to be used when JXL_DEC_BOX is not used.

Files Added:

  • CHANGELOG.md
  • examples/decode_exif_metadata.cc
  • examples/decode_oneshot.cc
  • lib/include/jxl/decode.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_test.cc
  • tools/djxl_fuzzer.cc
  • CHANGELOG.md
  • examples/decode_exif_metadata.cc
  • examples/decode_oneshot.cc
  • lib/include/jxl/decode.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_test.cc
  • tools/djxl_fuzzer.cc

e1513496d4fa0c649373ffe5d0b484cd9c755bbe by Moritz Firsching

https://github.com/libjxl/libjxl-/commit/e1513496d4fa0c649373ffe5d0b484cd9c755bbe
Authored: 2021-11-04 16:23:21 +0100
Committed: 2021-11-04 17:26:43 +0100

release.md: reminder to mention API/ABI changes

it is only relevant for < 1.0
after 1.0 the SOVERSION there is only the MAJOR number

Files Added:

  • doc/release.md
  • doc/release.md

2cf1289476b3eae2877f19d0899fd6becd1f2890 by Lode

https://github.com/libjxl/libjxl-/commit/2cf1289476b3eae2877f19d0899fd6becd1f2890
Authored: 2021-11-02 19:56:39 +0100
Committed: 2021-11-04 16:17:24 +0100

Add modular setting to encoder

Add setting to the encoder to force modular or vardct mode, or use the
default (where in future implementations, encoder is allowed to e.g. use
heuristics on pixel content to choose this)

Also lets the SetDistance option set the quality_pair setting for
modular too. As dicussed with Jon, it's ok to translate distance to
a quality_pair value and expose only one setting in the API, rather than
expose the distance setting for vardct, and the quality pair setting for
modular, separately. The conversion formulas come from cjxl.cc and can
be tweaked if necessary.

Also alters the documentation of the SetLossless setting to specify what
this setting actually does as implemented, and do not be as strict in the
documentation which settings exactly this overrides since this can be
future implementation dependent.

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc

fc2b65ee787cb21097314822c6e8f96361a71eae by Alex Deymo

https://github.com/libjxl/libjxl-/commit/fc2b65ee787cb21097314822c6e8f96361a71eae
Authored: 2021-11-04 16:16:09 +0100
Committed: 2021-11-04 15:16:09 +0000

Fix small clang-tidy issues and typos (#812)

Files Added:

  • lib/include/jxl/encode.h
  • lib/include/jxl/memory_manager.h
  • lib/include/jxl/parallel_runner.h
  • lib/jxl/modular/modular_image.cc
  • lib/include/jxl/encode.h
  • lib/include/jxl/memory_manager.h
  • lib/include/jxl/parallel_runner.h
  • lib/jxl/modular/modular_image.cc

a3571ec4f14e65f9c11a761f68752fef0dbb366f by Alex Deymo

https://github.com/libjxl/libjxl-/commit/a3571ec4f14e65f9c11a761f68752fef0dbb366f
Authored: 2021-11-03 16:44:48 +0100
Committed: 2021-11-03 16:44:48 +0100

Move printf macros PRIuS/PRIdS to printf_macros.h (#810)

PRIuS/PRIdS are the standard names for these macros that should be
defined by the system headers. We have an ifndef guard against double
definition, however it is possible for our header to be included before
a system header (in particular gtest) so this fails with a double
definition of the macro.

Move these definitions to a new header to avoid this issue.
This patch also adds a missing include header in
fake_parallel_runner_testonly.h.

Files Added:

  • lib/jxl/base/printf_macros.h
  • lib/jxl/base/printf_macros.h

Files Added:

  • bash_test.sh
  • lib/extras/codec_pgx.cc
  • lib/extras/codec_png.cc
  • lib/extras/codec_pnm.cc
  • lib/extras/codec_psd.cc
  • lib/extras/codec_test.cc
  • lib/jxl.cmake
  • lib/jxl/aux_out.cc
  • lib/jxl/aux_out.h
  • lib/jxl/base/cache_aligned.cc
  • lib/jxl/blending.cc
  • lib/jxl/butteraugli/butteraugli.cc
  • lib/jxl/coeff_order_test.cc
  • lib/jxl/common.h
  • lib/jxl/convolve_test.cc
  • lib/jxl/dec_ans.cc
  • lib/jxl/dec_external_image.cc
  • lib/jxl/dec_frame.cc
  • lib/jxl/dec_group.cc
  • lib/jxl/dec_modular.cc
  • lib/jxl/dec_patch_dictionary.cc
  • lib/jxl/enc_color_management.cc
  • lib/jxl/enc_detect_dots.cc
  • lib/jxl/enc_modular.cc
  • lib/jxl/fake_parallel_runner_testonly.h
  • lib/jxl/fields.cc
  • lib/jxl/fields.h
  • lib/jxl/frame_header.cc
  • lib/jxl/gauss_blur_test.cc
  • lib/jxl/headers.cc
  • lib/jxl/image.h
  • lib/jxl/image_bundle.cc
  • lib/jxl/image_ops_test.cc
  • lib/jxl/image_test_utils.h
  • lib/jxl/jpeg/enc_jpeg_data_reader.cc
  • lib/jxl/jpeg/jpeg_data.cc
  • lib/jxl/jxl_test.cc
  • lib/jxl/modular/encoding/enc_debug_tree.cc
  • lib/jxl/modular/encoding/enc_encoding.cc
  • lib/jxl/modular/encoding/encoding.cc
  • lib/jxl/modular/transform/squeeze.cc
  • lib/jxl/modular/transform/transform.cc
  • lib/jxl/quant_weights.cc
  • lib/jxl/sanitizers.h
  • lib/jxl/splines.cc
  • lib/jxl/splines_test.cc
  • lib/lib.gni
  • lib/profiler/profiler.cc
  • tools/args.h
  • tools/benchmark/benchmark_stats.cc
  • tools/benchmark/benchmark_xl.cc
  • tools/box/box_list_main.cc
  • tools/butteraugli_main.cc
  • tools/cjxl.cc
  • tools/djxl.cc
  • tools/djxl_main.cc
  • tools/epf_main.cc
  • tools/speed_stats.cc
  • tools/xyb_range.cc
  • bash_test.sh
  • lib/extras/codec_pgx.cc
  • lib/extras/codec_png.cc
  • lib/extras/codec_pnm.cc
  • lib/extras/codec_psd.cc
  • lib/extras/codec_test.cc
  • lib/jxl.cmake
  • lib/jxl/aux_out.cc
  • lib/jxl/aux_out.h
  • lib/jxl/base/cache_aligned.cc
  • lib/jxl/blending.cc
  • lib/jxl/butteraugli/butteraugli.cc
  • lib/jxl/coeff_order_test.cc
  • lib/jxl/common.h
  • lib/jxl/convolve_test.cc
  • lib/jxl/dec_ans.cc
  • lib/jxl/dec_external_image.cc
  • lib/jxl/dec_frame.cc
  • lib/jxl/dec_group.cc
  • lib/jxl/dec_modular.cc
  • lib/jxl/dec_patch_dictionary.cc
  • lib/jxl/enc_color_management.cc
  • lib/jxl/enc_detect_dots.cc
  • lib/jxl/enc_modular.cc
  • lib/jxl/fake_parallel_runner_testonly.h
  • lib/jxl/fields.cc
  • lib/jxl/fields.h
  • lib/jxl/frame_header.cc
  • lib/jxl/gauss_blur_test.cc
  • lib/jxl/headers.cc
  • lib/jxl/image.h
  • lib/jxl/image_bundle.cc
  • lib/jxl/image_ops_test.cc
  • lib/jxl/image_test_utils.h
  • lib/jxl/jpeg/enc_jpeg_data_reader.cc
  • lib/jxl/jpeg/jpeg_data.cc
  • lib/jxl/jxl_test.cc
  • lib/jxl/modular/encoding/enc_debug_tree.cc
  • lib/jxl/modular/encoding/enc_encoding.cc
  • lib/jxl/modular/encoding/encoding.cc
  • lib/jxl/modular/transform/squeeze.cc
  • lib/jxl/modular/transform/transform.cc
  • lib/jxl/quant_weights.cc
  • lib/jxl/sanitizers.h
  • lib/jxl/splines.cc
  • lib/jxl/splines_test.cc
  • lib/lib.gni
  • lib/profiler/profiler.cc
  • tools/args.h
  • tools/benchmark/benchmark_stats.cc
  • tools/benchmark/benchmark_xl.cc
  • tools/box/box_list_main.cc
  • tools/butteraugli_main.cc
  • tools/cjxl.cc
  • tools/djxl.cc
  • tools/djxl_main.cc
  • tools/epf_main.cc
  • tools/speed_stats.cc
  • tools/xyb_range.cc

0c7af4c5205c678fe85263a706cc4bad255cce1c by Lode

https://github.com/libjxl/libjxl-/commit/0c7af4c5205c678fe85263a706cc4bad255cce1c
Authored: 2021-11-03 11:34:59 +0100
Committed: 2021-11-03 14:58:07 +0100

Improve the channel array documentation

Files Added:

  • tools/conformance/djxl_conformance.cc
  • tools/conformance/djxl_conformance.cc

b467f1a48a6348c393aa85ff5cb1e6c1854dc2e8 by Jon Sneyers

https://github.com/libjxl/libjxl-/commit/b467f1a48a6348c393aa85ff5cb1e6c1854dc2e8
Authored: 2021-10-28 11:01:34 +0200
Committed: 2021-11-03 14:58:07 +0100

make djxl_conformance return all extra channels

Files Added:

  • tools/conformance/djxl_conformance.cc
  • tools/conformance/djxl_conformance.cc

8f3735cc163b452443f40cf6eb822c8c77b6b2fd by Alex Deymo

https://github.com/libjxl/libjxl-/commit/8f3735cc163b452443f40cf6eb822c8c77b6b2fd
Authored: 2021-11-03 13:37:42 +0100
Committed: 2021-11-03 13:37:42 +0100

Partially revert "Remove (almost) all uses of C++ distributions/RNGs." (#809)

tools/ that use only the public API break if we try to also use internal
API (base/random.h) since those are not exposed. This particular header
happened to work in most cases because it was mostly header-only, except
when JXL_DEBUG_ON_ERROR is enabled.

Files Added:

  • tools/djxl_fuzzer.cc
  • tools/flicker_test/split_view.cc
  • tools/flicker_test/split_view.h
  • tools/djxl_fuzzer.cc
  • tools/flicker_test/split_view.cc
  • tools/flicker_test/split_view.h

f6b18a39ca9c5ff27d12ce309114305cd9a1f0f0 by Luca Versari

https://github.com/libjxl/libjxl-/commit/f6b18a39ca9c5ff27d12ce309114305cd9a1f0f0
Authored: 2021-08-10 13:27:00 +0200
Committed: 2021-11-03 11:25:49 +0100

High bit depth JPEG1 encoder.

Files Added:

  • tools/README.cjpeg_hdr.md
  • tools/cjpeg_hdr.cc
  • tools/README.cjpeg_hdr.md
  • tools/cjpeg_hdr.cc

Files Added:

  • tools/CMakeLists.txt
  • tools/cjxl.cc
  • tools/CMakeLists.txt
  • tools/cjxl.cc

a9c249708d54f31255f27d7988678b3ec38bbd39 by Luca Versari

https://github.com/libjxl/libjxl-/commit/a9c249708d54f31255f27d7988678b3ec38bbd39
Authored: 2021-11-02 13:50:25 +0100
Committed: 2021-11-02 16:01:46 +0100

Remove ComputeTransposedScaled(I)DCT.

ComputeScaled(I)DCT with ROWS == COLUMNS is identical.

Files Added:

  • lib/jxl/dct-inl.h
  • lib/jxl/dct_test.cc
  • lib/jxl/dec_transforms-inl.h
  • lib/jxl/enc_transforms-inl.h
  • lib/jxl/dct-inl.h
  • lib/jxl/dct_test.cc
  • lib/jxl/dec_transforms-inl.h
  • lib/jxl/enc_transforms-inl.h

bd36d8173f8fc4ee65458fa0719d21670bd57073 by Lode

https://github.com/libjxl/libjxl-/commit/bd36d8173f8fc4ee65458fa0719d21670bd57073
Authored: 2021-11-02 12:27:29 +0100
Committed: 2021-11-02 15:58:11 +0100

Add codestream level setting to encoder

Since this is a global codestream setting, this can't use the option
enum.

Also tuned related encoder settings:

-add comments to JxlEncoderOptionsSetInteger and related structs that
these settings apply only to frames, since this now confused myself,
trying to add the level and force_container settings to the enum while
those are global codestream settings

-added JxlEncoderSetCodestreamLevel to choose level 5 or level 10
compatibility

-changed JxlEncoderUseContainer to no longer be required, it only
forces the container when it is not needed. Using
JxlEncoderStoreJPEGMetadata or JxlEncoderSetCodestreamLevel will
automatically let the encoder emit the container format, it doesn't
require setting JxlEncoderUseContainer.

-added requirement for all of JxlEncoderUseContainer,
JxlEncoderStoreJPEGMetadata, JxlEncoderSetCodestreamLevel to be called
only at the beginning, since they cannot be used once the encoder
already output bytes with possibly the other signature type.

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_internal.h
  • lib/jxl/encode_test.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_internal.h
  • lib/jxl/encode_test.cc

0b1e0b4a847f93e5c7c781201247e709a4f13149 by Lode

https://github.com/libjxl/libjxl-/commit/0b1e0b4a847f93e5c7c781201247e709a4f13149
Authored: 2021-10-27 12:46:02 +0200
Committed: 2021-11-02 10:38:51 +0100

Use enum for encoder distance and effort options

All options use the enum now.

The JxlEncoderOptionsSetLossless will be handled in a different MR,
since it's actually a combination of a modular, quality_pair and
color_transform option that still need to be added

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc
  • plugins/gimp/file-jxl-save.cc
  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc
  • plugins/gimp/file-jxl-save.cc

0b70567432ab630c2d71a70ebdf3792fbdbf5768 by Kleis Auke Wolthuizen

https://github.com/libjxl/libjxl-/commit/0b70567432ab630c2d71a70ebdf3792fbdbf5768
Authored: 2021-11-01 23:34:00 +0100
Committed: 2021-11-01 23:34:00 +0100

tsc_timer.h: sync with nanobenchmark.cc from Highway (#797)

This file was originally originated from nanobenchmark.cc on the
Highway project. Re-syncing this file ensures that the fixes from
commit google/highway@3769cb2, google/highway@1df8ed4 and
google/highway@f2efb75 are incorporated.

Including these commits also resolves the compilation with
llvm-mingw targeting i686 when build with support for profiling.

Files Added:

  • AUTHORS
  • lib/profiler/tsc_timer.h
  • AUTHORS
  • lib/profiler/tsc_timer.h

9fd93c72c951dcf69178dc8747ee31f75f4ed69a by Lode

https://github.com/libjxl/libjxl-/commit/9fd93c72c951dcf69178dc8747ee31f75f4ed69a
Authored: 2021-11-01 17:25:39 +0100
Committed: 2021-11-01 22:18:41 +0100

Check ftyp validity

Check if the ftyp box is present, at the correct position, and only
once, and whether its contents match the exactly specified 20 bytes

This makes the decoder more stringent about this, which aids in
conformance.

Files Added:

  • lib/jxl/decode.cc
  • lib/jxl/decode.cc

b8ec58c58c6281987f42ebec892f513824c0cc0e by Alex Deymo

https://github.com/libjxl/libjxl-/commit/b8ec58c58c6281987f42ebec892f513824c0cc0e
Authored: 2021-11-01 20:22:45 +0100
Committed: 2021-11-01 19:22:45 +0000

Fix build with latest asciidoc (#805)

asciidoc in debian:sid is now a bash script to force it to run with
python3. This breaks our workarounds for older versions. This patch
extends the workarounds to support the new case.

Files Added:

  • CMakeLists.txt
  • CMakeLists.txt

3acf7569e831c097e63ded26fe576db9f949170e by Jon Sneyers

https://github.com/libjxl/libjxl-/commit/3acf7569e831c097e63ded26fe576db9f949170e
Authored: 2021-10-28 10:59:29 +0200
Committed: 2021-11-01 18:43:43 +0100

expose decode option to disable spot color rendering

Files Added:

  • lib/include/jxl/decode.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_test.cc
  • lib/include/jxl/decode.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_test.cc

2b5e77c79ba0b5c30681810438f49076d6e500b9 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/2b5e77c79ba0b5c30681810438f49076d6e500b9
Authored: 2021-10-29 20:28:31 +0200
Committed: 2021-10-29 18:28:31 +0000

Update CHANGELOG.md for v0.6.1 (#801)

Files Added:

  • CHANGELOG.md
  • CHANGELOG.md

4f3daf864e603d22d9b4303e1c735d9d2c54189b by Alex Deymo

https://github.com/libjxl/libjxl-/commit/4f3daf864e603d22d9b4303e1c735d9d2c54189b
Authored: 2021-10-29 18:50:39 +0200
Committed: 2021-10-29 18:50:39 +0200

Migrate to AButler/upload-release-assets action. (#795)

svenstaro/upload-release-action is triggering connection issues when
uploading artifacts to releases and there's no fix for it. Migrate to
a different action for uploading artifacts to releases.

Added fail-fast: false to increase the likelihood that other workflows
in the matrix upload their artifacts when one fails so we can retry
less jobs.

Files Added:

  • .github/workflows/release.yaml
  • .github/workflows/release.yaml

aa62a07ffd86d19c55e15f3c5c10ba377e069289 by Luca Versari

https://github.com/libjxl/libjxl-/commit/aa62a07ffd86d19c55e15f3c5c10ba377e069289
Authored: 2021-10-27 23:46:08 +0200
Committed: 2021-10-28 20:18:58 +0200

Use the original image to compute masking in Butteraugli.

Before:

Encoding                kPixels    Bytes          BPP  E MP/s  D MP/s     Max norm        pnorm       BPP*pnorm   Bugs
----------------------------------------------------------------------------------------------------------------------
jxl:d1                    13270  2678634    1.6147963   4.325  30.178   1.70188427   0.61515643  0.993352329364      0
jxl:d1:tortoise           13270  2625565    1.5828040   0.198  30.289   1.34335029   0.61182869  0.968404909146      0
jxl:d1:epf0               13270  2663496    1.6056705   4.525  32.322   1.70183861   0.61701721  0.990726314686      0
jxl:d1:epf0:tortoise      13270  2612041    1.5746512   0.200  30.556   1.34055078   0.61332655  0.965775372929      0
jxl:d1:epf2               13270  2678603    1.6147776   4.493  28.471   1.70166183   0.61519468  0.993402597893      0
jxl:d1:epf2:tortoise      13270  2625195    1.5825810   0.199  27.172   1.34585810   0.61180372  0.968228918652      0
jxl:d2                    13270  1683712    1.0150143   4.797  30.441   3.10947037   0.98210674  0.996852423533      0
jxl:d2:tortoise           13270  1573531    0.9485925   0.320  32.720   2.46310854   1.03158689  0.978555560811      0
jxl:d2:epf0               13270  1667388    1.0051735   4.595  33.520   3.10947418   0.98832064  0.993433737530      0
jxl:d2:epf0:tortoise      13270  1559196    0.9399507   0.320  37.862   2.46315694   1.03815067  0.975810465201      0
jxl:d2:epf2               13270  1683712    1.0150143   4.868  30.112   3.10947037   0.98210674  0.996852423533      0
jxl:d2:epf2:tortoise      13270  1573531    0.9485925   0.325  33.598   2.46310854   1.03158689  0.978555560811      0
jxl:d3                    13270  1243679    0.7497434   4.280  30.961   3.78434587   1.30507065  0.978468148888      0
jxl:d3:tortoise           13270  1141750    0.6882962   0.357  32.325   3.62965083   1.39145244  0.957731468225      0
jxl:d3:epf0               13270  1226972    0.7396717   4.427  35.932   3.83104753   1.31665631  0.973893451658      0
jxl:d3:epf0:tortoise      13270  1126756    0.6792572   0.356  38.224   3.62963104   1.40301584  0.953008606382      0
jxl:d3:epf2               13270  1243780    0.7498043   4.159  30.367   3.78434587   1.30504908  0.978531441734      0
jxl:d3:epf2:tortoise      13270  1141782    0.6883155   0.358  33.149   3.62965083   1.39150323  0.957793265750      0
jxl:d4                    13270  1004814    0.6057453   4.403  23.039   5.53548670   1.59591498  0.966717984962      0
jxl:d4:tortoise           13270   910484    0.5488791   0.370  24.639   4.82455301   1.72064451  0.944425794645      0
jxl:d4:epf0               13270   989916    0.5967641   4.385  35.905   5.40953732   1.59797925  0.953616701130      0
jxl:d4:epf0:tortoise      13270   896631    0.5405279   0.384  39.288   4.65310192   1.72721399  0.933607359749      0
jxl:d4:epf2               13270  1004961    0.6058339   4.473  30.973   5.44652557   1.58231070  0.958617474630      0
jxl:d4:epf2:tortoise      13270   909674    0.5483908   0.381  30.919   4.65799379   1.71015844  0.937835138470      0
jxl:d6                    13270   718752    0.4332948   4.225  22.564   7.17935848   2.13714220  0.926012513752      0
jxl:d6:tortoise           13270   641698    0.3868433   0.328  24.082   6.92472696   2.32555537  0.899625463356      0
jxl:d6:epf0               13270   706347    0.4258165   4.363  38.962   7.10552168   2.11943320  0.902489601948      0
jxl:d6:epf0:tortoise      13270   630194    0.3799082   0.337  43.640   6.83466053   2.31353717  0.878931674430      0
jxl:d6:epf2               13270   718678    0.4332501   4.162  33.466   6.80208492   2.10031446  0.909961550060      0
jxl:d6:epf2:tortoise      13270   640141    0.3859047   0.337  34.369   6.76663256   2.29665034  0.886288049725      0
jxl:d8                    13270   576742    0.3476850   4.334  22.803   9.43436241   2.61434568  0.908968766493      0
jxl:d8:tortoise           13270   515577    0.3108121   0.333  23.038   8.32634068   2.86924110  0.891794826559      0
jxl:d8:epf0               13270   565542    0.3409332   4.359  39.957   7.98679543   2.56039342  0.872922998168      0
jxl:d8:epf0:tortoise      13270   503434    0.3034918   0.345  42.978   8.83266258   2.82980155  0.858821467876      0
jxl:d8:epf2               13270   576823    0.3477338   4.400  32.555   8.48999977   2.54703248  0.885689349853      0
jxl:d8:epf2:tortoise      13270   512496    0.3089547   0.341  33.241   8.62333107   2.81468579  0.869610489801      0
Aggregate:                13270  1099805    0.6630100   1.180  31.608   4.09325252   1.42244740  0.943096827206      0

After:

Encoding                kPixels    Bytes          BPP  E MP/s  D MP/s     Max norm        pnorm       BPP*pnorm   Bugs
----------------------------------------------------------------------------------------------------------------------
jxl:d1                    13270  2678634    1.6147963   4.328  31.125   1.68153656   0.60257544  0.973036598212      0
jxl:d1:tortoise           13270  2613251    1.5753806   0.200  29.754   1.33397424   0.60370355  0.951062864300      0
jxl:d1:epf0               13270  2663496    1.6056705   4.582  33.600   1.68149400   0.60495563  0.971359388069      0
jxl:d1:epf0:tortoise      13270  2600547    1.5677221   0.200  29.300   1.33369124   0.60554492  0.949326138226      0
jxl:d1:epf2               13270  2678603    1.6147776   4.564  29.018   1.68132198   0.60257560  0.973025584433      0
jxl:d1:epf2:tortoise      13270  2613612    1.5755982   0.201  27.294   1.33662891   0.60372253  0.951224154655      0
jxl:d2                    13270  1683712    1.0150143   4.835  30.222   3.00312042   0.95243347  0.966733631920      0
jxl:d2:tortoise           13270  1568509    0.9455650   0.316  34.682   2.47716522   1.00518743  0.950470041136      0
jxl:d2:epf0               13270  1667388    1.0051735   4.569  35.007   3.00312471   0.96212573  0.967103309027      0
jxl:d2:epf0:tortoise      13270  1555163    0.9375194   0.312  38.100   2.47721243   1.01503465  0.951614725095      0
jxl:d2:epf2               13270  1683712    1.0150143   4.881  29.099   3.00312042   0.95243347  0.966733631920      0
jxl:d2:epf2:tortoise      13270  1568509    0.9455650   0.318  32.464   2.47716522   1.00518743  0.950470041136      0
jxl:d3                    13270  1243679    0.7497434   4.241  30.153   3.66980815   1.25484599  0.940812542946      0
jxl:d3:tortoise           13270  1137242    0.6855786   0.351  32.610   3.63637161   1.34565021  0.922548999861      0
jxl:d3:epf0               13270  1226972    0.7396717   4.269  36.737   3.89280939   1.27539657  0.943374791244      0
jxl:d3:epf0:tortoise      13270  1123187    0.6771057   0.364  41.634   3.64454556   1.36610971  0.925000603559      0
jxl:d3:epf2               13270  1243780    0.7498043   4.296  29.833   3.66980815   1.25479097  0.940847689018      0
jxl:d3:epf2:tortoise      13270  1137164    0.6855316   0.359  30.839   3.63637161   1.34569101  0.922513700190      0
jxl:d4                    13270  1004814    0.6057453   4.437  23.757   4.85261440   1.50557311  0.911993821522      0
jxl:d4:tortoise           13270   904863    0.5454905   0.369  23.784   4.74218035   1.63598942  0.892416701909      0
jxl:d4:epf0               13270   989916    0.5967641   4.542  36.683   4.85253572   1.54257989  0.920556350660      0
jxl:d4:epf0:tortoise      13270   892251    0.5378875   0.377  37.913   4.78133154   1.67488591  0.900900117214      0
jxl:d4:epf2               13270  1004961    0.6058339   4.405  32.457   4.85257292   1.50989994  0.914748582254      0
jxl:d4:epf2:tortoise      13270   905912    0.5461229   0.380  33.899   4.74489403   1.64137110  0.896390332081      0
jxl:d6                    13270   718752    0.4332948   4.277  23.440   6.68833828   1.97617688  0.856267082888      0
jxl:d6:tortoise           13270   635236    0.3829477   0.326  25.012   6.73313189   2.16693052  0.829821072231      0
jxl:d6:epf0               13270   706347    0.4258165   4.337  39.195   6.91070318   2.03981730  0.868587839796      0
jxl:d6:epf0:tortoise      13270   625229    0.3769151   0.335  42.578   6.90295219   2.23033733  0.840647713886      0
jxl:d6:epf2               13270   718678    0.4332501   4.204  32.396   6.76956367   1.98289621  0.859090079501      0
jxl:d6:epf2:tortoise      13270   634080    0.3822508   0.337  33.245   6.75473166   2.17497633  0.831386485168      0
jxl:d8                    13270   576742    0.3476850   4.382  23.666   8.16276550   2.36454708  0.822117539824      0
jxl:d8:tortoise           13270   508511    0.3065524   0.335  23.064   8.24867535   2.63046063  0.806374022646      0
jxl:d8:epf0               13270   565542    0.3409332   4.319  39.576   7.78608036   2.44494236  0.833561904843      0
jxl:d8:epf0:tortoise      13270   499918    0.3013722   0.345  43.057   8.45994949   2.71273423  0.817542599868      0
jxl:d8:epf2               13270   576823    0.3477338   4.394  31.571   7.57549858   2.36666305  0.822968797015      0
jxl:d8:epf2:tortoise      13270   505274    0.3046010   0.340  33.649   8.52418518   2.63902027  0.803848205042      0
Aggregate:                13270  1096405    0.6609601   1.180  31.774   3.98343832   1.36518483  0.902332707979      0

Images for visual comparison:
https://old.lucaversari.it/jpeg_xl_data/bt_after/
https://old.lucaversari.it/jpeg_xl_data/bt_before/

Summary of results: at slower speeds, bitrates go down a bit. I cannot
tell the difference at low distances; at high (>4) distance, it looks
like some artefacts go away, but so do some details.

Files Added:

  • lib/jxl/butteraugli/butteraugli.cc
  • lib/jxl/jxl_test.cc
  • lib/jxl/butteraugli/butteraugli.cc
  • lib/jxl/jxl_test.cc

be8d1060c059921c3d57590b5eeb6e58e84235e5 by Luca Versari

https://github.com/libjxl/libjxl-/commit/be8d1060c059921c3d57590b5eeb6e58e84235e5
Authored: 2021-10-28 16:53:21 +0200
Committed: 2021-10-28 20:02:27 +0200

Fix some confusion about image_xsize for extra channels.

image_xsize before upsampling was used, where the xsize after upsampling
should have been.

Files Added:

  • lib/jxl/dec_reconstruct.cc
  • lib/jxl/image.h
  • lib/jxl/dec_reconstruct.cc
  • lib/jxl/image.h

0b2d25b34599541524dcb5cc529e008e8e9eea9b by Alex Deymo

https://github.com/libjxl/libjxl-/commit/0b2d25b34599541524dcb5cc529e008e8e9eea9b
Authored: 2021-10-28 15:54:05 +0200
Committed: 2021-10-28 13:54:05 +0000

Turn down GitLab CI workflows. (#794)

Most of the GitLab CI workflows have been migrated, with the following
exceptions:

  • fast_benchmark on aarch64 hardware is currently broken because the
    hardware broke.

  • tsan builds: they haven't been very effective at finding bugs, but
    they can be added in GitHub if needed.

  • i686 cross-compiled tests, because they fail due to small float
    differences.

Files Deleted:

  • .gitlab-ci.yml
  • .gitlab-ci.yml

c3c36eb42e6613ecf60495a3e832f2fd79cd64e1 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/c3c36eb42e6613ecf60495a3e832f2fd79cd64e1
Authored: 2021-10-28 14:05:40 +0200
Committed: 2021-10-28 14:05:40 +0200

Migrate WASM builds to GitHub Actions (#789)

Build and run WASM on scalar and SIMD modes with the same emsdk and v8
versions as before. Remove these builders from GitLab.

Files Added:

  • .github/workflows/build_test.yml
  • .gitlab-ci.yml
  • .github/workflows/build_test.yml
  • .gitlab-ci.yml

29a3b20d4cc919d46ce71829ec70c6fdf6d86ab5 by Lode

https://github.com/libjxl/libjxl-/commit/29a3b20d4cc919d46ce71829ec70c6fdf6d86ab5
Authored: 2021-10-28 11:47:12 +0200
Committed: 2021-10-28 13:27:41 +0200

Add exif/xmp marker size check

To avoid integer overflow by subtracting the header size

Files Added:

  • lib/jxl/decode.cc
  • lib/jxl/decode_to_jpeg.cc
  • lib/jxl/decode_to_jpeg.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_to_jpeg.cc
  • lib/jxl/decode_to_jpeg.h

839ef3e392240fc3994b8b73e5164ac5cad4d30a by Lode Vandevenne

https://github.com/libjxl/libjxl-/commit/839ef3e392240fc3994b8b73e5164ac5cad4d30a
Authored: 2021-10-27 16:30:03 +0200
Committed: 2021-10-28 11:20:01 +0200

Fix issue when having both XML and Exif box

The decoder was reusing the same position variable for JPEG reconstruction
metadata, but not re-initializing it to 0 for the other type of box

Files Added:

  • third_party/testdata/jxl/jpeg_reconstruction/1x1_exif_xmp.jpg
  • third_party/testdata/jxl/jpeg_reconstruction/1x1_exif_xmp.jxl
  • third_party/testdata/jxl/jpeg_reconstruction/1x1_exif_xmp.jpg
  • third_party/testdata/jxl/jpeg_reconstruction/1x1_exif_xmp.jxl

Files Added:

  • lib/jxl/box_content_decoder.cc
  • lib/jxl/decode.cc
  • lib/jxl/decode_test.cc
  • lib/jxl/decode_to_jpeg.cc
  • lib/jxl/box_content_decoder.cc
  • lib/jxl/decode.cc
  • lib/jxl/decode_test.cc
  • lib/jxl/decode_to_jpeg.cc

35ad5de736b3f1ea9784113e2e30ea424c251616 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/35ad5de736b3f1ea9784113e2e30ea424c251616
Authored: 2021-10-27 22:45:56 +0200
Committed: 2021-10-27 22:45:56 +0200

Fix tests when building without libjpeg installed. (#788)

libjpeg is optional, but tests loading a .jpg need it since it is used
by the libjxl_extras lib to load .jpg files. Disabled the tests that
require .jpg or otherwise make the test not use a .jpg file.

Files Added:

  • lib/jxl/encode_test.cc
  • lib/jxl/jxl_test.cc
  • lib/jxl/roundtrip_test.cc
  • lib/jxl/encode_test.cc
  • lib/jxl/jxl_test.cc
  • lib/jxl/roundtrip_test.cc

f60c738fe37a6e64fc7f77b26d5dd901cd8b4149 by Evgenii Kliuchnikov

https://github.com/libjxl/libjxl-/commit/f60c738fe37a6e64fc7f77b26d5dd901cd8b4149
Authored: 2021-10-27 14:42:21 +0000
Committed: 2021-10-27 17:09:45 +0200

Add missing "default" JXL_NORETURN definition.

Should not affect anything, just for completeness.

Files Added:

  • lib/jxl/base/compiler_specific.h
  • lib/jxl/base/compiler_specific.h

6378502fcc899a3c64a674726170117bcbe3de41 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/6378502fcc899a3c64a674726170117bcbe3de41
Authored: 2021-10-27 15:23:53 +0200
Committed: 2021-10-27 15:23:53 +0200

Fix segfault on partial data with --allow_partial_files. (#782)

djxl tool has a flag --allow_partial_files that allows decoding
partial files. When a partial file with no frames, or at least no
frames that should be displayed is passed the program would access
members of back() pointer on an empty std::vector, causing a segfault.

Fixes #781.

Files Added:

  • lib/jxl/dec_file.cc
  • lib/jxl/dec_file.cc

bab941f99a40468436cc7c92c4b49e3714cf603f by Lode

https://github.com/libjxl/libjxl-/commit/bab941f99a40468436cc7c92c4b49e3714cf603f
Authored: 2021-10-26 17:37:02 +0200
Committed: 2021-10-27 14:09:44 +0200

Support exif/xmp after codestream

For the jpeg reconstruction in the API

Files Added:

  • lib/jxl/decode.cc
  • lib/jxl/decode_to_jpeg.cc
  • lib/jxl/decode_to_jpeg.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_to_jpeg.cc
  • lib/jxl/decode_to_jpeg.h

835aa02462a05f676c179a01f15a1ce6a2a65054 by Sami Boukortt

https://github.com/libjxl/libjxl-/commit/835aa02462a05f676c179a01f15a1ce6a2a65054
Authored: 2021-10-26 20:30:12 +0200
Committed: 2021-10-27 11:50:08 +0200

Tone mapping: restore the protection against very low luminances

Files Added:

  • lib/extras/tone_mapping.cc
  • lib/extras/tone_mapping.cc

e6497057899269bb40f54a26729826a55d857fd7 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/e6497057899269bb40f54a26729826a55d857fd7
Authored: 2021-10-27 01:25:16 +0200
Committed: 2021-10-26 23:25:16 +0000

Fix out of bounds copy in LoadBorders() (#775)

When processing groups out of order with an image where the last group
size is smaller than the needed border it was possible to attempt to
load the right or bottom border from the next group when already
processing the rightmost or bottom group respectively. This situation
was causing an out-of-bounds copy on saved Image3F buffer in release
mode (or hitting a JXL_DASSERT in debug mode).

The order in which the groups are processed depends on many factors,
including the order in which the threads are scheduled when using
multiple threads, and potentially the order of the groups in the file
(not checked).

Added a test to force the out-of-order situation in a simulated parallel
runner that forces a random order on the tasks. The new test triggers
the assert in debug mode, which is now fixed.

Fixes #708.

Files Added:

  • lib/jxl/fake_parallel_runner_testonly.h
  • lib/jxl/fake_parallel_runner_testonly.h

Files Added:

  • lib/jxl/dec_cache.cc
  • lib/jxl/jxl_test.cc
  • lib/jxl_tests.cmake
  • lib/lib.gni
  • lib/jxl/dec_cache.cc
  • lib/jxl/jxl_test.cc
  • lib/jxl_tests.cmake
  • lib/lib.gni

5da195c6b5b93968d85d5cb05ab434a4cf0b78da by Artem Selishchev

https://github.com/libjxl/libjxl-/commit/5da195c6b5b93968d85d5cb05ab434a4cf0b78da
Authored: 2021-10-26 15:32:42 -0700
Committed: 2021-10-27 00:32:42 +0200

Fix std::max with zero issue (#745)

I accidentally found few lines in the code where std::max is used wrong: std::max(0, /* size_t */ something). Obviously, the purpose of such an expression was to return zero instead of a negative value.

But both x and xborder are unsigned integers and subtraction of them is also unsigned. So we get underflow here.

Updated AUTHORS

Files Added:

  • AUTHORS
  • lib/jxl/butteraugli/butteraugli.cc
  • AUTHORS
  • lib/jxl/butteraugli/butteraugli.cc

604214af1b49815caddc22b38743890f7384bf97 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/604214af1b49815caddc22b38743890f7384bf97
Authored: 2021-10-27 00:29:26 +0200
Committed: 2021-10-26 22:29:26 +0000

Temporarily limit docutils to 0.17 to avoid incompatibility with sphinx. (#778)

sphinx 4.2 doesn't work with docutils 0.18 (it produces a warning which
we treat as error, at least). Prevent the builders from installing
version 0.18 of docutils to fix the workflow.

This should be removed once sphinx 4.3 is released.

Files Added:

  • doc/sphinx/requirements.txt
  • doc/sphinx/requirements.txt

fe4481fc94f10944d1a0276ad71fe0b534a690b3 by Jon Sneyers

https://github.com/libjxl/libjxl-/commit/fe4481fc94f10944d1a0276ad71fe0b534a690b3
Authored: 2021-10-26 14:35:10 +0200
Committed: 2021-10-26 14:35:10 +0200

take signaling cost of hybriduintconfig into account (#773)

Take the signaling cost of the hybriduintconfig encoding itself into account. This e.g. results in config 0-0-0 being chosen instead of 4-2-0 in case of jxl art where everything is zero anyway.

Impact is at most one byte of size reduction per histogram, so pretty small :)

Files Added:

  • lib/jxl/enc_ans.cc
  • lib/jxl/enc_ans.cc

b8f56e02f23425dd7b30a5385bedc69635bbb84a by Jon Sneyers

https://github.com/libjxl/libjxl-/commit/b8f56e02f23425dd7b30a5385bedc69635bbb84a
Authored: 2021-10-26 14:34:21 +0200
Committed: 2021-10-26 14:34:21 +0200

add EPF and Gaborish options to jxl_from_tree (#772)

Files Added:

  • tools/jxl_from_tree.cc
  • tools/jxl_from_tree.cc

f0b9147ee57805c4ab45abdf8d72e2da9c5a951c by Lode

https://github.com/libjxl/libjxl-/commit/f0b9147ee57805c4ab45abdf8d72e2da9c5a951c
Authored: 2021-10-20 21:39:01 +0200
Committed: 2021-10-25 23:44:03 +0200

Support exif/xmp boxes in API JPEG1 reconstruction

Previously, the API implementation didn't set the exif and xmp box data
into the jpeg reconstruction data.

This supports it, but only for the case where the exif and/or xmp boxes
appear before the codestream for now.

Files Added:

  • lib/jxl/decode.cc
  • lib/jxl/decode_to_jpeg.cc
  • lib/jxl/decode_to_jpeg.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_to_jpeg.cc
  • lib/jxl/decode_to_jpeg.h

ba027e0cd2263a1877d9ae70fa9783c0b353a70c by Lode

https://github.com/libjxl/libjxl-/commit/ba027e0cd2263a1877d9ae70fa9783c0b353a70c
Authored: 2021-10-20 13:34:25 +0200
Committed: 2021-10-25 20:20:34 +0200

Add box decoding to djxl_fuzzer

Files Added:

  • tools/djxl_fuzzer.cc
  • tools/djxl_fuzzer.cc

e0bf22f5b7e4449d734ee9fad462fe2a76d70774 by Alex Deymo

https://github.com/libjxl/libjxl-/commit/e0bf22f5b7e4449d734ee9fad462fe2a76d70774
Authored: 2021-10-25 18:15:56 +0200
Committed: 2021-10-25 18:15:56 +0200

Test conformance_tooling_test in GitHub release workflow. (#768)

conformance_tooling_test needs numpy to run.

Files Added:

  • .github/workflows/build_test.yml
  • .github/workflows/build_test.yml

b3a008a52f631d0c06672d10ddcdf9ce6749a96f by Alex Deymo

https://github.com/libjxl/libjxl-/commit/b3a008a52f631d0c06672d10ddcdf9ce6749a96f
Authored: 2021-10-25 18:15:43 +0200
Committed: 2021-10-25 18:15:43 +0200

Fix gtest/gmock shared libs deps in GitLab docker runs. (#769)

Files Added:

  • ci.sh
  • ci.sh

a6a139ad7c200e5073c91508a5cb05d00b6ae139 by Sami Boukortt

https://github.com/libjxl/libjxl-/commit/a6a139ad7c200e5073c91508a5cb05d00b6ae139
Authored: 2021-10-21 20:34:05 +0200
Committed: 2021-10-25 11:51:31 +0200

Tone mapping: allow more preservation of saturation, and also use the gamut mapping after the HLG OOTF

Files Added:

  • lib/extras/tone_mapping.cc
  • lib/extras/tone_mapping.h
  • tools/djxl.cc
  • tools/djxl.h
  • tools/hdr/README.md
  • tools/hdr/display_to_hlg.cc
  • tools/hdr/pq_to_hlg.cc
  • tools/hdr/render_hlg.cc
  • tools/hdr/tone_map.cc
  • lib/extras/tone_mapping.cc
  • lib/extras/tone_mapping.h
  • tools/djxl.cc
  • tools/djxl.h
  • tools/hdr/README.md
  • tools/hdr/display_to_hlg.cc
  • tools/hdr/pq_to_hlg.cc
  • tools/hdr/render_hlg.cc
  • tools/hdr/tone_map.cc

ad96c3d84f8b3b79425fecff4ef800621c1fe3c5 by Luca Versari

https://github.com/libjxl/libjxl-/commit/ad96c3d84f8b3b79425fecff4ef800621c1fe3c5
Authored: 2021-10-22 22:15:19 +0200
Committed: 2021-10-22 22:38:37 +0200

Only delete sha256sum key if present.

Fixes #765.

Files Added:

  • tools/conformance/conformance.py
  • tools/conformance/conformance.py

0c3c093386f7edf2d358740fb46c7f6bc2bd3900 by Luca Versari

https://github.com/libjxl/libjxl-/commit/0c3c093386f7edf2d358740fb46c7f6bc2bd3900
Authored: 2021-10-22 11:09:22 +0200
Committed: 2021-10-22 11:36:58 +0200

More conformance testing script fixes.

Files Added:

  • tools/conformance/conformance.py
  • tools/conformance/conformance.py

5819d221bb1919c13c5090357b7d45cf95ab88f6 by Luca Versari

https://github.com/libjxl/libjxl-/commit/5819d221bb1919c13c5090357b7d45cf95ab88f6
Authored: 2021-10-22 11:08:09 +0200
Committed: 2021-10-22 09:08:09 +0000

Fix conformance test script to run with the repo. (#761)

Files Added:

  • tools/conformance/conformance.py
  • tools/conformance/conformance.py

e8ce63f55f7f8321d56cd8ee83de6c0a19ccd366 by Evgenii Kliuchnikov

https://github.com/libjxl/libjxl-/commit/e8ce63f55f7f8321d56cd8ee83de6c0a19ccd366
Authored: 2021-10-21 09:36:00 +0000
Committed: 2021-10-21 18:38:20 +0200

Use lcms2 in conformance testing

Drive-by: fixes #758

Files Added:

  • tools/conformance/lcms2.py
  • tools/conformance/lcms2.py

Files Added:

  • tools/conformance/conformance.py
  • tools/conformance/tooling_test.sh
  • tools/conformance/conformance.py
  • tools/conformance/tooling_test.sh

./mach vendor media/libjxl/moz.yaml failed with the following message:

0:00.25 Latest commit is 1dcb5156815a6e59be92ffcfa9625cbcdd456961 from 2021-11-09T20:32:45Z
0:00.25 Fetching code archive from https://github.com/libjxl/libjxl/archive/1dcb5156815a6e59be92ffcfa9625cbcdd456961.tar.gz
0:02.21 rm -rf third_party/jpeg-xl
0:02.23 Unpacking upstream files from third_party/jpeg-xl.
0:02.47 Removing unnecessary files.
0:02.47 Removing: ['third_party/jpeg-xl/doc/', 'third_party/jpeg-xl/third_party/testdata/', 'third_party/jpeg-xl/tools/', 'third_party/jpeg-xl/.gitignore', 'third_party/jpeg-xl/.github', 'third_party/jpeg-xl/.gitmodules']
0:02.48 Updating moz.yaml.
Found release: commit 0eff04c3a04e72e78d35f0965f17f54a98d61830 (2021-10-20T17:45:50Z).

Found revision: 0eff04c3a04e72e78d35f0965f17f54a98d61830

0:02.48 Updating files
0:02.48 Registering changes with version control.
0:03.08 Updating moz.build files
0:06.70 Could not add third_party/jpeg-xl/lib/gbench_main.cc to the appropriate moz.build file
0:06.70 This is a deficiency in ./mach vendor and should be reported to the Updatebot maintainers.

Flags: needinfo?(krosylight)

0:06.70 This is a deficiency in ./mach vendor and should be reported to the Updatebot maintainers.

Again as such:

Flags: needinfo?(tom)
Flags: needinfo?(krosylight)
Flags: needinfo?(jewilde)

That file is not relevant at all, btw.

Assignee: nobody → krosylight
Status: NEW → ASSIGNED

I think Updatebot should just try building before that check and if it runs well then it shouldn't fail.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 96 Branch
Flags: needinfo?(jewilde)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: