Closed Bug 1714642 Opened 4 years ago Closed 3 years ago

Update jpeg-xl to new version 5973b44bc36f2c4ca182978ec28f8503a9975985 from 2021-06-04 18:20:06

Categories

(Core :: Graphics: ImageLib, enhancement)

enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1810317
Tracking Status
firefox91 --- affected

People

(Reporter: update-bot, Unassigned)

References

Details

(Whiteboard: [3pl-filed][task_id: Oz2HEKKkQqO4rMPP7164-w])

This update covers 64 commits, including 2 new upstream commits I've never filed a bug on before. (They're the top 2.):


5973b44bc36f2c4ca182978ec28f8503a9975985 by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/5973b44bc36f2c4ca182978ec28f8503a9975985
Authored: 2021-06-04 18:20:06 +0200
Committed: 2021-06-04 18:20:06 +0200

New JPEGXL_ENABLE_TRANSCODE_JPEG build flag to disable decoding to JPEG (#97)

JPEG reconstruction in the API is not needed if we are only interested
in decoding to pixels. Disabling support for decoding to JPEG in the API
saves about 95 kB in libjxl_dec.so in an arm build, and about 50 kB in a
size-optimized arm build.

Files Added:

  • .github/workflows/build_test.yml
  • CMakeLists.txt
  • lib/jxl.cmake
  • lib/jxl/common.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_test.cc
  • lib/jxl/decode_to_jpeg.cc
  • lib/jxl/decode_to_jpeg.h
  • lib/jxl/encode_test.cc
  • lib/jxl/image_bundle.h
  • lib/jxl/jpeg/jpeg_data.cc
  • lib/jxl/jpeg/jpeg_data.h
  • lib/jxl/jxl_test.cc
  • lib/jxl/roundtrip_test.cc
  • lib/jxl/test_utils.h

82c14cda8301f49f0e662f04c60a9e5e1fe101d3 by Luca Versari

https://gitlab.com/wg1/jpeg-xl-/commit/82c14cda8301f49f0e662f04c60a9e5e1fe101d3
Authored: 2021-06-04 13:34:32 +0200
Committed: 2021-06-04 13:57:48 +0200

Fix yet another bug in rect-ycbcr-upsampling.

The computation of the "far" border of the current rect was incorrect.

Files Added:

  • third_party/testdata/imagecompression.info/flower_foveon_cropped.jpg

Files Added:

  • lib/jxl/dec_reconstruct.cc
  • lib/jxl/jxl_test.cc

1af98cc15c32a060be380d44dea49c1f0e43464b by Petr Diblík

https://gitlab.com/wg1/jpeg-xl-/commit/1af98cc15c32a060be380d44dea49c1f0e43464b
Authored: 2021-06-04 13:35:34 +0200
Committed: 2021-06-04 13:35:34 +0200

Fix typo in Contributing (#101)

  • +Petr Diblík
  • -superfluous bracket

Files Added:

  • AUTHORS
  • CONTRIBUTING.md

c03876e303806b41a80c66300dbc73b889e338d0 by Evgenii Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/c03876e303806b41a80c66300dbc73b889e338d0
Authored: 2021-06-04 10:19:13 +0000
Committed: 2021-06-04 13:03:25 +0200

Fuzz: fix DASSERT in FinalizeFrameDecoding

Similar to recent fix, but for EC: upsampler takes care of mirroring,
so it should be fed with physical image size.

Files Added:

  • lib/jxl/dec_reconstruct.cc

fa2e50dc3ca908f168999a3c7a49ea805c27e3d0 by Evgenii Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/fa2e50dc3ca908f168999a3c7a49ea805c27e3d0
Authored: 2021-05-27 11:05:30 +0000
Committed: 2021-06-04 11:28:20 +0200

Install JDK into docker image (for testing JNI wrapper).

Also update V8 and EMCC.

Files Added:

  • .gitlab-ci.yml
  • docker/scripts/emsdk_install.sh
  • docker/scripts/jpegxl_builder.sh

dfc730a8dd7d94f0ce9ec32573e7c9c7e178fb15 by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/dfc730a8dd7d94f0ce9ec32573e7c9c7e178fb15
Authored: 2021-06-02 11:40:57 +0200
Committed: 2021-06-03 14:59:32 +0200

do unpremultiply if needed in ConvertToExternal

Files Added:

  • lib/jxl/dec_external_image.cc
  • lib/jxl/dec_frame.h

da7ff9a1956ea7749d804880bffd47ad6dc516a0 by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/da7ff9a1956ea7749d804880bffd47ad6dc516a0
Authored: 2021-06-03 12:19:40 +0200
Committed: 2021-06-03 12:19:40 +0200

Refactor decoding Jxl to JPEG out of decode.cc (#93)

This patch groups most of the JPEG reconstruction decoder logic out of
the JxlDecoder to a new class JxlToJpegDecoder that is included in the
JxlDecoder struct. This clears a little bit the JxlDecoder but more
importantly makes it easier to remove the dependency on jxl::jpeg::
functions with a flag at build time which will be added later.

Files Added:

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

Files Added:

  • lib/jxl.cmake
  • lib/jxl/decode.cc
  • lib/lib.gni

4c6eceb9e329e74678acd034ac6cab0d32a7eb2c by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/4c6eceb9e329e74678acd034ac6cab0d32a7eb2c
Authored: 2021-06-03 10:06:27 +0200
Committed: 2021-06-03 10:43:53 +0200

fix check in MaybeSetFloatCallback, factor out duplicate code

Files Added:

  • lib/jxl/dec_frame.h

3183c042c47d5cf5a811ae700e2c16ac23ee7547 by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/3183c042c47d5cf5a811ae700e2c16ac23ee7547
Authored: 2021-06-03 02:17:06 +0200
Committed: 2021-06-03 02:17:06 +0200

Add ccache to the pipeline to speed it up (#88)

Files Added:

  • .github/workflows/build_test.yml

b6f84b66d933f8d1bc02c07c752bd5d9390f110d by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/b6f84b66d933f8d1bc02c07c752bd5d9390f110d
Authored: 2021-06-02 23:25:58 +0200
Committed: 2021-06-02 23:25:58 +0200

Build time flag to disable abort() messages. (#89)

Defining JXL_DEBUG_ON_ABORT to 0 will disable the abort messages in
JXL_ABORT, JXL_ASSERT and JXL_CHECK, removing the need to include those
strings in the final binary, as well as the FILE strings.

This reduces libjxl.so in x86 by ~15 kB when compiling with
-DJXL_DEBUG_ON_ABORT=0.

Files Added:

  • lib/jxl/base/status.h

8900fd24c1090e7264605f56799bd693a0b78f90 by Luca Versari

https://gitlab.com/wg1/jpeg-xl-/commit/8900fd24c1090e7264605f56799bd693a0b78f90
Authored: 2021-06-02 22:42:22 +0200
Committed: 2021-06-02 23:02:03 +0200

Use more symmetry for the YCbCr MSAN fix.

Files Added:

  • lib/jxl/dec_reconstruct.cc

8744aadb0aa1cedc895509b14c6db90c9847ca6f by Evgenii Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/8744aadb0aa1cedc895509b14c6db90c9847ca6f
Authored: 2021-05-31 15:35:05 +0000
Committed: 2021-06-02 20:42:15 +0200

Fuzz: Integer-overflow in jxl::palette_internal::GetPaletteValue

When bit_depth == 31, then intermediate value becomes MIN_INT...

Files Added:

  • lib/jxl/modular/transform/palette.h

27e670ed3aebb5088c70272f119d1ff1ba8953a5 by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/27e670ed3aebb5088c70272f119d1ff1ba8953a5
Authored: 2021-06-01 21:21:45 +0200
Committed: 2021-06-02 20:41:46 +0200

don't do lossy palette when also doing lossy

Files Added:

  • lib/jxl/enc_modular.cc

b23d0ea4995cc4079bb09a1b9ed4e3abe9df4e68 by Lode

https://gitlab.com/wg1/jpeg-xl-/commit/b23d0ea4995cc4079bb09a1b9ed4e3abe9df4e68
Authored: 2021-06-02 19:35:16 +0200
Committed: 2021-06-02 20:34:09 +0200

Remove unused JxlInverseOpsinMatrix

The function JxlDecoderGetInverseOpsinMatrix was defined but not
available in decode.h. It is not currently needed since the library
doesn't support outputting the internal xyb color values, and could be
restored (and added to the header) if such feature is added.

Files Added:

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

3ea444898e87f0a534daf6c1a6abd762445d7c4c by Lode

https://gitlab.com/wg1/jpeg-xl-/commit/3ea444898e87f0a534daf6c1a6abd762445d7c4c
Authored: 2021-06-02 19:21:09 +0200
Committed: 2021-06-02 19:59:21 +0200

Don't parse jbrd box if no jpeg output requested

Files Added:

  • lib/jxl/decode.cc

1e296c5bd67cbde258b69510864f5152b8a5bfe9 by Lode

https://gitlab.com/wg1/jpeg-xl-/commit/1e296c5bd67cbde258b69510864f5152b8a5bfe9
Authored: 2021-06-02 17:58:29 +0200
Committed: 2021-06-02 18:29:47 +0200

Fix benchmark on image with exif orientation

When running benchmark_xl on JPEG with exif orientation, or a PNG with
exif orientation in a text chunk identified as exif, the benchmark
compared the images with the mismatching orientation

Files Added:

  • tools/benchmark/benchmark_codec_jxl.cc

477b56499d2a454781388e42d533f5abfb433f59 by Ziemowit Zabawa

https://gitlab.com/wg1/jpeg-xl-/commit/477b56499d2a454781388e42d533f5abfb433f59
Authored: 2021-06-02 16:19:32 +0200
Committed: 2021-06-02 16:44:14 +0200

Fix a couple of strings in encoder

Files Added:

  • AUTHORS
  • tools/args.h
  • tools/cjxl.cc

9beea139ff116e1db5d199b95c30e7692b9d7c05 by Luca Versari

https://gitlab.com/wg1/jpeg-xl-/commit/9beea139ff116e1db5d199b95c30e7692b9d7c05
Authored: 2021-06-01 12:23:41 +0200
Committed: 2021-06-02 14:50:41 +0200

Reduce progression steps with -p

Disable progressive_dc with -p, and remove a 4x downsampled pass that
can look worse than just upsampling DC.

Files Added:

  • lib/jxl/enc_file.cc
  • tools/cjxl.cc

bd2f382cefd9cb273af1400920a268c3f0a30b1b by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/bd2f382cefd9cb273af1400920a268c3f0a30b1b
Authored: 2021-06-02 14:17:50 +0200
Committed: 2021-06-02 12:17:50 +0000

Make kBradford and kBradfordInv const. (#84)

These global static variables don't need to be non-const.

Files Added:

  • lib/jxl/color_encoding_internal.cc

8ec268b079b549ee5b93b197043aa05a9998b6d9 by Dirk Lemstra

https://gitlab.com/wg1/jpeg-xl-/commit/8ec268b079b549ee5b93b197043aa05a9998b6d9
Authored: 2021-06-01 20:29:06 +0200
Committed: 2021-06-01 18:29:06 +0000

Added missing typecast to fix Visual Studio 2017 build error. (#77)

Files Added:

  • AUTHORS
  • lib/jxl/modular/encoding/enc_ma.cc

d275835279fdfe8b2a893619c3e0954be4a81c9d by Luca Versari

https://gitlab.com/wg1/jpeg-xl-/commit/d275835279fdfe8b2a893619c3e0954be4a81c9d
Authored: 2021-06-01 18:14:28 +0200
Committed: 2021-06-01 18:34:00 +0200

Fix per-rect YCbCr upsampling at borders.

Files Added:

  • lib/jxl/dec_reconstruct.cc

716c4638b6d191ff3b3f0469283b6df3871df277 by Luca Versari

https://gitlab.com/wg1/jpeg-xl-/commit/716c4638b6d191ff3b3f0469283b6df3871df277
Authored: 2021-05-27 17:05:04 +0200
Committed: 2021-06-01 15:58:59 +0200

Run YCbCr channel upsampling per-group.

No difference in pixel values (at least to the 6th digit). This
significantly reduces memory usage for the subsampled cases.

Before:
Read 181018 compressed bytes [v0.3.7 | SIMD supported: AVX2,SSE4,Scalar]
Decoded to pixels.
../lib/extras/codec_pnm.cc:372: PNM encoder ignoring metadata - use a different codec
Done.
2268 x 1512, 76.23 MP/s [76.23, 76.23], 1 reps, 32 threads.
Allocations: 593 (max bytes in use: 2.235271E+08)
../lib/extras/codec_pnm.cc:292: PNM: no color_space/icc_pathname given, assuming sRGB
1.2382063866
3-norm: 0.372505

After:
Read 181018 compressed bytes [v0.3.7 | SIMD supported: AVX2,SSE4,Scalar]
Decoded to pixels.
../lib/extras/codec_pnm.cc:372: PNM encoder ignoring metadata - use a different codec
Done.
2268 x 1512, 116.55 MP/s [116.55, 116.55], 1 reps, 32 threads.
Allocations: 717 (max bytes in use: 2.081835E+08)
../lib/extras/codec_pnm.cc:292: PNM: no color_space/icc_pathname given, assuming sRGB
1.2382063866
3-norm: 0.372505

Files Added:

  • lib/jxl/dec_cache.h
  • lib/jxl/dec_group.cc
  • lib/jxl/dec_reconstruct.cc
  • lib/jxl/dec_xyb.cc
  • lib/jxl/dec_xyb.h

af6ece2e3b6bdece69cb4ce8f8cb7d630c5d72cb by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/af6ece2e3b6bdece69cb4ce8f8cb7d630c5d72cb
Authored: 2021-06-01 13:28:22 +0200
Committed: 2021-06-01 13:53:43 +0200

set modular_16_bit_buffer_sufficient header field

Files Added:

  • lib/jxl/image_metadata.cc
  • lib/jxl/image_metadata.h

315247f000cff01fbc7ee2dd8252ea8fb82d0769 by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/315247f000cff01fbc7ee2dd8252ea8fb82d0769
Authored: 2021-05-31 17:01:22 +0200
Committed: 2021-06-01 13:39:42 +0200

split off the benchmarking section to a separate doc

Files Added:

  • doc/benchmarking.md

Files Added:

  • README.md

e87b769f61adbb83f4cfcdd4ec46b05e11d901f8 by Luca Versari

https://gitlab.com/wg1/jpeg-xl-/commit/e87b769f61adbb83f4cfcdd4ec46b05e11d901f8
Authored: 2021-06-01 10:20:15 +0200
Committed: 2021-06-01 13:23:24 +0200

Use a sentinel value instead of 0 for memory sanitizer.

This should make it more evident when actually using "uninitialized"
padding memory in sanitizer builds.

Files Added:

  • lib/jxl/common.h
  • lib/jxl/dec_cache.h
  • lib/jxl/dec_frame.cc
  • lib/jxl/dec_reconstruct.cc
  • lib/jxl/filters.h
  • lib/jxl/image.cc

71952882d9a8b666d4b02754dc9ca0e2dcde7cdf by Sami Boukortt

https://gitlab.com/wg1/jpeg-xl-/commit/71952882d9a8b666d4b02754dc9ca0e2dcde7cdf
Authored: 2021-06-01 11:43:03 +0200
Committed: 2021-06-01 12:14:35 +0200

Only make jpeg_transcode set butteraugli_distance to 0 after it itself receives its correct value

This fixes a recent breakage in the handling of --distance.

Files Added:

  • tools/cjxl.cc

05707452c8fac2b7afdd2d2f88ce3613b614750c by Luca Versari

https://gitlab.com/wg1/jpeg-xl-/commit/05707452c8fac2b7afdd2d2f88ce3613b614750c
Authored: 2021-05-31 21:29:12 +0200
Committed: 2021-06-01 12:03:48 +0200

Fix build on aarch64 with GCC.

Fixes !64

Files Added:

  • lib/jxl/dec_xyb-inl.h

554aab83b7c8aa77155c0831fc97943a21b56233 by Evgenii Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/554aab83b7c8aa77155c0831fc97943a21b56233
Authored: 2021-05-31 13:38:56 +0000
Committed: 2021-06-01 09:09:29 +0200

Fuzz: Undefined-shift in jxl::ModularFrameDecoder::FinalizeDecoding

MetaPalette erases channels with non-zero h-/v-shift; when this transform is undone,
channels with same h-/v-shift are added; check that restored v-/h-shifts are restored
correctly (same on all channels).

Files Added:

  • lib/jxl/modular/transform/palette.h

2a87e67db80ef1ccccc1d7e00b3b5b34b674dbf5 by Lode Vandevenne

https://gitlab.com/wg1/jpeg-xl-/commit/2a87e67db80ef1ccccc1d7e00b3b5b34b674dbf5
Authored: 2021-05-31 19:50:52 +0200
Committed: 2021-05-31 21:53:37 +0200

Don't support DC output if pixel callback

This is not supported in the current implementation, so skip outputting DC in this case

Files Added:

  • lib/jxl/decode.cc

1b1b8fe534f9972bfd308279796a4d62fda5432e by Jan Wassenberg

https://gitlab.com/wg1/jpeg-xl-/commit/1b1b8fe534f9972bfd308279796a4d62fda5432e
Authored: 2021-05-31 20:47:34 +0200
Committed: 2021-05-31 21:26:47 +0200

Revert "Update Highway to 0.12.2"

This reverts commit d993cb642931d9d0c675f2820bd9f011d8ac1fbe.

Files Added:

  • deps.sh
  • third_party/highway

d993cb642931d9d0c675f2820bd9f011d8ac1fbe by Jan Wassenberg

https://gitlab.com/wg1/jpeg-xl-/commit/d993cb642931d9d0c675f2820bd9f011d8ac1fbe
Authored: 2021-05-31 17:35:59 +0200
Committed: 2021-05-31 19:16:21 +0200

Update Highway to 0.12.2

Files Added:

  • deps.sh
  • third_party/highway

44744e4a2c9bc555c282352b86784e8a30bf46a8 by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/44744e4a2c9bc555c282352b86784e8a30bf46a8
Authored: 2021-05-31 19:15:11 +0200
Committed: 2021-05-31 19:15:11 +0200

Increase stack limit on debug builds. (#62)

AVX3 runs require at least 1800 kB as the limit, so bump this value up
to 2048.

Files Added:

  • .github/workflows/build_test.yml

8f503e4d517e171ad4572f317b384cc60f4d8750 by Evgenii Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/8f503e4d517e171ad4572f317b384cc60f4d8750
Authored: 2021-05-31 14:47:42 +0000
Committed: 2021-05-31 17:26:20 +0200

Fuzz: set_from_bytes timeout

JPEG arithmetic coding could be used for CPU-zip bombing.

Files Added:

  • lib/extras/codec_jpg.cc

aecdd7b47ba7aa1da76ceaf7547aadf9fe28f615 by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/aecdd7b47ba7aa1da76ceaf7547aadf9fe28f615
Authored: 2021-05-31 16:28:31 +0200
Committed: 2021-05-31 16:28:31 +0200

New GitHub workflow to build and test several modes. (#51)

This new build_test.yml workflow builds and tests for release, debug,
asan, msan and release with scalar-only modes in the the main and
release branches.

This patch now also builds all these targets but only tests release in
the pull request, unless it is labeled with "CI:full" label which will
cause it to test all the modes as well.

Files Added:

  • .github/workflows/build_test.yml

Files Added:

  • .github/workflows/pull_request.yml
  • .gitlab-ci.yml
  • bash_test.sh

75126f77b9f6cce1dd874e93a68d7c9c7261d55f by Marcin Konicki

https://gitlab.com/wg1/jpeg-xl-/commit/75126f77b9f6cce1dd874e93a68d7c9c7261d55f
Authored: 2021-05-31 16:28:15 +0200
Committed: 2021-05-31 16:28:15 +0200

docs: add giflib_devel as dependency on HaikuOS (#55)

This adds giflib_devel (same as libgif on Linux) to list of dependencies to install on HaikuOS.

It's not strictly necessary for libjxl to work, but RoundtripAnimationPatches test fails without it.

Files Added:

  • README.Haiku.md

72310fd8c55745e37624778447e9b8db65b75238 by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/72310fd8c55745e37624778447e9b8db65b75238
Authored: 2021-05-31 13:32:06 +0200
Committed: 2021-05-31 14:42:02 +0200

make default encode from gif/jpg do the same as -d 0 / -q 100

Files Added:

  • tools/cjxl.cc

084cbf393a7d58035b814df13d5c7343bfe895a3 by Evgenii Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/084cbf393a7d58035b814df13d5c7343bfe895a3
Authored: 2021-05-31 10:00:17 +0000
Committed: 2021-05-31 14:08:13 +0200

Fuzz: fix read of undefined value

Drive-by:

  • fix infinite loop (after reading space pos_ wasn't incremented)
  • validate last digit in '444' subsampling case

Files Added:

  • lib/extras/codec_pnm.cc

9fbbd7154d48584b0626b1227ae8756e7f6a4e8f by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/9fbbd7154d48584b0626b1227ae8756e7f6a4e8f
Authored: 2021-05-31 14:06:22 +0200
Committed: 2021-05-31 14:06:22 +0200

Update instructions to fetch a pull request (#52)

These instructions were for GitLab, but the reference in GitHub is a
different.

Files Added:

  • doc/developing_in_github.md

74fd055c1564e0b37c2ee9f4ee91f019bb2be6c0 by Eugene Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/74fd055c1564e0b37c2ee9f4ee91f019bb2be6c0
Authored: 2021-05-31 14:00:24 +0200
Committed: 2021-05-31 14:00:24 +0200

Fuzz: fix expectation (#49)

In documentation it is said that preview is always after color profile,
in fuzzer code the expectation was inverted.

Files Added:

  • tools/djxl_fuzzer.cc

8cae2146727500bd09dcc98a6b7d7cd9474f2886 by Marcin Konicki

https://gitlab.com/wg1/jpeg-xl-/commit/8cae2146727500bd09dcc98a6b7d7cd9474f2886
Authored: 2021-05-31 13:49:25 +0200
Committed: 2021-05-31 13:49:25 +0200

fix: unused CPU_[ZERO|SET] on HaikuOS (#48)

Building was failing because CPU_ZERO and CPU_SET in os_specific.cc were unused on HaikuOS.

This change makes HaikuOS follow example of MacOS: call them even though in the end thread will not be pinned anyway.

HaikuOS build could use JXL_DISABLE_PINNING, but then it would have to add some defines to exclude declaring CPU_SET and CPU_ZERO, which would lessen code readability for everyone.

Files Added:

  • AUTHORS
  • tools/cpu/os_specific.cc

777095adeb51d0e7162fb8e2e9fd2d0f6c10110a by Evgenii Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/777095adeb51d0e7162fb8e2e9fd2d0f6c10110a
Authored: 2021-05-10 09:10:50 +0000
Committed: 2021-05-31 13:08:14 +0200

SIMDify upsampling.

+------------+--------+--------+--------+
| cycles     |   2x   |   4x   |   8x   |
+------------+--------+--------+--------+
| Baseline   | 249948 | 377275 | 523975 |
+------------+--------+--------+--------+
| Scalar (1) | 111383 | 162607 | 299005 |
+------------+--------+--------+--------+
| SSE4 (4)   |  48596 |  47257 |  72677 |
+------------+--------+--------+--------+
| AVX2 (8)   |  38341 |  39268 |  45655 |
+------------+--------+--------+--------+
| AVX3 (16)  |  36736 |  44514 |  41769 |
+------------+--------+--------+--------+

BEFORE

Compr                            Input    Compr            Compr       Compr  Decomp  Butteraugli
Method                          Pixels     Size              BPP   #    MP/s    MP/s     Distance    Error p norm           BPP*pnorm   Errors
----------------------------------------------------------------------------------------------------------------------------------------------
jxl:fast:d1:resampling=2     136323072  8731417    0.51239555400   1  32.522   2.398  13.27280712   2.98966850267  1.5318928486911312        0
jxl:fast:d1:resampling=4     136323072  2494249    0.14637281648   1  58.210   3.667  54.28284454  11.65082575442  1.7053641800059982        0
jxl:fast:d1:resampling=8     136323072   656189    0.03850787635   1  71.192   5.017 113.40100098  27.19273331255  1.0471344119728105        0
Aggregate:                   136323072  2426710    0.14240933233 ---  51.271   3.533  43.39244180   9.82073974612  1.3985649902105746        0

AFTER

Compr                            Input    Compr            Compr       Compr  Decomp  Butteraugli
Method                          Pixels     Size              BPP   #    MP/s    MP/s     Distance    Error p norm           BPP*pnorm   Errors
----------------------------------------------------------------------------------------------------------------------------------------------
jxl:fast:d1:resampling=2     136323072  8731417    0.51239555400   1  30.802  20.693  13.27280331   2.98966850189  1.5318928482907228        0
jxl:fast:d1:resampling=4     136323072  2494249    0.14637281648   1  54.076  32.372  54.28282928  11.65082574146  1.7053641781087603        0
jxl:fast:d1:resampling=8     136323072   656189    0.03850787635   1  67.589  50.065 113.40100098  27.19273316916  1.0471344064509187        0
Aggregate:                   136323072  2426710    0.14240933233 ---  48.286  32.248  43.39243358   9.82073972436  1.3985649871117138        0

Files Added:

  • lib/jxl/dec_cache.h
  • lib/jxl/dec_group.cc
  • lib/jxl/dec_reconstruct.cc
  • lib/jxl/dec_upsample.cc
  • lib/jxl/dec_upsample.h

df6d8c3c33f3ec9c048d3e95c85f5dd730d4f402 by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/df6d8c3c33f3ec9c048d3e95c85f5dd730d4f402
Authored: 2021-05-27 16:22:06 +0200
Committed: 2021-05-31 13:01:43 +0200

inverse palette bugfix: preserve hshift/vshift

Files Added:

  • lib/jxl/modular/transform/palette.h

4dbbdca5e09ffa121d98b82e27b0742588e134a1 by Ziemowit Zabawa

https://gitlab.com/wg1/jpeg-xl-/commit/4dbbdca5e09ffa121d98b82e27b0742588e134a1
Authored: 2021-05-29 14:31:11 +0200
Committed: 2021-05-29 14:50:16 +0200

Update build command in README.md

Files Added:

  • README.md

8304ea4440fdade449fe7a58651600d792be3366 by Petr Diblík

https://gitlab.com/wg1/jpeg-xl-/commit/8304ea4440fdade449fe7a58651600d792be3366
Authored: 2021-05-28 13:56:32 +0200
Committed: 2021-05-28 18:57:54 +0200

Update repo link

Files Added:

  • README.md

2055841d4b2d70882fff73e67405d7903edaca08 by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/2055841d4b2d70882fff73e67405d7903edaca08
Authored: 2021-05-27 17:12:48 +0200
Committed: 2021-05-27 18:30:20 +0200

Add issue templates

Files Added:

  • .github/ISSUE_TEMPLATE/bug_report.md
  • .github/ISSUE_TEMPLATE/feature_request.md

b7edff9ce43347a1669f9f15079c00ee414c938d by Luca Versari

https://gitlab.com/wg1/jpeg-xl-/commit/b7edff9ce43347a1669f9f15079c00ee414c938d
Authored: 2021-05-27 17:30:29 +0200
Committed: 2021-05-27 17:44:27 +0200

Ensure that Roundtrip() accounts for pass shift.

Fixes #17.

Files Added:

  • lib/jxl/dec_group.cc
  • lib/jxl/progressive_split.h

e03a3331b1106cd3c4b03d578bc0e209bb491077 by Lode

https://gitlab.com/wg1/jpeg-xl-/commit/e03a3331b1106cd3c4b03d578bc0e209bb491077
Authored: 2021-05-26 11:22:12 +0200
Committed: 2021-05-27 17:10:51 +0200

Allow alternative to linear srgb when xyb with ICC

For decoding a XYB-encoded image with ICC profile as original color
profile, allow configuring the decoder to decode to a color encoding of
your choosing, rather than the decoder always converting xyb to srgb.

Reason for this: the decoder is able to convert xyb to all supported
color encoding values (srgb, pq, hlg, linear, p3, ...). It does this
when it knows the color encoding, but not when an ICC profile is used
(since the libjxl decoder does not have color management system to parse
it, nor would all icc profiles be representable as a jxl color encoding)

If the decoder does not know the color encoding, it default to linear
srgb.

However, if you have a system, like the chrome browser, that can
determine form the ICC profile what the color encoding is, then it is
better to be able to let the decoder convert the xyb immediately to
that, to avoid needing two passes over the data.

Therefore this option is added to the API and implemented in the
decoder.

Files Added:

  • lib/include/jxl/decode.h
  • lib/jxl/color_encoding_internal.cc
  • lib/jxl/color_encoding_internal.h
  • lib/jxl/dec_file.cc
  • lib/jxl/dec_xyb.cc
  • lib/jxl/dec_xyb.h
  • lib/jxl/decode.cc
  • lib/jxl/decode_test.cc
  • lib/jxl/enc_adaptive_quantization.cc
  • lib/jxl/enc_cache.cc
  • lib/jxl/enc_patch_dictionary.cc
  • lib/jxl/encode.cc
  • lib/jxl/encode_internal.h

813823d2fd708843277514d55663ed32ae2f970b by Jan Wassenberg

https://gitlab.com/wg1/jpeg-xl-/commit/813823d2fd708843277514d55663ed32ae2f970b
Authored: 2021-05-27 15:01:10 +0200
Committed: 2021-05-27 16:59:58 +0200

Switch to non-deprecated form of VecFromMask

Files Added:

  • lib/jxl/enc_entropy_coder.cc
  • lib/jxl/fast_math-inl.h

188b638a46f043310cdbc8d9e1a17cb1c75e12aa by Jan Wassenberg

https://gitlab.com/wg1/jpeg-xl-/commit/188b638a46f043310cdbc8d9e1a17cb1c75e12aa
Authored: 2021-05-27 15:19:45 +0200
Committed: 2021-05-27 16:59:39 +0200

Use disabled-targets instead of build-only-scalar

This allows deprecating the (potentially disruptive) build-only-scalar
option, which may conflict with the desired build policy for tests.

Files Added:

  • .gitlab-ci.yml

3068ee01a1ec19a3455758992fce7847d1838957 by Evgenii Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/3068ee01a1ec19a3455758992fce7847d1838957
Authored: 2021-05-27 11:00:26 +0000
Committed: 2021-05-27 13:03:19 +0200

Revert "Install JDK into docker image (for testing JNI wrapper). (#27)"

This reverts commit 22ab730343a5ff0ed041359cee972f94e94e9a52.

It seems that EMCC uses improper closure-compiler version.

Files Added:

  • .gitlab-ci.yml
  • docker/scripts/jpegxl_builder.sh

aa8d0f0944b3e93119304ce75df9a1b228d0e9e5 by Eugene Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/aa8d0f0944b3e93119304ce75df9a1b228d0e9e5
Authored: 2021-05-27 12:19:45 +0200
Committed: 2021-05-27 12:19:45 +0200

Fuzz: fix heap-buffer-overflow in codec_psd (#30)

decode_layer assumes that chan_id.size() == invert.size().
On one callsite (where invert is actually used) this is true.
On the other callsite invert is just an "all-false" stub, but
its size is set to be real_nb_channels which might be not enough.

Files Added:

  • lib/extras/codec_psd.cc

9c40d4bc78e2e45c6c4fa6ef604434f1cd9c6f24 by Eugene Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/9c40d4bc78e2e45c6c4fa6ef604434f1cd9c6f24
Authored: 2021-05-27 10:35:18 +0200
Committed: 2021-05-27 10:35:18 +0200

Improve fuzzing (#20)

  • generate files with preview images
  • toggle "keep orientation" Decoder API switch

Files Added:

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

7cbc7bb883254c7e4e79062582202c2c90e53df8 by Kleis Auke Wolthuizen

https://gitlab.com/wg1/jpeg-xl-/commit/7cbc7bb883254c7e4e79062582202c2c90e53df8
Authored: 2021-05-26 23:56:35 +0200
Committed: 2021-05-26 23:56:35 +0200

Share LCMS transform across threads (#23)

Files Added:

  • lib/jxl/enc_color_management.cc
  • lib/jxl/enc_color_management.h

1f555fc724588958f44ad7baff275716a6efb702 by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/1f555fc724588958f44ad7baff275716a6efb702
Authored: 2021-05-26 20:32:59 +0200
Committed: 2021-05-26 20:32:59 +0200

add (still-only) y4m input support (#25)

Files Added:

  • lib/extras/codec_pnm.cc
  • lib/jxl/enc_frame.cc

8876a98b1c3e048e4591b5181529ed6c7d85ddc0 by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/8876a98b1c3e048e4591b5181529ed6c7d85ddc0
Authored: 2021-05-26 19:53:50 +0200
Committed: 2021-05-26 19:53:50 +0200

add --effort 1 and 2 (#18)

Files Added:

  • doc/man/cjxl.txt
  • lib/jxl/enc_ac_strategy.cc
  • lib/jxl/enc_ans_params.h
  • lib/jxl/enc_cache.cc
  • lib/jxl/enc_coeff_order.cc
  • lib/jxl/enc_frame.cc
  • lib/jxl/enc_heuristics.cc
  • lib/jxl/enc_modular.cc
  • lib/jxl/enc_params.h
  • lib/jxl/jxl_test.cc
  • lib/jxl/modular/encoding/enc_encoding.cc
  • lib/jxl/speed_tier_test.cc
  • tools/cjxl.cc

96e1f432595669ab9912934ec4d8b4d24d3f8eab by Jon Sneyers

https://gitlab.com/wg1/jpeg-xl-/commit/96e1f432595669ab9912934ec4d8b4d24d3f8eab
Authored: 2021-05-26 19:50:32 +0200
Committed: 2021-05-26 19:50:32 +0200

simpler cjxl banner, also one for djxl (#26)

Files Added:

  • tools/benchmark/benchmark_xl.cc
  • tools/cjxl_main.cc
  • tools/codec_config.cc
  • tools/djxl.cc
  • tools/djxl_main.cc

22ab730343a5ff0ed041359cee972f94e94e9a52 by Eugene Kliuchnikov

https://gitlab.com/wg1/jpeg-xl-/commit/22ab730343a5ff0ed041359cee972f94e94e9a52
Authored: 2021-05-26 19:29:35 +0200
Committed: 2021-05-26 19:29:35 +0200

Install JDK into docker image (for testing JNI wrapper). (#27)

Files Added:

  • .gitlab-ci.yml
  • docker/scripts/jpegxl_builder.sh

4ead4a1255bffbca5e9d5e82d1acf57e42ef2c48 by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/4ead4a1255bffbca5e9d5e82d1acf57e42ef2c48
Authored: 2021-05-26 16:23:17 +0200
Committed: 2021-05-26 18:57:50 +0200

Check for AUTHORS file updates and re-enable PR checks.

Pull Request checks should only run on pull_request events, and not
needed to run on pull_request_review. This gets the feedback to the PR
as soon as possible. This was also causing issues in the PR with the
way we get the SHA values from the current environment.

This patch fixes the pull request workflow which was needed for the
AUTHORS check and adds this new check to update the AUTHORS file when
new contributors send patches. We now pull 10 commits from the HEAD of
the pull request (a PR normally has only 1 commit) and run the checks
on the PR commit.

Files Added:

  • tools/check_author.py

Files Added:

  • .github/workflows/pull_request.yml
  • ci.sh

bb0cfd395fab1a0e0158d9d365956b5949498e6d by Sami Boukortt

https://gitlab.com/wg1/jpeg-xl-/commit/bb0cfd395fab1a0e0158d9d365956b5949498e6d
Authored: 2021-05-26 16:04:27 +0200
Committed: 2021-05-26 17:31:36 +0200

Fix occasional artifacts in the comparison tool

Files Added:

  • tools/comparison_viewer/image_loading.cc

0f6ddd4727f2c51bb2396872599d4f86f19bf064 by Kleis Auke Wolthuizen

https://gitlab.com/wg1/jpeg-xl-/commit/0f6ddd4727f2c51bb2396872599d4f86f19bf064
Authored: 2021-05-26 15:03:49 +0200
Committed: 2021-05-26 15:03:49 +0200

Ensure pkg-config file is installed when -DJPEGXL_STATIC=1 (#16)

Files Added:

  • lib/jxl.cmake

ad64593abdabc796aa33fef0c76290d824302443 by zond

https://gitlab.com/wg1/jpeg-xl-/commit/ad64593abdabc796aa33fef0c76290d824302443
Authored: 2021-05-26 12:29:17 +0200
Committed: 2021-05-26 12:29:17 +0200

Made JxlEncoderAddJPEGFrame set basic info and color encoding if necessary. (#15)

Files Added:

  • lib/include/jxl/encode.h
  • lib/jxl/encode.cc
  • lib/jxl/encode_test.cc
  • lib/jxl/jpeg/enc_jpeg_data.cc
  • lib/jxl/jpeg/enc_jpeg_data.h
  • lib/jxl/roundtrip_test.cc

04267a8780d1600d2bc9a79d161d7f769b5db93c by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/04267a8780d1600d2bc9a79d161d7f769b5db93c
Authored: 2021-05-25 20:32:31 +0200
Committed: 2021-05-25 23:40:46 +0200

Update GitLab CI to run on main and release branches.

gitlab.com/wg1/jpeg-xl is a mirror of github.com/libjxl/libjxl and it is
still running all the pipelines. This updates them to run on main branch
and on release branches.

Tested by pushing to a v0.999.x branch in gitlab.

Files Added:

  • .gitlab-ci.yml

408d83a05549207433752b68680a02524f6ad44e by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/408d83a05549207433752b68680a02524f6ad44e
Authored: 2021-05-25 20:01:45 +0200
Committed: 2021-05-25 21:04:42 +0200

Merge old guidelines.md into CONTRIBUTING.md

These guidelines still references the old license blob and talked about
core experiments acceptance criteria.

Files Deleted:

  • doc/guidelines.md

Files Added:

  • CONTRIBUTING.md
  • doc/building_and_testing.md
  • doc/developing_in_github.md

20bf5f470200e3801a83b7cc88b714744dbbc4a8 by Alex Deymo

https://gitlab.com/wg1/jpeg-xl-/commit/20bf5f470200e3801a83b7cc88b714744dbbc4a8
Authored: 2021-05-25 19:32:40 +0200
Committed: 2021-05-25 19:46:09 +0200

Disable clang-format on PR Actions

The pull request workflow runs on a merge request which confuses our ci.sh lint on what to run the linter on.

Files Added:

  • .github/workflows/pull_request.yml

libjxl turned on real time sync from the public GitHub repo and thus updates are now super frequent. Could you disable libjxl update for now and reenable it when updatebot gets tagged release tracking?

Flags: needinfo?(tom)

Filed 1714686 to take care of this.
Thanks for the update, Kagami, and sorry about the recent spam

Flags: needinfo?(tom)

We've updated since this bug. So closing this as it seems there is nothing left to do here.

Status: NEW → RESOLVED
Closed: 3 years ago
Duplicate of bug: 1810317
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.