Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ If applicable, add screenshots or example input/output images to help explain yo
- OS: [e.g. Windows]
- Compiler version: [e.g. clang 11.0.1]
- CPU type: [e.g. x86_64]
- cjxl/djxl version string: [e.g. cjxl [v0.3.7 | SIMD supported: SSE4,Scalar]]
- cjpegli/djpegli version string: [e.g. cjpegli [v0.3.7 | SIMD supported: SSE4,Scalar]]

**Additional context**
Add any other context about the problem here.
Expand Down
394 changes: 1 addition & 393 deletions CHANGELOG.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ set(JPEGXL_ENABLE_FUZZERS ${ENABLE_FUZZERS_DEFAULT} CACHE BOOL
set(JPEGXL_ENABLE_DEVTOOLS false CACHE BOOL
"Build JPEGXL developer tools.")
set(JPEGXL_ENABLE_TOOLS true CACHE BOOL
"Build JPEGXL user tools: cjxl and djxl.")
"Build JPEGXL user tools: cjpegli and djpegli.")
set(JPEGXL_ENABLE_JPEGLI_LIBJPEG true CACHE BOOL
"Build libjpeg.so shared library based on jpegli.")
set(JPEGXL_INSTALL_JPEGLI_LIBJPEG false CACHE BOOL
Expand Down Expand Up @@ -461,7 +461,7 @@ if(JPEGXL_ENABLE_MANPAGES)
if (ASCIIDOC_PY_FOUND)
set(MANPAGE_FILES "")
set(MANPAGES "")
foreach(PAGE IN ITEMS cjxl djxl)
foreach(PAGE IN ITEMS cjpegli djpegli)
# Invoking the Python interpreter ourselves instead of running the a2x binary
# directly is necessary on MSYS2, otherwise it is run through cmd.exe which
# does not recognize it.
Expand Down
10 changes: 5 additions & 5 deletions bash_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -196,17 +196,17 @@ get_version() {
}

test_version() {
local major=$(get_version JPEGXL_MAJOR_VERSION)
local minor=$(get_version JPEGXL_MINOR_VERSION)
local patch=$(get_version JPEGXL_PATCH_VERSION)
local major=$(get_version JPEGLI_MAJOR_VERSION)
local minor=$(get_version JPEGLI_MINOR_VERSION)
local patch=$(get_version JPEGLI_PATCH_VERSION)
# Check that the version is not empty
if [[ -z "${major}${minor}${patch}" ]]; then
echo "Couldn't parse version from CMakeLists.txt" >&2
return 1
fi
local pkg_version=$(head -n 1 debian/changelog)
# Get only the part between the first "jpeg-xl (" and the following ")".
pkg_version="${pkg_version#jpeg-xl (}"
# Get only the part between the first "jpegli (" and the following ")".
pkg_version="${pkg_version#jpegli (}"
pkg_version="${pkg_version%%)*}"
if [[ -z "${pkg_version}" ]]; then
echo "Couldn't parse version from debian package" >&2
Expand Down
10 changes: 5 additions & 5 deletions ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1441,8 +1441,8 @@ cmd_bump_version() {
fi

if [[ -z "${newver}" ]]; then
local major=$(get_version JPEGXL_MAJOR_VERSION)
local minor=$(get_version JPEGXL_MINOR_VERSION)
local major=$(get_version JPEGLI_MAJOR_VERSION)
local minor=$(get_version JPEGLI_MINOR_VERSION)
local patch=0
minor=$(( ${minor} + 1))
else
Expand All @@ -1460,9 +1460,9 @@ cmd_bump_version() {

echo "Bumping version to ${newver} (${major}.${minor}.${patch})"
sed -E \
-e "s/(set\\(JPEGXL_MAJOR_VERSION) [0-9]+\\)/\\1 ${major})/" \
-e "s/(set\\(JPEGXL_MINOR_VERSION) [0-9]+\\)/\\1 ${minor})/" \
-e "s/(set\\(JPEGXL_PATCH_VERSION) [0-9]+\\)/\\1 ${patch})/" \
-e "s/(set\\(JPEGLI_MAJOR_VERSION) [0-9]+\\)/\\1 ${major})/" \
-e "s/(set\\(JPEGLI_MINOR_VERSION) [0-9]+\\)/\\1 ${minor})/" \
-e "s/(set\\(JPEGLI_PATCH_VERSION) [0-9]+\\)/\\1 ${patch})/" \
-i lib/CMakeLists.txt
sed -E \
-e "s/(LIBJXL_VERSION: )\"[0-9.]+\"/\\1\"${major}.${minor}.${patch}\"/" \
Expand Down
124 changes: 2 additions & 122 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,125 +1,5 @@
jpeg-xl (0.12.0) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.12.0.

-- JPEG XL Maintainers <jpegxl@google.com> Fri, 13 Sep 2024 09:19:23 +0200

jpeg-xl (0.11.0) unstable; urgency=medium

* Bump JPEG XL version to 0.11.0.

-- JPEG XL Maintainers <jpegxl@google.com> Fri, 13 Sep 2024 09:19:23 +0200

jpeg-xl (0.10.2) unstable; urgency=medium

* Bump JPEG XL version to 0.10.2.

-- JPEG XL Maintainers <jpegxl@google.com> Thu, 07 Mar 2024 13:50:05 +0100

jpeg-xl (0.10.1) unstable; urgency=medium

* Bump JPEG XL version to 0.10.1.

-- JPEG XL Maintainers <jpegxl@google.com> Wed, 28 Feb 2024 12:52:20 +0100

jpeg-xl (0.10.0) unstable; urgency=medium

* Bump JPEG XL version to 0.10.0.

-- JPEG XL Maintainers <jpegxl@google.com> Wed, 21 Feb 2024 08:37:00 +0100

jpeg-xl (0.9.0) unstable; urgency=medium

* Bump JPEG XL version to 0.9.0.

-- JPEG XL Maintainers <jpegxl@google.com> Tue, 21 Nov 2023 10:32:59 +0100

jpeg-xl (0.8) unstable; urgency=medium

* Bump JPEG XL version to 0.8.

-- JPEG XL Maintainers <jpegxl@google.com> Wed, 11 Jan 2023 16:12:34 +0000

jpeg-xl (0.7) unstable; urgency=medium

* Bump JPEG XL version to 0.7.

-- JPEG XL Maintainers <jpegxl@google.com> Mon, 08 Aug 2022 14:43:58 +0000

jpeg-xl (0.6) unstable; urgency=medium

* Bump JPEG XL version to 0.6.

-- JPEG XL Maintainers <jpegxl@google.com> Fri, 10 Sep 2021 16:08:17 +0200

jpeg-xl (0.5.0) unstable; urgency=medium

* Bump JPEG XL version to 0.5.0.

-- JPEG XL Maintainers <jpegxl@google.com> Thu, 12 Aug 2021 23:49:40 +0200

jpeg-xl (0.3.7) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.3.7.

-- Sami Boukortt <sboukortt@google.com> Mon, 29 Mar 2021 12:14:20 +0200

jpeg-xl (0.3.6) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.3.6.

-- Sami Boukortt <sboukortt@google.com> Thu, 25 Mar 2021 17:40:58 +0100

jpeg-xl (0.3.5) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.3.5.

-- Sami Boukortt <sboukortt@google.com> Tue, 23 Mar 2021 15:20:44 +0100

jpeg-xl (0.3.4) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.3.4.

-- Sami Boukortt <sboukortt@google.com> Tue, 16 Mar 2021 12:13:59 +0100

jpeg-xl (0.3.3) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.3.3.

-- Sami Boukortt <sboukortt@google.com> Fri, 5 Mar 2021 19:15:26 +0100

jpeg-xl (0.3.2) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.3.2.

-- Alex Deymo <deymo@google.com> Fri, 12 Feb 2021 21:00:12 +0100

jpeg-xl (0.3.1) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.3.1.

-- Alex Deymo <deymo@google.com> Tue, 09 Feb 2021 09:48:43 +0100

jpeg-xl (0.3) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.3.

-- Alex Deymo <deymo@google.com> Wed, 27 Jan 2021 22:36:32 +0100

jpeg-xl (0.2) UNRELEASED; urgency=medium

* Bump JPEG XL version to 0.2.

-- Alex Deymo <deymo@google.com> Wed, 23 Nov 2020 20:42:10 +0100

jpeg-xl (0.1) UNRELEASED; urgency=medium

* JPEG XL format release candidate.

-- Alex Deymo <deymo@google.com> Fri, 13 Nov 2020 17:42:24 +0100

jpeg-xl (0.0.2-1) UNRELEASED; urgency=medium
jpegli (0.1.0) UNRELEASED; urgency=medium

* Initial debian package.

-- Alex Deymo <deymo@google.com> Tue, 27 Oct 2020 15:27:59 +0100
-- Martin Bruse <zond@google.com> Wed, 18 Sep 2024 10:51:00 +0100
114 changes: 90 additions & 24 deletions debian/control
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: jpeg-xl
Source: jpegli
Maintainer: JPEG XL Maintainers <jpegxl@google.com>
Section: misc
Priority: optional
Expand All @@ -19,47 +19,113 @@ Build-Depends:
pkg-config,
xdg-utils,
xmlto,
Homepage: https://github.com/libjxl/libjxl
Homepage: https://github.com/google/jpegli
Rules-Requires-Root: no

Package: jxl
Package: jpegli
Architecture: any
Section: utils
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: JPEG XL Image Coding System - "JXL" (command line utility)
The JPEG XL Image Coding System (ISO/IEC 18181) is a lossy and
lossless image compression format. It has a rich feature set and is
particularly optimized for responsive web environments, so that
content renders well on a wide range of devices. Moreover, it includes
several features that help transition from the legacy JPEG format.
Description: Jpegli JPEG codec (command line utility)
Jpegli is a new JPEG coding library that is designed to be faster, more
efficient, and more visually pleasing than traditional JPEG. It uses a number
of new techniques to achieve these goals, including:
.
1) It provides both a fully interoperable encoder and decoder complying with
the original JPEG standard and its most conventional 8-bit formalism, and
API/ABI compatibility with libjpeg-turbo and MozJPEG.
.
2) High quality results. When images are compressed or decompressed through
Jpegli, more precise and psychovisually effective computations are performed
and images will look clearer and have fewer observable artifacts.
.
3) Fast. While improving on image quality/compression density ratio, Jpegli's
coding speed is comparable to traditional approaches, such as libjpeg-turbo and
MozJPEG. This means that web developers can effortlessly integrate Jpegli into
their existing workflows without sacrificing coding speed performance or memory
use.
.
4) 10+ bits. Jpegli can be encoded with 10+ bits per component. Traditional
JPEG coding solutions offer only 8 bit per component dynamics causing visible
banding artifacts in slow gradients. Jpegli's 10+ bits coding happens in the
original 8-bit formalism and the resulting images are fully interoperable with
8-bit viewers. 10+ bit dynamics are available as an API extension and
application code changes are needed to benefit from it.
.
5) More dense: Jpegli compresses images more efficiently than traditional JPEG
codecs, which can save bandwidth and storage space, and speed up web pages.
.
This package installs the command line utilities.

Package: libjxl-dev
Package: libjpegli-dev
Architecture: any
Section: libdevel
Depends: libjxl (= ${binary:Version}), ${misc:Depends}
Depends: jpegli (= ${binary:Version}), ${misc:Depends}
libhwy-dev,
Description: JPEG XL Image Coding System - "JXL" (development files)
The JPEG XL Image Coding System (ISO/IEC 18181) is a lossy and
lossless image compression format. It has a rich feature set and is
particularly optimized for responsive web environments, so that
content renders well on a wide range of devices. Moreover, it includes
several features that help transition from the legacy JPEG format.
Description: Jpegli JPEG codec (development files)
Jpegli is a new JPEG coding library that is designed to be faster, more
efficient, and more visually pleasing than traditional JPEG. It uses a number
of new techniques to achieve these goals, including:
.
1) It provides both a fully interoperable encoder and decoder complying with
the original JPEG standard and its most conventional 8-bit formalism, and
API/ABI compatibility with libjpeg-turbo and MozJPEG.
.
2) High quality results. When images are compressed or decompressed through
Jpegli, more precise and psychovisually effective computations are performed
and images will look clearer and have fewer observable artifacts.
.
3) Fast. While improving on image quality/compression density ratio, Jpegli's
coding speed is comparable to traditional approaches, such as libjpeg-turbo and
MozJPEG. This means that web developers can effortlessly integrate Jpegli into
their existing workflows without sacrificing coding speed performance or memory
use.
.
4) 10+ bits. Jpegli can be encoded with 10+ bits per component. Traditional
JPEG coding solutions offer only 8 bit per component dynamics causing visible
banding artifacts in slow gradients. Jpegli's 10+ bits coding happens in the
original 8-bit formalism and the resulting images are fully interoperable with
8-bit viewers. 10+ bit dynamics are available as an API extension and
application code changes are needed to benefit from it.
.
5) More dense: Jpegli compresses images more efficiently than traditional JPEG
codecs, which can save bandwidth and storage space, and speed up web pages.
.
This package installs development files.

Package: libjxl
Package: libjpegli
Architecture: any
Multi-Arch: same
Section: libs
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
Description: JPEG XL Image Coding System - "JXL" (shared libraries)
The JPEG XL Image Coding System (ISO/IEC 18181) is a lossy and
lossless image compression format. It has a rich feature set and is
particularly optimized for responsive web environments, so that
content renders well on a wide range of devices. Moreover, it includes
several features that help transition from the legacy JPEG format.
Description: Jpegli JPEG codec (shared libraries)
Jpegli is a new JPEG coding library that is designed to be faster, more
efficient, and more visually pleasing than traditional JPEG. It uses a number
of new techniques to achieve these goals, including:
.
1) It provides both a fully interoperable encoder and decoder complying with
the original JPEG standard and its most conventional 8-bit formalism, and
API/ABI compatibility with libjpeg-turbo and MozJPEG.
.
2) High quality results. When images are compressed or decompressed through
Jpegli, more precise and psychovisually effective computations are performed
and images will look clearer and have fewer observable artifacts.
.
3) Fast. While improving on image quality/compression density ratio, Jpegli's
coding speed is comparable to traditional approaches, such as libjpeg-turbo and
MozJPEG. This means that web developers can effortlessly integrate Jpegli into
their existing workflows without sacrificing coding speed performance or memory
use.
.
4) 10+ bits. Jpegli can be encoded with 10+ bits per component. Traditional
JPEG coding solutions offer only 8 bit per component dynamics causing visible
banding artifacts in slow gradients. Jpegli's 10+ bits coding happens in the
original 8-bit formalism and the resulting images are fully interoperable with
8-bit viewers. 10+ bit dynamics are available as an API extension and
application code changes are needed to benefit from it.
.
5) More dense: Jpegli compresses images more efficiently than traditional JPEG
codecs, which can save bandwidth and storage space, and speed up web pages.
.
This package installs shared libraries.
2 changes: 1 addition & 1 deletion debian/copyright
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: jpeg-xl
Upstream-Name: jpegli

Files: *
Copyright: 2020 the JPEG XL Project
Expand Down
3 changes: 3 additions & 0 deletions debian/jpegli.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
usr/bin/*
usr/share/man/man1/cjpegli.1
usr/share/man/man1/djpegli.1
3 changes: 0 additions & 3 deletions debian/jxl.install

This file was deleted.

File renamed without changes.
1 change: 1 addition & 0 deletions debian/libjpegli.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/*/libjpegli*.so.*
1 change: 0 additions & 1 deletion debian/libjxl.install

This file was deleted.

20 changes: 10 additions & 10 deletions lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

set(JPEGXL_MAJOR_VERSION 0)
set(JPEGXL_MINOR_VERSION 12)
set(JPEGXL_PATCH_VERSION 0)
set(JPEGXL_LIBRARY_VERSION
"${JPEGXL_MAJOR_VERSION}.${JPEGXL_MINOR_VERSION}.${JPEGXL_PATCH_VERSION}")
set(JPEGLI_MAJOR_VERSION 0)
set(JPEGLI_MINOR_VERSION 1)
set(JPEGLI_PATCH_VERSION 0)
set(JPEGLI_LIBRARY_VERSION
"${JPEGLI_MAJOR_VERSION}.${JPEGLI_MINOR_VERSION}.${JPEGLI_PATCH_VERSION}")

# This is the library API/ABI compatibility version. Changing this value makes
# the shared library incompatible with previous version. A program linked
# against this shared library SOVERSION will not run with an older SOVERSION.
# It is important to update this value when making incompatible API/ABI changes
# so that programs that depend on libjxl can update their dependencies. Semantic
# versioning allows 0.y.z to have incompatible changes in minor versions.
set(JPEGXL_SO_MINOR_VERSION 12)
if (JPEGXL_MAJOR_VERSION EQUAL 0)
set(JPEGXL_LIBRARY_SOVERSION
"${JPEGXL_MAJOR_VERSION}.${JPEGXL_SO_MINOR_VERSION}")
set(JPEGLI_SO_MINOR_VERSION 12)
if (JPEGLI_MAJOR_VERSION EQUAL 0)
set(JPEGLI_LIBRARY_SOVERSION
"${JPEGLI_MAJOR_VERSION}.${JPEGLI_SO_MINOR_VERSION}")
else()
set(JPEGXL_LIBRARY_SOVERSION "${JPEGXL_MAJOR_VERSION}")
set(JPEGLI_LIBRARY_SOVERSION "${JPEGLI_MAJOR_VERSION}")
endif()

# List of warning and feature flags for our library and tests.
Expand Down
Loading
Loading