JPEG XL

Info

rules 57
github 35276
reddit 647

JPEG XL

tools 4225
website 1655
adoption 20712
image-compression-forum 0

General chat

welcome 3810
introduce-yourself 291
color 1414
photography 3435
other-codecs 23765
on-topic 24923
off-topic 22701

Voice Channels

General 2147

Archived

bot-spam 4380

adoption

Adoption of jxl: what software supports jxl already, how to get more adoption?

_wb_
2021-09-11 06:15:05
<@768090355546587137>
2021-09-11 06:16:13
That way we could make api-based versions of cjxl and benchmark_xl quite easily, but also applications that want to offer CLI passthrough of parameters, like ImageMagick or ffmpeg
2021-09-11 06:16:26
(or darktable, apparently)
2021-09-11 06:17:19
It would also be a way to add encode params without adding new api functions
veluca
2021-09-11 06:37:54
that sounds to me like it would be extremely brittle
_wb_
2021-09-11 06:40:52
In what sense?
veluca
2021-09-11 06:42:00
well, it relies on the CLI being stable
2021-09-11 06:42:17
not exactly guaranteed
_wb_
2021-09-11 06:43:05
I mean something like `JxlEncoderAddParam(enc, "progressive=1")` that can return OK, BAD_PARAM, or UNKNOWN_PARAM
2021-09-11 06:43:43
Yes, but cli being stable is something we kind of want anyway, people may rely on that in scripts etc
2021-09-11 06:45:28
By moving it into the api, there are more guarantees that it will evolve in a stable way and that it is harmonized across cli applicatiins
Scope
2021-09-11 06:45:29
It could be something like libavif: ```-a,--advanced KEY[=VALUE] : Pass an advanced, codec-specific key/value string pair directly to the codec. avifenc will warn on any not used by the codec.``` But I don't think a lot of extra settings will be needed very often in third party applications, if some experimentation or fine-tuning is needed, the official cli encoder is a better choice
_wb_
2021-09-11 06:46:32
It's convenient if things can also be tested through imagemagick or ffmpeg directly
2021-09-11 06:47:00
The goal for cjxl is to eventually become redundant :)
Scope
2021-09-11 06:51:40
I also think it is better to hide `Decoding speed` somewhere in the advanced options section, because it will be confusing for ordinary users and it is not an option that needs to be changed often (if at all, except for some cases)
2021-09-11 07:04:41
Also it might be worth setting a slower speed for lossy, like 6 by default (as I remember it is not very different in speed from some optimized Jpeg encoders), but 3 for lossless And there might be confusion with speed, because the higher the value, the slower the encoding speed, and perhaps better to use a more intuitive term `Effort` (also applies to GIMP plugin, but I noticed it too late)
_wb_
2021-09-11 07:30:57
Maybe we should align lossy and lossless effort settings so the same can be used for both
diskorduser
2021-09-11 09:35:55
May be put those speed sliders in advanced options?
Scope
2021-09-11 09:37:29
I think this is ok or just distance, although perhaps for more familiar things it would be better to change it to just `quality`, because `-q` anyway correspond to distance values and there is no difference in the methods or encoding quality
2021-09-11 09:42:09
A choice of encoding speed may be quite often needed, but decoding speed is a very rare to use and for many people can be confusing option
_wb_
2021-09-11 12:37:09
Yes, or move it to advanced settings and enable it by default. Might be good to keep an option to strip metadata
novomesk
2021-09-11 06:08:35
I wanted to prepare google/highway package for Gentoo Linux but noticed that the package installs only static libraries (libhwy.a). Gentoo has strong preference for shared libraries. Why the project has the static target only?
_wb_
2021-09-11 06:16:20
I don't think a SIMD library makes sense to link dynamically, since you usually call it in the inner loop. I dunno though.
2021-09-11 06:17:27
<@806098177983643658> is the highway expert
novomesk
2021-09-11 06:49:17
https://mageia.pkgs.org/cauldron/mageia-core-release-x86_64/lib64hwy-devel-0.14.1-1.mga9.x86_64.rpm.html This distribution has shared highway library. They converted .a to .so or patched cmake script to achieve that.
_wb_
2021-09-11 06:57:41
I don't quite understand how highway is a library at all, I would expect it to be more like boost, just a bunch of .h files to be compiled into your code.
veluca
2021-09-11 07:47:44
it is
2021-09-11 07:47:52
it just also has a few utility things
2021-09-11 07:48:01
like detection of CPU and aligned allocators
2021-09-11 07:48:11
which is pretty much what the .a / .so is about
_wb_
2021-09-11 07:53:04
Ah, I see
2021-09-11 07:55:09
So most of the stuff would be "statically linked" anyway, as in, inlined in the inner loops. It's not like you can update highway and get better SIMD. Though maybe for those utility things, a shared library could make sense?
veluca
2021-09-11 07:56:10
yeah I don't see why not
2021-09-11 07:56:20
and statically linked is something different 😛
2021-09-11 07:56:30
most things are header only
_wb_
2021-09-11 08:02:56
I mean, even with a shared library, what the application will use is what it was compiled with, not what that version of the shared library would do. So in that sense (for the core functionality) a shared library is not very useful, exception being the utility things (allocators and cpu detection)
novomesk
2021-09-12 12:28:22
I’d like that libjxl will be added to MSYS2, that’s important for Windows GIMP and few Qt viewers on Windows. It will be good to have https://github.com/libjxl/libjxl/pull/490 which should solve one of the MSYS2-related problems. Do you think a new release of libjxl (0.6?) will be ready soon? I am asking if I should wait with the request to MSYS2 or it is fine to suggest them 0.5.0 version? I do not want to bother them with frequent requests.
veluca
novomesk I’d like that libjxl will be added to MSYS2, that’s important for Windows GIMP and few Qt viewers on Windows. It will be good to have https://github.com/libjxl/libjxl/pull/490 which should solve one of the MSYS2-related problems. Do you think a new release of libjxl (0.6?) will be ready soon? I am asking if I should wait with the request to MSYS2 or it is fine to suggest them 0.5.0 version? I do not want to bother them with frequent requests.
2021-09-12 12:35:11
we branched off 0.6.x on Friday, I think in a week or so 0.6.0 will be out if nothing is on fire - but likely not with the hwy update
novomesk
veluca we branched off 0.6.x on Friday, I think in a week or so 0.6.0 will be out if nothing is on fire - but likely not with the hwy update
2021-09-12 12:38:54
OK, so I wait and I will tell the MSYS2 maintainers not to use bundled libhwy but newer one.
veluca
2021-09-12 12:39:34
non-bundled hwy is not a bad idea anyway 😄
Scope
2021-09-12 01:03:13
Also from MangaDex discord
2021-09-12 01:03:17
https://news.ycombinator.com/item?id=28440742
Deleted User
veluca we branched off 0.6.x on Friday, I think in a week or so 0.6.0 will be out if nothing is on fire - but likely not with the hwy update
2021-09-13 10:35:55
Any chance to enable photon_noise in lossy Modular in 0.6? I'm waiting with this PR: https://github.com/GoogleChromeLabs/squoosh/pull/1136 for that.
veluca
2021-09-13 10:36:21
... does it not work?
2021-09-13 10:36:26
<@!604964375924834314>
spider-mario
2021-09-13 10:37:04
I thought I had used it in modular
2021-09-13 10:37:16
I used `jxl_from_tree` as part of developing it
2021-09-13 10:38:24
oh, maybe `cjxl` doesn’t go through the call to noise generation in modular mode?
2021-09-13 10:38:45
in `jxl_from_tree`, I modified the `image_features` directly
Deleted User
veluca ... does it not work?
2021-09-13 10:40:32
It doesn't work, checked both in self-compiled `cjxl` and Netlify's PR preview of Squoosh: https://deploy-preview-1136--squoosh.netlify.app/
2021-09-13 10:41:21
(the checkbox is called *Alternative lossy mode*)
eddie.zato
2021-09-15 11:52:02
This is my current way to save the encoding parameters for the image and be able to view them quickly.
2021-09-15 11:52:11
``` PS > exiv2 -M "set Exif.Photo.UserComment 'jpg -j -e 8 -d 0.8'" mo 0.jpg PS > cjxl 0.jpg 1.jxl -j -e 8 -d 0.8 ```
2021-09-15 11:52:17
`qimgv` built with the latest git version of `exiv2` (`-DEXIV2_ENABLE_BMFF=ON`):
2021-09-15 11:52:28
_wb_
2021-09-15 12:25:51
Maybe we should add a cjxl option to add arbitrary exif/xmp sidecar files
2021-09-15 12:26:49
Also note that cjxl should read exif from png files too
Deleted User
_wb_ Also note that cjxl should read exif from png files too
2021-09-15 01:26:54
It'll be a bit tricky, because there are not only (recently standardized) eXIf chunks, but also (more legacy and thus widespread) unofficial "Raw profile type exif" zTXt chunks...
2021-09-15 01:27:11
<@!768090355546587137> should probably know that already
2021-09-15 01:31:26
Oh, and don't forget about "XML:com.adobe.xmp" iTXt chunks for storing XMP (because <:JXL:805850130203934781> BMFF supports both Exif and XMP)!
_wb_
2021-09-15 02:02:32
I think cjxl should support all ways to have exif/xmp in png, both official and unofficial
2021-09-15 02:02:44
If not, please open an issue
sebseb
Traneptora I spoke with the FFmpeg team and they'd be happy to accept a wrapper for libjxl in libavformat/libavcodec
2021-09-17 07:57:31
This work well with Ffmpeg?
Traneptora
sebseb This work well with Ffmpeg?
2021-09-17 07:58:20
does libjxl? not yet
2021-09-17 07:58:26
I haven't gotten around to writing it
2021-09-17 07:58:37
the API documentation is not amazing for libjxl
2021-09-17 07:58:51
I'd prefer there to be some sort of quick start guide beyond `example.c`
2021-09-17 07:59:02
so I've been holding off
sebseb
2021-09-17 08:00:23
And i think ffmpeg can work with cjpx when we use "-f image2pipe"
Traneptora
2021-09-17 08:00:46
oh, yea, I know how to do it from ffmpeg's side
2021-09-17 08:00:57
or rather, I know how to make it work inside libavformat/libavcodec
2021-09-17 08:01:12
but libjxl's api documentation is not good and I'd prefer if it were improved before I tried
2021-09-17 08:02:40
not necessarily in depth as this
2021-09-17 08:02:40
https://zlib.net/zlib_how.html
2021-09-17 08:02:51
but a quick english-text explanation would be nice
sebseb And i think ffmpeg can work with cjpx when we use "-f image2pipe"
2021-09-17 08:04:25
it would work like other images. you'd have to add the header magic to the image2 and image2pipe demuxers/muxers in avformat, and add a libjxl based encoder/decoder in avcodec
2021-09-17 08:04:42
the ffmpeg-side wouldn't be too hard since there's very little logic
2021-09-17 08:04:51
it's just about splicing in the jxl interface into ffmpeg's own internals
Scope
2021-09-17 08:05:34
At least something more convenient started https://libjxl.readthedocs.io/en/latest/
Traneptora
2021-09-17 08:05:59
oh nice, when did this happen
sebseb
Traneptora it's just about splicing in the jxl interface into ffmpeg's own internals
2021-09-17 08:06:09
it's not the easiest thing to do
Traneptora
2021-09-17 08:06:17
I do know how to do it though
Scope
2021-09-17 08:06:23
<https://github.com/libjxl/libjxl/commit/73724bfe2be72e29242db658d7e5cb92d97bbe57>
Traneptora
2021-09-17 08:06:27
I've worked with the FFmpeg codebase before
2021-09-17 08:07:00
ah, it happened 4 hours ago
2021-09-17 08:07:02
😆
sebseb
Traneptora ah, it happened 4 hours ago
2021-09-17 08:08:24
it was enough to ask 😅
Pigophone
_wb_ That way we could make api-based versions of cjxl and benchmark_xl quite easily, but also applications that want to offer CLI passthrough of parameters, like ImageMagick or ffmpeg
2021-09-17 08:19:48
fwiw, x264/x265 do something like that, https://github.com/videolan/x265/blob/419182243fb2e2dfbe91dfc45a51778cf704f849/source/x265.h#L1953-L1961 nice encoders will also bake all the parameters into the output file as well
2021-09-17 08:20:13
oh meant to quote reply to `JxlEncoderAddParam`
_wb_
2021-09-19 06:32:39
https://www.reddit.com/r/jpegxl/comments/pr2sk6/facebook_now_seems_to_accept_jpeg_xl_image_uploads/
2021-09-19 06:32:46
Is that true?
eddie.zato
_wb_ Is that true?
2021-09-19 08:14:43
Yep, can confirm that.
fab
2021-09-19 09:08:54
is not true
2021-09-19 09:08:56
you're lying
2021-09-19 09:09:12
dilvish and kylxbn
2021-09-19 09:09:19
2021-09-19 09:09:32
700 kb image
2021-09-19 09:12:23
<@!111445179587624960> why it doesn't work
2021-09-19 09:12:56
i deleted .jpg extension
2021-09-19 09:13:01
same it isn't recognized
2021-09-19 09:13:16
it shows the image but it blocks the posting
Scope
2021-09-19 09:15:34
I don't know, I don't use fb
veluca
eddie.zato Yep, can confirm that.
2021-09-19 09:16:08
... I'll ask
2021-09-19 09:16:28
I suspect it's more of a side effect than being actually intentional
Scope
2021-09-19 09:21:14
Probably because it uses something like IM or LibVips to convert or its own tools where libjxl support has also been added for faster future integration when it will be in browsers by default
2021-09-19 09:23:09
https://bestsecuritysearch.com/facebook-hacked-via-imagemagick-exploit/
fab
_wb_ https://www.reddit.com/r/jpegxl/comments/pr2sk6/facebook_now_seems_to_accept_jpeg_xl_image_uploads/
2021-09-19 09:39:10
only for lossless recompressed jxl
_wb_
2021-09-19 09:39:18
Any jxl with a container seems to work
2021-09-19 09:40:48
2021-09-19 09:42:08
I uploaded that as a 258 byte jxl (the original 218 byte <#824000991891554375> file plus 40 bytes for the container), this is how I can download it
fab
2021-09-19 09:42:15
_wb_
2021-09-19 09:42:46
What are you trying to do?
diskorduser
fab
2021-09-19 09:43:43
add -j
fab
2021-09-19 09:45:37
now it compressed same 191000 kb jpg
2021-09-19 09:45:51
189 kb the jxl
_wb_ Any jxl with a container seems to work
2021-09-19 09:46:39
what is a jxl with a container
_wb_
2021-09-19 09:46:59
One that uses the isobmff file format and not just the naked codestream
fab
2021-09-19 09:47:03
_wb_
2021-09-19 09:47:20
If the file starts with 0xFF0A it won't work
fab
_wb_ One that uses the isobmff file format and not just the naked codestream
2021-09-19 09:47:21
how to convert the old jxl and scans my pc for invalid jxl?
_wb_ If the file starts with 0xFF0A it won't work
2021-09-19 09:47:26
ah
2021-09-19 09:47:37
all the files i had have this problem
2021-09-19 09:47:44
because i used early converters
_wb_
2021-09-19 09:47:52
If it starts with the JXL ftyp jxl stuff, it will work in facebook
2021-09-19 09:48:23
It's trivial to put naked codestreams in a container, it just adds 40 bytes
fab
2021-09-19 09:48:39
when you added the container
2021-09-19 09:48:43
is for exif
_wb_
2021-09-19 09:48:44
Maybe we should make a tool for it
fab
2021-09-19 09:48:53
or exif is something that add even more
2021-09-19 09:49:01
the support for exif is more byte
_wb_
2021-09-19 09:49:09
Container is indeed to store other stuff like exif, xmp, jpeg bitstream reconstruction data, etc
2021-09-19 09:49:20
Exif can have any size
fab
2021-09-19 09:49:37
when you added container
_wb_
2021-09-19 09:49:53
The container spec was finalized in April 2021
2021-09-19 09:50:27
Its implementation is still unfinished, though the basic support has been there since before November 2020
fab
2021-09-19 09:50:46
i think -d 1.52 -s 8 can be good fidelity with samsung gn1 photos
2021-09-19 09:52:40
there is various datas from 02 07 2021 from 31 12 2021
_wb_
veluca I suspect it's more of a side effect than being actually intentional
2021-09-19 10:17:15
You think it's accidental? Could also be the first step in a deployment strategy. Adding server-side decode support would be a logical thing to start with...
eddie.zato
2021-09-19 10:28:06
This is even more curious. The web version of MS Outlook allows you to add jxl as an image when writing an email.
_wb_
2021-09-19 10:30:09
Does it maybe not check file type at all?
2021-09-19 10:30:45
Or do you have the jxl WIC thing installed or something? That might change such things
eddie.zato
2021-09-19 10:32:16
The `Add file` dialog has images filter with *.jxl included
2021-09-19 10:32:29
I don't have jxl WIC
2021-09-19 10:33:05
Gmail doesn't allow jxl as image
_wb_
2021-09-19 10:35:44
Interesting...
veluca
2021-09-19 10:59:04
I wrote him an email already 😛
_wb_
2021-09-19 11:05:06
So we have facebook and microsoft silently supporting jxl upload in at least a subset of their products
2021-09-19 11:05:40
That's interesting, also considering they are both AOM founding members
fab
eddie.zato The `Add file` dialog has images filter with *.jxl included
2021-09-19 11:28:16
No i do all*.
2021-09-19 11:28:49
Yes i also have WIC
2021-09-19 12:01:57
you don't see the image?
2021-09-19 12:02:44
it converts to JPG?
2021-09-19 12:04:26
Is normal
2021-09-19 12:04:32
is not included
2021-09-19 12:04:38
but at least do you see the image?
2021-09-19 12:04:41
in jxl or in jpg
2021-09-19 12:04:46
with firefox nightly
2021-09-19 12:05:22
on facebook i said it shows on explorer with all files
eddie.zato
2021-09-19 12:53:39
`outlook.live.com` Windows 10 MS Edge Canary
2021-09-19 12:53:47
Scope
2021-09-19 12:56:41
Also Chrome
2021-09-19 01:02:40
And Discord preview in a browser with jxl support (but sadly not in the desktop client and preview in messages)
username
2021-09-19 01:06:44
it works in the canary client for discord if you set --enable-features=JXL
_wb_
2021-09-19 02:24:10
For discord, I assume it's just the browser
2021-09-19 02:25:03
facebook, looks like they do support it server-side (it also works from safari or other non-jxl-enabled browsers)
2021-09-19 02:26:18
Microsoft also looks like they did something to at least update the list of extensions they consider 'images'
lithium
2021-09-19 06:35:36
It's glad to hear some company start use jxl, 🙂 non-optimize parameter avif still not suitable for photo image or some complex structure graphics. maybe we also have some good news for graphics(non-photo) quality improve or separate mode in this month?
_wb_
2021-09-19 06:42:29
If that news depends on my progress, it'll most likely take more time than "this month". Encoder improvements are nice but not at the top of my todo/priority list
lithium
2021-09-19 06:46:58
Thank you for your reply Yes, I understand this not a high priority request, I just look forward maybe have some good news in this month. 🙂
diskorduser
2021-09-19 07:04:52
<#840831132009365514>
fab
2021-09-19 07:30:42
no is not good
nathanielcwm
_wb_ For discord, I assume it's just the browser
2021-09-21 03:30:59
bit late but discord ptb still uses a chromium version of 83 <:kekw:808717074305122316>
2021-09-21 03:31:06
at least according to dev tools
2021-09-21 03:31:21
eddie.zato
2021-09-22 05:35:21
`qimgv` made it to release with support for both jxl and avif on windows. I put this to <#822120855449894942>
KAGAMI
2021-09-26 08:39:18
https://github.com/saschanaz/jxl-winthumb/releases now supports WIC decoding, if anyone still wants it
eddie.zato
2021-09-27 02:45:29
Very much want that. 👍
The_Decryptor
2021-09-27 02:45:32
Works really well, though it surprises me just how little software on my computer uses WIC to handle images. Office and the legacy Photo Viewer seem to be it
eddie.zato
2021-09-27 02:51:52
Personally, I can recommend these WIC-supported viewers if anyone is interested: JPEGView https://sourceforge.net/projects/jpegview/ NeeView https://bitbucket.org/neelabo/neeview/
Scope
2021-09-27 07:22:44
https://twitter.com/zemarmot/status/1442436382765588483
improver
2021-09-27 08:49:24
gimp_file_procedure_set_magics looks wrong
2021-09-27 08:52:19
it probably works but matches stuff only partially when it could do full match
veluca
2021-09-27 09:17:26
anybody volunteers to moving documentation on how to use JPEG XL in viewers etc in the main readme? (asking people who are familiar with Windows especially)
_wb_
2021-09-28 05:22:59
We can have it in both places. I think we need to make it as easy as possible for end-users to "make it work". For devs who need info, it's ok if it's a few clicks away, but for end-users who just want to get jxl to 'work' on their system (i.e. Windows and maybe MacOS) it should be easy and prominent instructions.
veluca
2021-09-28 04:23:53
I'd say both...
2021-09-28 04:24:02
or one, and we do the other
Scope
2021-09-30 02:45:24
https://twitter.com/CHLThor/status/1443585512426520584
2021-09-30 02:45:44
https://twitter.com/PDFAssociation/status/1443562578228269058
fab
2021-09-30 03:03:32
https://www.reddit.com/r/jpegxl/comments/pyf84v/development_gimp_299_win64nightly_with_jpeg_xl/
2021-09-30 03:03:36
libappstream-glib 8 missing
2021-09-30 03:03:48
file is called gimp-2.99.exe
2021-09-30 03:03:49
gimp-2.99
improver
2021-09-30 03:20:38
recordings when
novomesk
fab libappstream-glib 8 missing
2021-09-30 07:57:40
gimp-2.99.exe do not work alone. It is working for you when it sits among all the DLLs and other components from the archive?
fab
novomesk gimp-2.99.exe do not work alone. It is working for you when it sits among all the DLLs and other components from the archive?
2021-09-30 08:03:50
with 7zip i extracted and did some errors
2021-09-30 08:04:03
it said dangerous root path
2021-09-30 08:04:24
because of some folders called path ... root
2021-09-30 08:04:39
i delete the archive i don't know i will try tomorrow
2021-09-30 08:04:45
they are 60000 files
novomesk
fab with 7zip i extracted and did some errors
2021-09-30 08:29:35
I used only Windows copy+paste to uncompress the archive.
Traneptora
2021-10-03 01:08:23
it's coming along
2021-10-03 01:08:27
``` leo@gauss ~/Development/ffmpeg :( $ ./ffmpeg_g -i ../test_images/lenna.jxl ffmpeg version N-103959-g5f08956fe7 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 11.1.0 (GCC) configuration: --disable-doc --disable-stripping libavutil 57. 7.100 / 57. 7.100 libavcodec 59. 10.100 / 59. 10.100 libavformat 59. 5.100 / 59. 5.100 libavdevice 59. 0.101 / 59. 0.101 libavfilter 8. 11.100 / 8. 11.100 libswscale 6. 1.100 / 6. 1.100 libswresample 4. 0.100 / 4. 0.100 [image2 @ 0x563ad367e3c0] Could not find codec parameters for stream 0 (Video: jpegxl, none): unspecified size Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options Input #0, image2, from '../test_images/lenna.jxl': Duration: 00:00:00.04, start: 0.000000, bitrate: 82511 kb/s Stream #0:0: Video: jpegxl, none, 25 fps, 25 tbr, 25 tbn At least one output file must be specified ```
2021-10-03 01:09:38
streamcopy works, without corruption
2021-10-03 01:09:45
not a surprise, copies the file bit by bit
2021-10-03 01:09:51
but still a good sanity check
eddie.zato
2021-10-05 12:05:43
The test version of IrfanView comes with jxl support.
2021-10-05 12:05:55
I dunno why, but the plugin is disabled by default. You need to enable it in `Help -> Installed PlugIns`
2021-10-05 12:06:01
https://www.irfanview.info/test/iview64_test.zip
Scope
2021-10-05 08:02:59
https://youtu.be/h8UHIHhDBHU
2021-10-05 08:24:08
Also, timing about PDF Association: <https://youtu.be/h8UHIHhDBHU?t=2429>
monad
2021-10-05 09:36:12
hashtag fail :(
veluca
2021-10-06 09:52:11
https://archlinux.org/packages/community/x86_64/libjxl/
2021-10-06 09:52:31
JXL is in the arch repos 🙂
improver
2021-10-06 09:52:59
v nice
190n
2021-10-06 10:06:04
<:megapog:816773962884972565>
veluca
2021-10-06 11:02:21
I guess so
2021-10-06 11:02:28
Someone should send a CL ;)
_wb_
2021-10-07 09:17:07
https://twitter.com/tbonfort/status/1446164979456090115?t=e89r20QyCCgMabdD1P7jzQ&s=19
Scope
2021-10-07 09:36:59
Hmm, but, why compared to zstd or is it some special data that is not supported by other lossless image formats?
_wb_
2021-10-08 05:22:55
I think they currently use TIFF because they need many channels
Scope
2021-10-08 05:29:52
I mean, even something like Jpeg2k would be better than zstd for images
_wb_
2021-10-08 05:31:21
Yes, I dunno why they don't compare against j2k
2021-10-08 05:31:48
J2K is quite good for lossless sensor data
2021-10-08 05:32:21
(not as good as cjxl -e 3 though)
2021-10-08 05:33:53
All these special use cases have their own current solutions, it seems
2021-10-08 05:34:40
GeoTIFF for aerial/satellite multispectral images
2021-10-08 05:34:53
DICOM for medical imagery
2021-10-08 05:35:47
Motion J2K for digital cinema
Hello71
2021-10-09 03:27:14
has there been any thought towards using system libpng instead of embedded lodepng? it seems like the only remaining mandatory bundled library, and using system libraries would make linux distro packagers more comfortable. i think it is only used for tools, but we already get enough annoying bug reports complaining that someone's crappy vulnerability scanner found a dozen cves in some non-exposed library
2021-10-09 03:27:53
it's not a huge issue, but seems like jxl project takes adoption very seriously
BlueSwordM
Hello71 has there been any thought towards using system libpng instead of embedded lodepng? it seems like the only remaining mandatory bundled library, and using system libraries would make linux distro packagers more comfortable. i think it is only used for tools, but we already get enough annoying bug reports complaining that someone's crappy vulnerability scanner found a dozen cves in some non-exposed library
2021-10-09 03:43:52
Huh, libjxl does use system libpng <:Thonk:805904896879493180>
2021-10-09 03:43:55
https://openmandriva.pkgs.org/cooker/openmandriva-main-release-aarch64/jpeg-xl-tools-0.5-1-omv4050.aarch64.rpm.html
Hello71
2021-10-09 03:51:55
well, the "instead of" part is important; also i still mean libjxl the repository and not libjxl the shared object
2021-10-09 03:52:27
afaict libpng is only used for apng, and all other png operations are done with lodepng
_wb_
2021-10-09 03:56:44
libjxl.so shouldn't depend on any png, but cjxl/djxl currently depend on both lodepng and libpng and we should probably make it a compile option to use one or the other
Hello71
2021-10-09 03:59:11
i assumed the reason why both are used is that lodepng has simpler api and is easier to embed for windows but doesn't support apng. does that sound right?
_wb_
2021-10-09 04:00:47
Yes, but libpng also doesn't really support apng, so I guess we should just add animation support to the lodepng decoder too (and the encoder too, so djxl can save as apng)
2021-10-09 04:01:50
And for linux distros it might make more sense to depend on libpng to reduce the jxl package size / security surface
Hello71
2021-10-09 04:06:05
my theory is that hopefully people are not passing arbitrary files to cjxl, but who knows...
veluca
2021-10-09 07:32:41
it may be simpler to just always use libpng
2021-10-09 07:33:58
IIRC the main reason we use lodepng is because Lode is in our team 😛 but I don't think he'd mind switching to libpng at all
2021-10-09 07:34:10
PRs are welcome
_wb_
2021-10-09 07:40:57
Libpng is not so practical for windows builds iirc, or is that not really an issue?
veluca
2021-10-09 07:41:49
I don't think it's worse than say libjpeg...
_wb_
2021-10-09 07:42:43
I don't particularly care, just would be nice to use just a single one instead of two, and to support apng input and output
Scope
2021-10-09 08:22:24
Two could be useful if have support for one of the most stable/distributed and one of the fastest libs (like libspng or similar fast ones), although cjxl/djxl is better to have the bare minimum functionality and for something more - IM/VIPS is better, but it is still not rare to use such de/encoders directly
veluca
2021-10-09 08:23:43
one is less maintenance 😛
2021-10-09 08:24:07
I'm not sure what's missing from codec_apng wrt codec_png to allow just libpng
_wb_
2021-10-09 08:29:11
It ignores icc and doesn't encode
veluca
2021-10-09 08:29:45
how hard is that to fix?
_wb_
2021-10-09 08:31:27
Probably not hard
Kleis Auke
2021-10-10 05:43:43
Regarding lodepng, I had some problems with that too for the libvips Windows builds (libvips only depends on `libjxl.{so,dylib,dll}`, so that dependency isn't needed). I was able to make the dependency optional with patch 3 from here: <https://github.com/libvips/build-win64-mxe/blob/87185888391a13c4d22e4becf4b10e6ff55cce5a/build/patches/libjxl-0.6-fixes.patch> I could look into upstreaming these patches, if there's any interest.
veluca
2021-10-11 09:06:17
mhhh I think that it would be better to make it not needed, rather than just allowing not to use it
Hello71
2021-10-11 01:57:01
yes, i think so too. i considered that option for distro but decided it may cause unnecessary user confusion and annoyance, since png is a very common format
_wb_
2021-10-12 05:47:07
https://bugs.chromium.org/p/chromium/issues/detail?id=1178058#c48
2021-10-12 05:47:14
What does priority 2 mean?
2021-10-12 05:47:30
(is that higher or lower priority than whatever it was?)
BlueSwordM
_wb_ What does priority 2 mean?
2021-10-12 05:57:16
0 is most urgent. 3 is least urgent.
2021-10-12 05:57:23
https://www.chromium.org/for-testers/bug-reporting-guidelines/chromium-bug-labels
_wb_
2021-10-12 06:03:20
Did it even have a priority before? And what was it?
BlueSwordM
_wb_ Did it even have a priority before? And what was it?
2021-10-12 06:17:40
It was Priority 1 before: https://discord.com/channels/794206087879852103/803574970180829194/810060217336725515
2021-10-12 06:17:54
I wonder why they lowered it 🤔
_wb_
2021-10-12 06:19:49
Politics
fab
2021-10-12 06:22:30
In my experience vp9 1440p 3129 kbps still look better than jxl -s 7 -d 4.586
2021-10-12 06:23:02
for 1080p jxl
2021-10-12 06:23:17
so nothing incredible
2021-10-12 06:23:25
but still jxl is good
2021-10-12 06:23:34
if you know how to use it
2021-10-12 06:24:03
for phones you need to have multi hdr like 30 frame or 60 frame like is there is photon camera on github
2021-10-12 06:24:21
otherwise file will look bad
2021-10-12 06:24:31
you need good quality image
2021-10-12 06:24:55
photon camera is a camera app that does multi hdr
2021-10-12 06:25:01
but don't sh0ot 10 bit photos
2021-10-12 06:25:12
raw maybe is 16 bit but i didn't check it
2021-10-12 06:25:36
don't know if is still 10 bit of range HDR 10+ but don't think it's good nits
2021-10-12 06:25:42
anyway is off topic
2021-10-12 06:25:56
for %i in (C:\Users\Utente\Documents\89\*.png) do cjxldelta -q 96.8 -s 4 -I 0.745 --use_new_heuristics %i %i.jxl
diskorduser
fab In my experience vp9 1440p 3129 kbps still look better than jxl -s 7 -d 4.586
2021-10-12 06:26:02
Ok send proof on #offtopic
fab
2021-10-12 06:26:17
vp9 improved a lot for youtube
2021-10-12 06:26:25
but still my phone can't play 4k vp9
_wb_
2021-10-12 06:26:33
I think that Chrome leadership thinks that if they (are the first to) support jxl, they will be seen as not being loyal to the aom roadmap, and they don't want to endanger that major strategic alliance in any way.
fab
2021-10-12 06:26:33
and is snapdragon 780g
2021-10-12 06:26:43
so av1 is still good to bet
2021-10-12 06:27:06
av1 decoding is fast
_wb_
2021-10-12 06:31:12
It's rather frustrating and ironic that the AOM roadmap, of all things, seems to be the biggest obstacle to get a royalty-free codec supported by a browser.
2021-10-12 06:42:40
> AOMedia unites top tech leaders behind a collaborative effort to offer open, royalty-free and interoperable solutions for the next generation of media delivery. The Alliance's shared vision is to make media technology more efficient, cost-effective and of superior quality for all users, on all devices, and on all platforms using AOM standards & tools. > Assertion: AOM member companies are committed to continuing to provide the focus and investment required to develop and maintain a future roadmap of standards and tools for AV1 and media delivery.
2021-10-12 06:44:47
Note how that AOM mission statement starts quite broadly with "open, royalty-free and interoperable solutions", but ends with specifically "AV1".
improver
2021-10-12 07:06:08
key words: "focus" and "AV1"
_wb_
2021-10-12 07:11:20
"Alliance for ||blocking any non-AV1|| Open Media"
Deleted User
2021-10-12 10:12:48
If not Chrome, then Firefox will have to be the first...
Scope
2021-10-12 10:26:01
Also in Firefox as well, patch reviews have suddenly stopped and even after enabling AVIF by default, it doesn't look like it will happen anytime soon https://phabricator.services.mozilla.com/D119700
_wb_
2021-10-13 05:06:07
Mozilla is also an AOM member
Deleted User
2021-10-13 08:47:47
Apparently Microsoft is a founding member
2021-10-13 08:47:56
So... Opera?
190n
2021-10-13 08:48:44
opera won't get it out any faster than chromium
2021-10-13 08:49:05
help us apple, you're our only hope
2021-10-13 08:49:16
i think apple forgot they're a member of aom
_wb_
2021-10-13 11:04:11
Probably a consideration is prior investments in hardware, which causes both heic and avif to get pushed just because chip makers want to sell their chips and device makers who already ordered those chips want to make use of them
Deleted User
2021-10-13 12:43:23
So our final hope is <@!532010383041363969>'s plan? Only start with lossless JXL for the first 6 months to avoid competition with AVIF?
_wb_
2021-10-13 02:03:37
I think we just need to convince AOM that jxl is not an enemy but an ally w.r.t. their overall mission of having royalty-free media codecs.
2021-10-13 02:05:31
And even if they don't care about their mission but only about pushing av1: jxl does not threaten av1 in any way because jxl is not a video codec. AV1 does not need avif to 'win' and jxl to 'lose' in order to be successful.
Deleted User
_wb_ I think we just need to convince AOM that jxl is not an enemy but an ally w.r.t. their overall mission of having royalty-free media codecs.
2021-10-13 05:05:34
What's the battle plan to realize that?
BlueSwordM
What's the battle plan to realize that?
2021-10-13 05:24:56
I send a nice email to Aomedia 🙂
2021-10-13 05:25:12
IMO, the Google AOM devs are some nice folk, they just need some pushing.
2021-10-13 05:25:30
They've already taken some stuff from JXL, so it shows that there is interest.
novomesk
2021-10-14 07:15:04
Fate of any new format is not easy. It took long time for older formats to get supported. You see that the progress is slower than you want but it is relatively faster than older formats. JXL is still young but for example it was accepted to GIMP much quickly than AVIF in the past. Don't be discouraged. Continue with patience and perseverance.
Petr
2021-10-14 07:32:11
Part 2 was published yesterday: https://www.iso.org/standard/80617.html <:BlobYay:806132268186861619>
_wb_
2021-10-14 07:40:49
Yes, and the ballot for part 1 should finally start today - sure took the ISO editors long enough to prepare that ballot, considering we submitted it to ISO back in January... But of course it's a much longer document.
Fraetor
Petr Part 2 was published yesterday: https://www.iso.org/standard/80617.html <:BlobYay:806132268186861619>
2021-10-14 10:35:45
Only 16 pages? That makes it a readable document.
2021-10-14 10:36:00
How long is the part 1 spec?
Deleted User
Fraetor How long is the part 1 spec?
2021-10-14 11:02:11
Somewhere about 100 (and something) pages.
Petr Part 2 was published yesterday: https://www.iso.org/standard/80617.html <:BlobYay:806132268186861619>
2021-10-14 11:02:51
I've just added it to English Wikipedia 🙂 Is there any source for an exact date? ISO page only mentions year and month.
_wb_
2021-10-14 11:25:47
2021-10-14 11:26:45
part 1 ballot has started
Fraetor Only 16 pages? That makes it a readable document.
2021-10-14 11:28:07
it only describes the container and the jpeg bitstream reconstruction data/procedure
2021-10-14 11:28:51
part 1 is the main spec that describes everything needed to decode the actual image
2021-10-14 11:32:34
with part 2 the voting ended on Aug 28 and it took until yesterday to have the IS published
2021-10-14 11:33:32
so I expect part 1 to be officially published end of January 2022
2021-10-14 11:33:54
(assuming the vote goes well)
Fraetor
2021-10-14 12:04:07
🤞
Petr
I've just added it to English Wikipedia 🙂 Is there any source for an exact date? ISO page only mentions year and month.
2021-10-14 12:47:49
It's near the bottom of that page (quite user-unfriendly to reach).
Hello71
2021-10-14 03:03:50
IMO the "PR confusion" reasoning behind "AV1 or bust" kind of makes sense: people already accuse open source of having too much fragmentation, and format fragmentation doesn't help. yes, AV1 is a video codec and JXL is an image codec, but popular media can't even consistently acknowledge that there are at least three factors when comparing codecs (speed, size, quality) rather than just picking one or two (usually whichever are favorable to proprietary side...). "JXL, JXR, AVIF, FLIF, WebP, too much confusion, better use HEIC to be safe"
_wb_
2021-10-14 03:13:10
Most people have never heard of jxl, jxr, avif, flif and webp.
2021-10-14 03:13:20
They just know jpeg, png and gif
2021-10-14 03:13:50
And I would say avif is the new gif, and jxl is the new jpeg and png
BlueSwordM
Hello71 IMO the "PR confusion" reasoning behind "AV1 or bust" kind of makes sense: people already accuse open source of having too much fragmentation, and format fragmentation doesn't help. yes, AV1 is a video codec and JXL is an image codec, but popular media can't even consistently acknowledge that there are at least three factors when comparing codecs (speed, size, quality) rather than just picking one or two (usually whichever are favorable to proprietary side...). "JXL, JXR, AVIF, FLIF, WebP, too much confusion, better use HEIC to be safe"
2021-10-14 03:19:16
The other problem is that these people don't even know about the 20 codecs MPEG members make 😛
monad
2021-10-15 04:42:31
There's a pretty big hentai mirror site that switched to AVIF a while ago.
diskorduser
2021-10-15 04:47:44
Is it a 6 digit code site?
monad
2021-10-15 05:15:18
6 character name? yes
w
2021-10-15 05:16:15
i dont see the appeal of using a lossy format for a medium that's just images. am afraid of generation loss
diskorduser
2021-10-15 12:17:05
Only if lossless size is smaller than lossy one.
_wb_
2021-10-15 12:20:44
there's a big difference depending on what the use case is: - just watching the image - using the image
spider-mario
2021-10-15 01:01:47
yeah, I see no problem with serving a lossy d1 or d2 version by default, and offering to optionally download the original if such use is desired
lithium
2021-10-15 01:35:30
On cwebp near-lossless 60(not webp lossy), If compare with original, I can't find any difference on near-lossless 60 version, Probably jxl -d 0.5 -e 8 also can reach near-lossless quality(pass blink compare test)? so I guess high quality lossy also a good choose.
Jim
2021-10-15 10:40:27
https://twitter.com/corbindavenport/status/1449114622720622598
improver
2021-10-16 12:45:18
huh they actually did that? kinda silly. id expect webp's lossless mode (possibly with some loss) wouldve been better
2021-10-16 12:46:54
i think it was called near-lossless unless im mistaking it
2021-10-16 01:30:46
not seeing avifs on that one
monad
2021-10-16 02:38:26
There's a download button for the whole book which gives higher quality images (typically jpeg from what I've seen).
lithium
2021-10-16 05:57:39
🤔 > ひとみ.lx 😛
improver
2021-10-16 11:51:08
apparently its not for all pictures
2021-10-16 11:53:14
or.. depends on browser? works in mysterious ways
diskorduser
improver apparently its not for all pictures
2021-10-16 01:25:20
If I set disable avif in Firefox about:config, it sends webp. If avif enabled it sends avif
improver
2021-10-16 01:50:35
depends on gallery
2021-10-16 01:50:59
try picking some obscure tag and going to last page
diskorduser
2021-10-16 01:54:40
How do I know which one is obscure 😔
2021-10-16 03:04:51
So they encode avif for popular ones
improver
2021-10-16 03:13:33
makes sense. as it's expensive to do
Skeebadoo
eddie.zato The test version of IrfanView comes with jxl support.
2021-10-16 03:54:22
Somehow it manages to produce bigger files than png when set to q100 + modular
2021-10-16 04:03:13
E.g. I took a noisy cover art (https://f4.bcbits.com/img/a0101909125_10.jpg), png is 2,784 KB, irfanview jxl q100 + 2nd slowest + modular is 2,979 KB, and the latest nightly cjxl q100 + 2nd slowest is 1,697 KB
2021-10-16 04:05:20
On the other hands irfanview q100 without modular produces the same sized result as cjxl -d 1.0, 396 KB
2021-10-16 04:08:59
Ok, I may have exaggerated a bit, because I have OptiPNG plugin too, so probably a normal png would be over 3K. Still, irfanview's lossless is **significantly** bigger than cjxl's
eddie.zato
2021-10-16 04:26:55
I guess irfanview is doing something wrong <:Thonk:805904896879493180>
Skeebadoo
2021-10-16 06:08:36
He switched the effort order (so that 2 in IrfanView is now kitten and 8 is thunder), but that doesn't matter, files are much bigger regardless
2021-10-16 06:08:44
_wb_
2021-10-16 06:11:31
Looks like something is not done correctly - are the results even fully lossless? Check `compare -metric pae orig.png irfanview_bla.jxl.png`
Skeebadoo
2021-10-16 06:16:50
I'm a sunday tester here, so I'm not sure where can I do that
2021-10-16 06:17:04
I only have the latest nightly binaries cjxl/djxl/benchmark_xl
2021-10-16 06:18:56
But yeah, even IrfanView itself reports a different number of unique colours, png and cjxl files are equal (145359), the file saved in IrfanView is different (145097)
diskorduser
2021-10-16 06:19:36
You need to install imagemagick for compare tool
Skeebadoo
2021-10-16 06:19:48
ok, thanks
2021-10-16 06:30:00
yeah ok
2021-10-16 06:30:42
so quality 100 + modular with this test IrfanView plugin is not 1:1
Eugene Vert
2021-10-16 06:41:49
The GIMP plugin seems to do the same thing (Inverted speed and lossy 'lossless') (And checking "Do not use XYB colorspace" does nothing)
2021-10-16 06:47:31
``` ➜ du * 1700 jxl_cjxl_jms8.jxl 3192 jxl_gimp_ms8_noXYB.jxl 2980 jxl_gimp_ms2_noXYB.jxl 2980 jxl_gimp_ms2_toXYB.jxl 3012 orig.png ➜ compare -metric pae orig.png jxl_gimp_ms2_noXYB.jxl diff.ppm 771 (0.0117647) ```
2021-10-16 06:57:17
`uses_original_profile: 0` in both cases from gimp
_wb_
2021-10-16 07:08:49
Looks like it doesn't do lossless properly and converts to XYB. This seems to be a big pitfall for api users, is there anything we can do to make that less likely to happen, <@768090355546587137> ?
novomesk
2021-10-19 11:20:53
GIMP 2.99.8
eddie.zato
2021-10-19 12:35:41
I heard that 2.99.8 was scheduled for the 17th, but was postponed due to some problems on the msys2 side.
diskorduser
novomesk GIMP 2.99.8
2021-10-19 01:52:04
Are you using default gnome theme or custom themes?
novomesk
diskorduser Are you using default gnome theme or custom themes?
2021-10-19 02:18:00
The picture is not from my computer, it is from one GIMP developer.
dizzleshizzle
2021-10-19 03:19:46
I thought the dash isn't supposed to be in JPEG XL. ie shouldn't be JPEG-XL
2021-10-19 03:24:10
great work. I'm very excited for GIMP 2.99.8
improver
2021-10-19 03:57:49
this looks like default theme's dark variant
monad
2021-10-19 05:32:56
I suppose this is not final, but I'd consider 'Effort/Speed' -> 'Compression effort' and use a numerical slider, 'Compression/maxError' -> 'Distance/Max error'.
improver
2021-10-19 06:16:25
distance is quite uncommon parameter name though
monad
2021-10-19 07:41:36
Yes, that's why I kind of like the addition of '/Max error' to perhaps aid in understanding for those unfamiliar. Distance is accurate and familiar for others having experience with the codec. To that same point, there's an argument for labeling it 'Distance' alone, understanding that people will gain a familiarity with the setting over time.
2021-10-19 07:44:34
Otherwise, 'max error' could become the popular description for the distance setting, which I'm not sure whether would be a good thing.
_wb_
2021-10-19 07:50:20
Depending on how you interpret "error", it is OK
2021-10-19 07:51:03
As long as people don't interpret it as max numeric 8-bit RGB error or something like that
monad
2021-10-19 08:10:55
Yes, 'error' is quite vague, but so is 'quality'.
improver
2021-10-19 08:31:12
one could just have additional slider for 'quality', and let them move in sync (change of one would change another)
2021-10-19 08:31:36
that would make connection between two easy to discover and more obvious imo
monad
2021-10-19 08:32:25
I considered that as well. The downside is that it's redundant.
improver
2021-10-19 08:35:56
i don't see that as big downside at all. command line parameter is redundant too, but sometimes it's more handy, especially for people who are used to jpeg way of handling things
2021-10-19 08:37:20
right now seeing only cryptic named slider which means exactly opposite what jpeg's stuff does is just not good experience for ones who haven't heard of this stuff at all
monad
2021-10-19 08:56:57
Redundancy is good where it increases usability. I don't think that's the case here, where the argument is really for guiding the user's mental model of an archaic option. If quality is decidedly more intuitive/familiar, there's an argument for just having a quality slider. But I do think people will come to understand the effect of distance, and I like the accuracy of the option over quality.
improver
2021-10-19 09:04:00
depends on demography. pretty sure some will be surprised, also given the fact that it's got jpeg in name. also use case of "lets just do similar quality what I used to do with jpeg"
2021-10-19 09:04:15
some people learn fast, some don't
_wb_
2021-10-19 09:04:40
People also tend to be surprised that JPEG XL can do lossless
improver
2021-10-19 09:05:24
im saying this as someone who actually prefers jpeg quality way of doing things
2021-10-19 09:05:40
so this showing of distance makes me go ewww
_wb_
2021-10-19 09:06:55
JPEG has become a synonym for lossy (though actually all jpeg standards since the original one can do lossless too, but it kind of sucked and was usually not implemented)
improver
2021-10-19 09:07:30
it's bad enough that id rather export to png and invoke cjxl by hand
_wb_
2021-10-19 09:08:38
Maybe a single slider but with a dual display of the value as a d and a q could also work
improver
2021-10-19 09:09:11
now that's actually good idea
monad
2021-10-19 09:09:18
Yes, I was trying to visualize how to do that.
_wb_
2021-10-19 09:10:17
Two input boxes, in case you want to enter a number instead of adjusting the slider, but just one slider
monad
2021-10-19 09:22:13
I guess: Quality/Distance [slider] [number] q [number] d
2021-10-19 09:24:08
It's just perhaps a bit tight horizontally. But looking at other dialogs, I didn't see precedent for small clarifying labels above an input.
2021-10-19 09:29:16
I'm not sure about: Quality [number] [slider] Distance [number]
2021-10-19 09:30:02
But maybe that's readable (if possible in gimp UI framework).
Traneptora
2021-10-20 08:40:53
https://github.com/thebombzen/FFmpeg/tree/libjxl
2021-10-20 08:40:57
If anyone would like to help me test
2021-10-20 08:41:19
https://0x0.st/-dXd.png
diskorduser
2021-10-20 09:04:32
Is it ffmpeg fork with jxl support?
Traneptora
2021-10-20 09:06:13
that's my development branch
2021-10-20 09:06:20
once it gets tested/approved it'll get merged
Skeebadoo
2021-10-20 10:37:31
re: that gimp pop-up
2021-10-20 10:38:19
does checking lossless automatically disable the slider/set it at distance 0?
2021-10-20 10:38:49
and the other way, does moving slider to distance 0.00 automatically check lossless?
2021-10-20 10:39:12
because for a normal user that would be intuitive, i think
2021-10-20 10:39:47
cjxl is intuitive, help explicitly states that if you want mathematically lossless mode, just set quality to 100 and that's all
improver
2021-10-20 11:24:20
yeah, checking lossless should automatically move slider to 0.00/jpeg 100, and moving slider to that value would autoenable it too. synchronized settings
2021-10-20 11:24:51
lossy modular is probably obscure enough to not have option at all yet
2021-10-20 11:26:49
imo it shouldnt disable slider, just set its value
Hello71
Traneptora https://github.com/thebombzen/FFmpeg/tree/libjxl
2021-10-20 03:12:08
where do you hook up mov? doesn't it need some entry/entries in mov_default_parse_table?
2021-10-20 03:14:18
it seems potentially confusing that ffmpeg -threads is not interpreted the same way as cjxl --num_threads for values 0 and 1
Traneptora
Hello71 where do you hook up mov? doesn't it need some entry/entries in mov_default_parse_table?
2021-10-20 03:45:01
at the moment, I don't
2021-10-20 03:45:17
I just cause its score detection to be lower than image2
2021-10-20 03:45:43
if you force the mov demuxer instead of the jpegxl_pipe demuxer it will fail
2021-10-20 03:47:03
https://github.com/thebombzen/FFmpeg/blob/libjxl/libavformat/mov.c#L7116
2021-10-20 03:47:05
see this line
2021-10-20 03:47:28
note that this is lowercase `"jxl "` which is intentional
2021-10-20 03:47:34
the signature atom is captial `"JXL "`
2021-10-20 03:48:57
also <@!765599758559215616> that's intentional in order to make it inline with the rest of ffmpeg's kit, w/r/t the threading
2021-10-20 03:49:55
cjxl with num_threads=0 apparently is zero *worker* threads. disable threading. num_threads=1 means one dispatch thread and one worker thread, which there's usually very little reason to do
2021-10-20 03:51:01
and I believe unless i map it over, the average user will find it confusing to just be told "don't use threads=1 to single-thread, use threads=0 instead"
improver imo it shouldnt disable slider, just set its value
2021-10-20 03:52:40
this, because having to go uncheck it would be annoying
2021-10-20 03:52:55
I'd prefer if checking lossless set it to 0 but left it enabled
2021-10-20 03:53:11
and sliding it off 0 would uncheck lossless
improver
2021-10-20 03:53:16
yep
Traneptora
2021-10-20 03:53:32
only issue is, what happens if the user manually unchecks lossless
2021-10-20 03:53:40
I'm thinking you could set it to the default
2021-10-20 03:53:43
or to 1
improver
2021-10-20 03:53:54
or v near lossless
2021-10-20 03:54:02
but maybe 1 is good too
Traneptora
2021-10-20 03:54:04
or to whatever it was at before, if possible
improver
2021-10-20 03:54:16
ah, remembering it would be handy
Traneptora
2021-10-20 03:54:42
I find d=1 corresponds to q=90 for OG jpegs about for photographic content, but it performs much better for synthetic content
2021-10-20 03:54:50
which q=90 on jpeg butchers
improver
2021-10-20 03:55:10
its okay though. will show jxl's superiority
2021-10-20 03:55:36
id rather people accidentally encode in better quality than in worse
Jim
2021-10-20 08:22:26
https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/#improved-file-formats-support-jpeg-xl-psdpsb-and-more
novomesk
Jim https://www.gimp.org/news/2021/10/20/gimp-2-99-8-released/#improved-file-formats-support-jpeg-xl-psdpsb-and-more
2021-10-20 08:37:24
Put the info to reddit too.
Deleted User
2021-10-20 08:42:57
By the way: I think <@!886264098298413078> deserves being designated as a dev. Pinging <@!794205442175402004>
_wb_
2021-10-20 09:00:23
True that
Scope
2021-10-21 02:08:34
Also, does JXL lossless in GIMP now work correctly?
novomesk
Scope Also, does JXL lossless in GIMP now work correctly?
2021-10-21 05:28:40
If you check both Lossless and Save original profile, probably yes.
Eugene Vert
2021-10-21 12:16:56
Yep, it works 🎉, although the colour profile seems to be specified differently from cjxl (image from https://discord.com/channels/794206087879852103/803574970180829194/898964309667876895 to png) cjxl: ``` color profile: format: JPEG XL encoded color profile color_space: 0 (RGB color) white_point: 1 (D65) primaries: 1 (sRGB) transfer_function: gamma: 0.454550 rendering_intent: 1 (Relative) ``` gimp 2.99.8 ``` color profile: format: ICC profile ICC profile size: 680 CMM type: "lcms" color space: "RGB " rendering intent: 0 ``` ``` ➜ compare -metric pae 1_jms8.jxl 1_jms8_gimp.jxl 1_diff.png 0 (0)% ```
_wb_
novomesk If you check both Lossless and Save original profile, probably yes.
2021-10-21 02:34:51
Probably a good idea to make lossless imply save original profile, because lossless without save original profile is not actually lossless, will compress poorly, and just doesn't really make sense.
Skeebadoo
2021-10-21 05:02:39
irfanview test version has also been updated and now produces exactly the same results as command line tool
2021-10-21 05:02:54
`Update (20/10/2021) : The test version has been updated (use the same link, shown above) Changes include: 1. The "modular" saving option has been added. 2. JXL animations can now be played. 3. A new API for JXL saving (the resulting file size should be similar to cjxl). 4. The Speed option has been changed/reverted, to be similar to cjxl .`
Lastrosade
Skeebadoo irfanview test version has also been updated and now produces exactly the same results as command line tool
2021-10-21 05:39:48
Where does one find the test version ?
novomesk
_wb_ Probably a good idea to make lossless imply save original profile, because lossless without save original profile is not actually lossless, will compress poorly, and just doesn't really make sense.
2021-10-21 07:07:20
It is not difficult to implent. It is good to add this recommendation to API documentation.
Eugene Vert Yep, it works 🎉, although the colour profile seems to be specified differently from cjxl (image from https://discord.com/channels/794206087879852103/803574970180829194/898964309667876895 to png) cjxl: ``` color profile: format: JPEG XL encoded color profile color_space: 0 (RGB color) white_point: 1 (D65) primaries: 1 (sRGB) transfer_function: gamma: 0.454550 rendering_intent: 1 (Relative) ``` gimp 2.99.8 ``` color profile: format: ICC profile ICC profile size: 680 CMM type: "lcms" color space: "RGB " rendering intent: 0 ``` ``` ➜ compare -metric pae 1_jms8.jxl 1_jms8_gimp.jxl 1_diff.png 0 (0)% ```
2021-10-21 07:08:26
Yes, I saved profiles as ICC data.
Skeebadoo
Lastrosade Where does one find the test version ?
2021-10-21 09:48:12
https://www.reddit.com/r/jpegxl/comments/q72d8b/irfanview_has_now_added_jpeg_xl_compatibility/
2021-10-21 09:48:20
---> https://www.irfanview.info/test/iview64_test.zip
Lastrosade
2021-10-21 09:48:32
ah! thanks
Skeebadoo
2021-10-21 09:48:43
you'll get the exe to replace in program files + plugin dlls
Lastrosade
2021-10-21 09:50:41
It works <:pogey:798146744977719326>
2021-10-21 09:51:12
it crashed
Skeebadoo
2021-10-21 09:51:20
Heh
2021-10-21 09:51:39
Well it hasn't for me yet, but I was basically only checking if lossless mode finally works as it should
Lastrosade
2021-10-21 09:53:07
Now for browsers to support animated jxl
Deleted User
Lastrosade Now for browsers to support animated jxl
2021-10-22 12:41:33
Chrome already supports animated <:JXL:805850130203934781>, we have to wait for Firefox
novomesk
2021-10-24 12:59:23
Viewer PhotoQt v2.4 (64-Bit) for Windows has JXL support working out-of-box now (no need to add plug-in, it is there already). Just install and you can view JXL files. https://photoqt.org/downpopupwindows
fab
2021-10-24 01:01:31
ok updating
nathanielcwm
2021-10-24 01:08:02
<@!219525188818042881> wants someone to adopt him
Fox Wizard
2021-10-24 01:08:12
<a:FrogStab:821038589345136682>
fab
2021-10-24 01:16:32
2021-10-24 01:17:45
png i still see with imageglass
2021-10-24 01:17:59
avif also
2021-10-24 01:18:35
jxl i have jxlwinthumb that now works even in the win viewer
2021-10-24 01:19:12
infarview by irfan test.info version now can read jxl animation and it does fast
2021-10-24 01:19:52
chrome 95 should support jxl even in the stable version if you enable the apposite flag
2021-10-24 01:20:08
so no need for canary
2021-10-24 01:20:17
firefox is still waiting
2021-10-24 01:21:06
animated avif i have no idea whether to produce them
2021-10-24 01:21:18
what is the procedure
2021-10-24 01:22:02
on reddit i have seen a post, but does it support avifenc or libavif gif as input?
2021-10-24 01:23:10
webp to me opens with firefox (nightly build)
2021-10-24 01:23:46
is still too confused
2021-10-24 01:24:14
ah jpeg remains
2021-10-24 01:24:37
jpg i have imageglass
2021-10-24 01:25:16
i have doubts for svg
2021-10-24 01:26:18
sorry but capital letters also don't seem to work
VEG
2021-10-25 04:10:54
https://github.com/eeeps/exif-intrinsic-sizing-explainer
2021-10-25 04:11:06
Is something like this going to be supported for JPEG XL?
2021-10-25 04:13:28
Probably, it would be enough to have just ExifImageWidth and ExifImageHeight without XResolution, YResolution and ResolutionUnit, it won't break anything for JPEG XL since the format is new
_wb_
2021-10-25 04:27:44
We have IntrinsicDimensions in the image header exactly for that
2021-10-25 04:35:40
It can be done without Exif, following our philosophy that render-impacting stuff goes in the codestream, Exif is only used for non-render-impacting metadata
VEG
2021-10-25 04:41:41
Oh, cool
_wb_
2021-10-25 04:53:38
Probably all/most viewers are ignoring it atm though, maybe we should do something about that...
VEG
2021-10-25 05:04:34
This thing is important to support in browsers, since they already support a similar thing for usual JPEG
paperboyo
VEG https://github.com/eeeps/exif-intrinsic-sizing-explainer
2021-10-25 11:43:58
I don’t understand this proposal, I must admit. Even less the speed with which it was adopted… Does it **only** apply to pictures shown directly instead of a page in a browser, like `file:///mypic.jpg`? Or also to pics sized by HTML/CSS (in divs etc)? If former: pretty uninteresting, marginally unhelpful, practically unoperable (luckily). If latter: I must understand it much, much less than I think I do!
The_Decryptor
2021-10-26 01:19:07
It applies everywhere, standalone or when embedded in a page (So unless the size is overridden by HTML/CSS, it'll match what the Exif metadata says)
_wb_
2021-10-26 04:59:43
It's a nicer solution than the previous `Content-DPR` http response header approach.
2021-10-26 05:13:48
https://www.wpclipart.com/famous/composers/Beethoven/Beethoven_by_Stieler_large.jpg.html
2021-10-26 05:14:38
Looks like this site has jxl and avif versions of all images