|
_wb_
|
2021-12-24 06:10:03
|
If you don't care about density, maybe โ cheapest jxl should be cheaper than jpeg
|
|
|
diskorduser
|
2021-12-24 09:11:48
|
Anyone here uses flatpak gimp? How to install jxl plugin on it?
|
|
|
novomesk
|
|
diskorduser
Anyone here uses flatpak gimp? How to install jxl plugin on it?
|
|
2021-12-27 11:54:46
|
I don't know if it is possible, I never tried external plug-ins with flatpak builds.
But you can try flatpak from GIMP 2.99.x which should have my JXL plugin (it is different to the plug-in for GIMP 2.10):
https://flathub.org/beta-repo/appstream/org.gimp.GIMP.flatpakref
https://nightly.gnome.org/repo/appstream/org.gimp.GIMP.flatpakref
|
|
2021-12-28 12:08:13
|
If someone wish to test GIMP 2.99.9 for Windows, to test JXL import/export and to provide feedback (it is better to get feedback sooner (before release) rather than later (after release)). The installer can be downloaded from Job artifacts (The artifacts will be removed in 6 days):
https://gitlab.gnome.org/GNOME/gimp/-/jobs/1694716
|
|
|
spider-mario
|
2021-12-28 06:00:48
|
https://youtu.be/aVwxzDHniEw that intro animation ๐ณ
|
|
|
diskorduser
|
|
|
Deleted User
|
|
novomesk
If someone wish to test GIMP 2.99.9 for Windows, to test JXL import/export and to provide feedback (it is better to get feedback sooner (before release) rather than later (after release)). The installer can be downloaded from Job artifacts (The artifacts will be removed in 6 days):
https://gitlab.gnome.org/GNOME/gimp/-/jobs/1694716
|
|
2021-12-30 12:10:40
|
It automatically promotes imported JXL images (created with fjxl) to 32 Bit floats despite this option being disabled.
|
|
|
novomesk
|
|
It automatically promotes imported JXL images (created with fjxl) to 32 Bit floats despite this option being disabled.
|
|
2021-12-30 11:49:43
|
I heard that libjxl uses float internally so 32bit float precision is how the images get decoded. Beside using more memory, I think there is no other problem. And with older versions of libjxl, import with integer precision gave visually different results sometimes. So import in 32bit float was chosen in the past because it worked the best at that time.
|
|
|
|
Deleted User
|
|
novomesk
I heard that libjxl uses float internally so 32bit float precision is how the images get decoded. Beside using more memory, I think there is no other problem. And with older versions of libjxl, import with integer precision gave visually different results sometimes. So import in 32bit float was chosen in the past because it worked the best at that time.
|
|
2021-12-30 01:46:51
|
It's a bit annoying (and confusing) for lossless images though. There should also be no visual difference between version otherwise it wouldn't really be lossless.
|
|
|
novomesk
|
|
It's a bit annoying (and confusing) for lossless images though. There should also be no visual difference between version otherwise it wouldn't really be lossless.
|
|
2021-12-30 02:20:02
|
OK, thanks for the feedback!
|
|
|
Scope
|
2021-12-30 04:03:33
|
https://www.reddit.com/r/programming/comments/rrsnbt/study_developers_spend_almost_2_days_a_week_just/
|
|
|
diskorduser
|
2021-12-31 06:14:01
|
why does jxl have banding? both png and jxl are 16-bits. jxl encoded at -q 93. Is it expected on vardct?
|
|
|
The_Decryptor
|
2021-12-31 06:26:53
|
It doesn't currently perform dithering for output, so unless the app uses dithering for display then you'll see banding
|
|
|
novomesk
|
|
It's a bit annoying (and confusing) for lossless images though. There should also be no visual difference between version otherwise it wouldn't really be lossless.
|
|
2022-01-02 08:19:53
|
New Windows build is available: https://gitlab.gnome.org/GNOME/gimp/-/jobs/1703454 If you want, can you check if it is now as you expected?
|
|
|
lithium
|
2022-01-03 08:25:24
|
I have some already DCT image want apply denoise filter and apply lossy compress,
but I have some question about this process,
Could somebody can teach me about this?
1. Already DCT image have artifacts,
so if apply higher quantizer(q99) on lower quantizer image(q90),
higher quantizer will preserve artifacts and increase file size,
(jpg q90 444 lossy => jxl d0.5 e8 or jpg q95 444 lossy).
but even I apply denoise filter, already denoise and apply higher quantizer image,
file size still large than original image,
probably I use too weak(strength) denoise filter? or have other reason affect file size?
In my test, only use near quantizer can reduce file size,
(jpg q90 444 lossy => jxl d1.0 e8 or jpg q91 444 lossy),
it's mean previous encoder quantizer will affect next encoder quantizer?
2. About jxl lossy transform,
if I lossy recompress jpg, will lost some high frequency detail(generation loss),
what else lose in lossy transform process?(jpg lossy vardct to jxl)
|
|
|
_wb_
|
2022-01-03 08:27:43
|
You can try better jpeg decoders to reduce dct noise
|
|
2022-01-03 08:27:45
|
https://github.com/google/knusperli
|
|
2022-01-03 08:28:59
|
https://github.com/victorvde/jpeg2png
|
|
|
lithium
|
|
_wb_
https://github.com/victorvde/jpeg2png
|
|
2022-01-03 08:33:51
|
Thank you ๐
So best practices probably like jpeg2png + bilateral filter for non-photo jpeg lossy image?
|
|
2022-01-03 08:40:09
|
Look like about my question 1,
I must reduce those artifacts, otherwise I only can apply lower quantizer?
> Generation loss is the loss of quality between subsequent copies or transcodes of data.
> Anything that reduces the quality of the representation when copying,
> and would cause further reduction in quality on making a copy of the copy,
> can be considered a form of generation loss. File size increases are a common result of generation loss,
> as the introduction of artifacts may actually increase the entropy of the data through each generation.
|
|
|
Jyrki Alakuijala
|
|
diskorduser
Is possible to make jxl vardct or lossy modular faster for screen casting with lower latency than video formats?
|
|
2022-01-03 10:33:43
|
Yes. A casting system would likely benefit from dividing the screen vertically into bands of something like 64 or 256 pixels, and transmitting those immediately when a band is ready.
|
|
|
Cropping doesn't "edit pixels" so you can keep the original bit depth. Also, does WebP really use DCTs?
|
|
2022-01-03 01:16:23
|
WHT and DCT -- https://datatracker.ietf.org/doc/html/rfc6386#section-14.3 and https://datatracker.ietf.org/doc/html/rfc6386#section-14.4
WHT is like a cheaper crappier DCT that doesn't use multiplications at all
WHT can be ok for some types of content, but for photographs it is far inferior to DCT and modern systems tend not to implement it
|
|
|
spider-mario
https://youtu.be/aVwxzDHniEw that intro animation ๐ณ
|
|
2022-01-03 01:21:16
|
I love catmull-rom splines since my late teens and I don't get the beauty of bezier curves -- I like to have the spline to go through the control points and I like it to have uniform curvature properties otherwise
|
|
|
|
Deleted User
|
|
novomesk
New Windows build is available: https://gitlab.gnome.org/GNOME/gimp/-/jobs/1703454 If you want, can you check if it is now as you expected?
|
|
2022-01-03 03:02:48
|
It's working as expected for modular mode but it's bad for VarDCT. So you can't even get 32 Bit floats when first selecting it and then opening the image.
Ideally, (lossless) modular JXLs open with their specified bit depth whereas VarDCT always opens as 32 Bit floats.
If that's not possible, then I guess it would be better how it was previously.
|
|
|
novomesk
|
|
It's working as expected for modular mode but it's bad for VarDCT. So you can't even get 32 Bit floats when first selecting it and then opening the image.
Ideally, (lossless) modular JXLs open with their specified bit depth whereas VarDCT always opens as 32 Bit floats.
If that's not possible, then I guess it would be better how it was previously.
|
|
2022-01-03 04:51:50
|
32.jxl is an image which opens in 32bit float precision in GIMP 2.99.9
libjxl API do not tell whether vardct or modular was used to compress the image.
|
|
|
|
Deleted User
|
|
novomesk
32.jxl is an image which opens in 32bit float precision in GIMP 2.99.9
libjxl API do not tell whether vardct or modular was used to compress the image.
|
|
2022-01-03 05:35:10
|
Yes, but if you change one Byte in the JXL header, you can make it 8 bpc and GIMP opens it as (lower quality) 8 Bit image despite the actual image data being exactly the same.
OK, I didn't knew that about the API. Is it possible to detect RGB vs XYB? Otherwise, as I said, the previous implementation should be the lesser evil.
|
|
|
novomesk
|
2022-01-03 06:29:56
|
There is JXL_BOOL uses_original_profile; parameter, see https://github.com/libjxl/libjxl/blob/main/lib/include/jxl/codestream_header.h#L166
It is usually true for lossless and often (but not always) false for lossy.
|
|
|
|
Deleted User
|
2022-01-03 11:31:20
|
But that should be fitting:
- RGB: use specified bit depth
- XYB: use higher bit depth for conversion to RGB (32 Bit float)
|
|
|
novomesk
|
2022-01-04 09:29:29
|
<@!794205442175402004> I'd like to know your opinion regarding JXL import in GIMP 2.99
Shall I always respect bits_per_sample and exponent_bits_per_sample or in case uses_original_profile == 0 to import as 32bit float?
|
|
|
_wb_
|
2022-01-04 10:30:22
|
I don't think you can always respect it, since GIMP probably doesn't support arbitrary bit depths and float types
|
|
2022-01-04 10:31:16
|
In the XYB case the header info is not related to the pixel data anyway, so might as well use 32-bit float then
|
|
|
Traneptora
|
|
novomesk
There is JXL_BOOL uses_original_profile; parameter, see https://github.com/libjxl/libjxl/blob/main/lib/include/jxl/codestream_header.h#L166
It is usually true for lossless and often (but not always) false for lossy.
|
|
2022-01-04 03:48:31
|
`uses_original_profile` is just the same thing as `!xyb_encoded` as far as I'm aware
|
|
2022-01-04 03:49:18
|
but yes, if there's an XYB transform then the library downsamples the pixel data before reporting it
|
|
2022-01-04 03:49:24
|
but you don't really *have* to do that
|
|
|
Scope
|
2022-01-04 04:20:39
|
๐ค
https://twitter.com/Pangaea__/status/1478249696925667328
|
|
|
The_Decryptor
|
2022-01-05 01:05:04
|
I ran a bunch of old video game screenshots (Real representative I know) through WebP/JXL, WebP only "won" in a few cases, and not by much I think
|
|
|
monad
|
2022-01-05 08:30:06
|
But, across my 12 _Dungeons of Dreadmor_ samples, `cwebp -z 9` compressed 30% better than PNG and `cjxl -d 0 -e 9 -E 3 -I 1 -g 1` only 16% better.
|
|
2022-01-05 08:38:02
|
Other than that, WebP seems to compete with JXL on images of text and other repetitive images, but not much else.
|
|
|
_wb_
|
2022-01-05 08:42:54
|
Jxl is not very good yet at exploiting repetition
|
|
2022-01-05 08:44:14
|
The bitstream has lz77 and patches as ways to exploit repetition, but the encoder isn't making very effective use of those yet
|
|
|
|
Deleted User
|
2022-01-06 04:10:28
|
<@!886264098298413078> I don't wanna annoy you but the JXL export option could be improved as well. The "lossless" check box is kind of useless as it is the same as moving the slider to 0 (compared to say WebP where this is not equal). Alternatively, the slider could be limited to a minimum of 0.1 since 0.01 to 0.1 also results in the same output. One might also invert the direction of the slider so that it goes from 15 to 0.1 with the highest visual quality being on the right, which should feel more natural. Though in any case, if the lossless option stays, triggering it should gray out the distance slider. Furthermore, I would prefer a slider with numbers for the effort setting instead of the name dropdown.
|
|
|
novomesk
|
|
<@!886264098298413078> I don't wanna annoy you but the JXL export option could be improved as well. The "lossless" check box is kind of useless as it is the same as moving the slider to 0 (compared to say WebP where this is not equal). Alternatively, the slider could be limited to a minimum of 0.1 since 0.01 to 0.1 also results in the same output. One might also invert the direction of the slider so that it goes from 15 to 0.1 with the highest visual quality being on the right, which should feel more natural. Though in any case, if the lossless option stays, triggering it should gray out the distance slider. Furthermore, I would prefer a slider with numbers for the effort setting instead of the name dropdown.
|
|
2022-01-06 07:22:03
|
Setting 0 distance via API without lossless caused encoder to crash (there is a video on YouTube about it).
Regarding the GUI: It can be changed in the future. New options will be added after next libjxl release. However about GUI design there are various opinions and preferences, it won't be possible to match everyone's expectations there.
|
|
|
|
Deleted User
|
2022-01-06 07:25:58
|
OK! But why does GIMP allow to combine 0 with no lossless then?
|
|
|
novomesk
|
|
OK! But why does GIMP allow to combine 0 with no lossless then?
|
|
2022-01-06 07:35:39
|
Because that dialog is too simple. It is mostly auto-generated.
|
|
|
eldritchart
|
2022-01-06 11:01:02
|
Why does my firefox (96.0b10 developer edition) not support JXL, even after enabling the about:config setting?
Also why is it still behind a flag in both chromium and firefox?
|
|
|
Scope
|
2022-01-06 11:07:38
|
Some political decisions
Because some people think it will hurt AVIF's success
|
|
|
monad
|
|
eldritchart
Why does my firefox (96.0b10 developer edition) not support JXL, even after enabling the about:config setting?
Also why is it still behind a flag in both chromium and firefox?
|
|
2022-01-07 02:15:26
|
Firefox only supports JXL in Nightly.
|
|
|
Jyrki Alakuijala
|
|
_wb_
The bitstream has lz77 and patches as ways to exploit repetition, but the encoder isn't making very effective use of those yet
|
|
2022-01-07 10:33:20
|
I copied the pixel-based lz77-like approach from WebP as well as the exact 2d LUT for addressing in lz77 -- I didn't copy the color cache and bit-packing
|
|
2022-01-07 10:34:08
|
bit-packing helps with very low color count images (2/4/16 colors)
|
|
2022-01-07 10:34:59
|
color cache helps with pixelized images that have many colors but have locally only few -- but a lot of entropy for example due to error diffusion dithering or other reasons
|
|
2022-01-07 10:36:10
|
overall the palette construct in JPEG XL has a lot of untapped potential and may be strong enough to shadow the benefits of the color cache
|
|
2022-01-07 10:36:55
|
also it should be eventually possible to shadow the benefits of bit-packing by more active use of context modeling and redundant palette entries to assist context modeling
|
|
|
_wb_
|
2022-01-07 10:46:52
|
Color cache is kind of hard to combine with the planar approach and arbitrary nb_channels of jxl anyway
|
|
2022-01-07 10:59:22
|
I think the main advantage of bit packing is the memory reduction / speed benefit, and maybe some benefits in entropy coding but I think that may be mostly the case for huffman coding, which does not have very precise chance modeling when there are too few symbols. With ANS you can model 70% white, 30% black, while with Huffman when there are only two symbols you cannot do better than 50-50 / one bit per symbol.
|
|
2022-01-07 11:01:26
|
Thinking about it a bit, I think we _can_ actually do bit packing in modular mode
|
|
2022-01-07 11:11:57
|
Say you have a 1-bit image of dimensions 8W x H. You can apply a horizontal Squeeze step to get two 4W x H channels, and some more Squeeze steps will give you eight WxH channels. Then you can apply Palette on those eight channels to get a single WxH channel. Not sure what exactly its range would be (probably not just 8-bit, due to the nonlinearity in Squeeze), but you would effectively be doing 8 pixels per encoded symbol.
|
|
|
eldritchart
|
2022-01-07 09:48:57
|
Why is it still Nightly-only? Is there anything that still needs work?
And <@!111445179587624960> so? If it is a better image format it *should* hurt AVIF's success because its better
|
|
|
Scope
|
2022-01-07 09:59:44
|
No, everything important works, but patches are no longer accepted, although in fact there is no technical reason not to enable it by default, it's just a political decision
For AVIF apparently some people think that only very low bitrates are important for the Web and also the heads and companies from the Alliance for Open Media don't want any other formats except their own
|
|
|
eldritchart
|
2022-01-08 12:54:49
|
:(
|
|
2022-01-08 12:55:39
|
Thanks for digging into it more.
It's really annoying that this technology exists but isn't being adopted
|
|
|
gnat
|
2022-01-08 03:19:27
|
hey all, my favourite kanban board, gitkraken is being sunset in 2023.
What do you fine folks use??
|
|
2022-01-08 03:21:58
|
bonus points for dark theme.
|
|
|
|
JendaLinda
|
2022-01-10 09:57:45
|
No support for WMF/EMF? What about all those cliparts?
|
|
|
diskorduser
|
2022-01-11 06:36:05
|
Anyone here using gthumb? Does jxl work fine on that?
|
|
|
|
haaaaah
|
|
diskorduser
Anyone here using gthumb? Does jxl work fine on that?
|
|
2022-01-11 08:28:38
|
Says full support here: https://jpegxl.io/tutorials/gthumb/#gthumbsupportsjpegxl
|
|
|
diskorduser
|
|
haaaaah
Says full support here: https://jpegxl.io/tutorials/gthumb/#gthumbsupportsjpegxl
|
|
2022-01-12 02:48:17
|
I'm using it. It opens jxl files but they look pixelated.
|
|
|
|
haaaaah
|
|
diskorduser
I'm using it. It opens jxl files but they look pixelated.
|
|
2022-01-13 01:49:22
|
Forgot to ask, do you have a screenshot? Does it only happen when you zoom in?
|
|
2022-01-13 01:50:27
|
Might also try gwenview or geeqie (not sure the spelling is right)
|
|
|
diskorduser
|
2022-01-13 04:43:03
|
https://gitlab.gnome.org/GNOME/gthumb/uploads/24000735fb2b142ee2cfd1144da5e3aa/post.webp
|
|
2022-01-13 04:43:11
|
right one is gthumb.
|
|
2022-01-13 04:44:12
|
https://gitlab.gnome.org/GNOME/gthumb/uploads/45fb543706c3f9b8e09deb1d963550b4/post.webp
|
|
|
|
Deleted User
|
2022-01-15 03:16:02
|
hi!
has anyone tested the **experimental/fast_lossless** codec? how does it compare to other codecs: on photo images? on other images?
|
|
|
Scope
|
2022-01-15 03:18:55
|
https://discord.com/channels/794206087879852103/803645746661425173/930838234550923294
|
|
2022-01-15 03:25:41
|
And (but without recent changes):
https://twitter.com/jonsneyers/status/1472959101416226823
|
|
2022-01-15 03:30:25
|
Also, it would be interesting to see an updated comparison with the latest changes in all encoders and FPNGE (P2/P4)
|
|
|
|
veluca
|
2022-01-15 03:50:21
|
<@!794205442175402004> ๐
|
|
|
|
Deleted User
|
2022-01-15 05:06:20
|
thank you!
|
|
|
_wb_
|
2022-01-21 11:31:44
|
<@!810102077895344159> do you know anyone at IPTC?
|
|
|
|
paperboyo
|
|
_wb_
<@!810102077895344159> do you know anyone at IPTC?
|
|
2022-01-21 11:40:13
|
No, but have had a substantive reply from office@iptc.org (via https://iptc.org/about-iptc/contact-us/).
|
|
|
_wb_
|
2022-01-21 11:42:33
|
thanks - I asked because JPEG is exploring to establish a liaison with them
|
|
|
Nova Aurora
|
2022-01-28 01:26:12
|
How much is progressive jpeg actually used in production?
|
|
2022-01-28 01:30:57
|
I was talking with my professor, who had never actually used the jpeg spec version. They just loaded two different versions of the same image, one low quality, one high. And this (https://cloudinary.com/blog/image_loading_reloaded) cloudinary blog post recommends the same.
|
|
|
_wb_
|
2022-01-28 08:44:06
|
<@223161712092774402> why not use actual video codecs?
|
|
|
Nova Aurora
How much is progressive jpeg actually used in production?
|
|
2022-01-28 08:46:59
|
Cloudinary serves mostly progressive jpegs, it's the default. It's also the default of mozjpeg. If you see sequential jpeg and progressive jpeg as two separate formats, then progressive jpeg has been the fastest growing image format of the past couple of years, growing faster than webp and avif combined.
|
|
2022-01-28 08:51:35
|
The 'progressive' display of first some placeholder, then the actual image serves a somewhat different purpose I think: there the lqip is often very, very low quality, not enough to actually see what's in the image, just enough to know "an image will come here" and to avoid layout shifts.
|
|
|
StahlFerro
|
|
_wb_
<@223161712092774402> why not use actual video codecs?
|
|
2022-01-28 09:17:29
|
Oh I did exported it as an MP4 from AE and then uploaded the file to Imgur. But now that you mentioned it the animation seems too long for an animated image and too short for a short video haha
|
|
|
_wb_
|
2022-01-28 09:21:57
|
I think anything that is more than a few frames and can use interframe is long enough to justify using a video codec
|
|
2022-01-28 09:25:15
|
For the master copy you do want something lossless though, and then probably video codecs are not that useful (though for CGI maybe it's more useful)
|
|
|
StahlFerro
|
2022-01-28 09:45:42
|
Yea I do have the original sequence as a huge PNG sequence
|
|
|
_wb_
|
2022-01-28 09:59:54
|
For that, probably fjxl would be a good alternative
|
|
|
StahlFerro
|
2022-01-28 10:00:43
|
Noted, will check it out
|
|
|
_wb_
|
2022-01-29 08:01:31
|
https://online2pdf.com/convert-jpg-to-excel
|
|
2022-01-29 08:02:11
|
Perhaps someone heard "JPEG XL" and misunderstood ๐
|
|
|
fab
|
|
190n
|
|
_wb_
Perhaps someone heard "JPEG XL" and misunderstood ๐
|
|
2022-01-29 08:17:44
|
it better be a spreadsheet of pixels with the background color set
|
|
|
monad
|
2022-01-29 08:48:10
|
https://youtu.be/UBX2QQHlQ_I
|
|
|
_wb_
|
2022-01-30 06:58:08
|
Not sure what packjpg does exactly, but at a high level the concept is similar: take the quantized dct coefficients and recompress them with better entropy coding
|
|
2022-01-30 07:00:00
|
Archivers like packjpg and lepton don't need to make it so that you can decode the file directly to pixels, they can assume you first decompress to jpg and then use a regular jpg viewer
|
|
2022-01-30 07:05:35
|
So they don't need to worry about progressive decode, parallel decode, etc
|
|
|
diskorduser
|
2022-01-31 07:21:38
|
Does djxl provide knusperli like deblocking output for jpeg-recompressed jxls?
|
|
|
Scope
|
|
_wb_
|
2022-01-31 07:38:55
|
Not knusperli, but you _could_ add gaborish and/or epf deblocking filters to a recompressed jpeg if you wanted to (though I don't think we have an option for that atm)
|
|
2022-01-31 07:40:24
|
Also if I'm not mistaken, the dc adaptive reconstruction also does apply to ex-jpegs, so there should be a little less banding in slow gradients (unless I am wrong, I don't remember how exactly we ended up defining things)
|
|
|
|
Deleted User
|
|
_wb_
Also if I'm not mistaken, the dc adaptive reconstruction also does apply to ex-jpegs, so there should be a little less banding in slow gradients (unless I am wrong, I don't remember how exactly we ended up defining things)
|
|
2022-01-31 07:45:55
|
Nah, Knusperli is still unbeatable in that regard. Here's a MozJPEG...
|
|
2022-01-31 07:47:54
|
...here it's the same file, but losslessly JXL-compressed and decoded to PNG via `djxl` (still the same blocky mess)...
|
|
2022-01-31 07:48:33
|
...and here's glorious Knusperli decode of a MozJPEG file.
|
|
|
Scope
|
|
_wb_
Also if I'm not mistaken, the dc adaptive reconstruction also does apply to ex-jpegs, so there should be a little less banding in slow gradients (unless I am wrong, I don't remember how exactly we ended up defining things)
|
|
2022-01-31 07:49:19
|
Yes, there is less banding, but as far as I remember it is due to higher precision in decoding
|
|
|
|
Deleted User
|
2022-01-31 07:51:53
|
I think that Knusperli would allow <:JXL:805850130203934781> to cheap out a bit on LF coefficients (since they'd be smoothed out anyway).
|
|
2022-01-31 07:56:30
|
Knusperli'd MozJPEG is actually... kinda *competitive* with JPEG XL, at least on that particular image and compression ratio where Knusperli can show off because of lots of background bokeh. Here's a brand new JXL encode, same bitrate, decoded to PNG.
|
|
|
_wb_
|
2022-01-31 08:19:07
|
Yes, if you go _that_ low quality in jpeg, you need some creative dequant to avoid getting a blocky mess
|
|
2022-01-31 08:19:23
|
Which knusperli will be better at than jxl
|
|
2022-01-31 08:19:43
|
Since jxl doesn't do anything to make the low freq hf smoother
|
|
2022-01-31 08:21:39
|
<@179701849576833024> do we creatively dequant the dc in jxl when decoding a recompressed jpeg, or is it just the multiply and that's it?
|
|
|
|
Deleted User
|
2022-01-31 08:21:42
|
There are limits, though. Here's a JPEG of a different image (๐ธ from jpegxl.io).
|
|
2022-01-31 08:22:13
|
Knusperli didn't help much because the quantization was too severe and the image is too big.
|
|
|
|
veluca
|
|
_wb_
<@179701849576833024> do we creatively dequant the dc in jxl when decoding a recompressed jpeg, or is it just the multiply and that's it?
|
|
2022-01-31 08:22:13
|
just the multiply unless you explicitly ask otherwise
|
|
2022-01-31 08:22:55
|
and you can't explicitly ask otherwise for a 420 img anyway...
|
|
|
_wb_
|
2022-01-31 08:23:14
|
"explicitly asking otherwise" is setting a flag in the frameheader or what is it?
|
|
2022-01-31 08:25:15
|
kSkipAdaptiveLFSmoothing
|
|
2022-01-31 08:25:49
|
We currently don't ever tell it to not skip lf smoothing when recompressing jpegs, right?
|
|
2022-01-31 08:27:07
|
But that dc debanding should work just as well for ycbcr as for xyb, right?
|
|
2022-01-31 08:27:45
|
As long as it's 444, obviously. It needs corresponding samples from 3 channels
|
|
2022-01-31 08:28:35
|
I wonder if we should expose some jpeg recompression encode settings, like setting that flag, and also signaling gaborish and/or epf
|
|
2022-01-31 08:29:17
|
Gaborish and epf can be done even with 420, right? Upsampling gets done before the filters...
|
|
2022-01-31 08:30:32
|
I think with adaptive dc smoothing, gaborish and epf, you can probably make an ugly jpeg look a bit less ugly
|
|
|
|
Deleted User
|
|
...and here's glorious Knusperli decode of a MozJPEG file.
|
|
2022-01-31 09:29:04
|
still looks rubbish though IMHO. I would rather delete this JPG to contaminate the ugliness or just reuse it scaled down to 1/3 or 1/4 of the original size.
|
|
|
|
veluca
|
2022-01-31 09:48:03
|
yeah you can gaborish and EPF with 420
|
|
|
monad
|
2022-01-31 09:55:54
|
With such low detail already, jpeg2png can perhaps yield more appealing results. (30 iteration example)
|
|
|
|
Deleted User
|
2022-01-31 09:57:48
|
Now it looks like an AVIF minus banding.
|
|
|
diskorduser
|
2022-02-01 05:44:46
|
Better for low BPP jxl decoding.
|
|
|
Koromaru Korรผko
|
2022-02-01 06:29:07
|
damn those artifacts
|
|
|
|
Mrtt
|
2022-02-03 10:18:21
|
Hello guys (just introduced myself in the chat section), i'm compressing 16 bit single channel images with jxl, and i wanted to assess the losslessness of JXL, but as far as i managed to adjust my data, i cannot find totaly lossless parameters
|
|
2022-02-03 10:22:44
|
maximum error is 32 gray level, which is really low, but i thought that jxl was able to achieve real lossless => also i've seen the fast_lossless in the experimental section from <@!179701849576833024>, but going through the code showed that it is currently 12bit, can we expect true lossless 16bit with jxl (and if the fast_lossless is adjustable to my need i'd be happy to help give feedback, (also if working i'll add a contribution to opencv for loading jxl files)
|
|
2022-02-03 10:26:55
|
Greylevel color coded input
|
|
2022-02-03 10:27:07
|
and corresponding residual image
|
|
2022-02-03 10:28:09
|
Input image as a range from 0 to 43000, and the residuals have 32 max absolute error, which is very good, but true lossless is a topic in this context
|
|
|
|
veluca
|
2022-02-03 10:29:32
|
That's weird, jxl ought to be able to do 16 bit lossless without any problems
|
|
2022-02-03 10:29:41
|
How are you encoding the image?
|
|
|
|
Mrtt
|
2022-02-03 10:49:35
|
custom c++ code (tif file loaded through opencv)
|
|
2022-02-03 10:49:51
|
JxlPixelFormat pixel_format = { 1, JXL_TYPE_UINT16, JXL_NATIVE_ENDIAN, 0 };
JxlBasicInfo basic_info;
JxlEncoderInitBasicInfo(&basic_info);
|
|
2022-02-03 10:50:02
|
basic_info.xsize = im.cols;
basic_info.ysize = im.rows;
basic_info.bits_per_sample = 16;
|
|
2022-02-03 10:50:08
|
basic_info.num_color_channels = 1;
|
|
2022-02-03 10:50:22
|
if (JXL_ENC_SUCCESS !=
JxlEncoderSetFrameLossless(frame_settings, true))
std::cerr << "Warning Lossless mode not set!" << std::endl;
|
|
2022-02-03 10:50:25
|
then adding the frame
|
|
2022-02-03 10:50:41
|
decompressing & computing the image differences
|
|
|
|
veluca
|
2022-02-03 10:52:56
|
can you try using `cjxl` and seeing if you have the same problem?
|
|
|
Koromaru Korรผko
|
2022-02-03 12:50:26
|
<@!931493879801348106> how are you extracting the tif data?
|
|
2022-02-03 12:51:41
|
that and it would appear the processed image, has some heavy noise.
|
|
2022-02-03 12:56:06
|
also it would appear its not truly one channel.
|
|
|
|
Mrtt
|
2022-02-03 01:27:51
|
The tif comes from libtif (opencv (cv::imread(, ANY_DEPTH)) but nevermind this i need lossless
|
|
2022-02-03 01:28:06
|
the data is clearly single channel
|
|
2022-02-03 01:30:19
|
the provided image is just a screenshot, not the real content
|
|
2022-02-03 01:30:28
|
with pseudo coloring
|
|
|
veluca
can you try using `cjxl` and seeing if you have the same problem?
|
|
2022-02-03 01:31:05
|
the issue would be that cjxl is not handling tif
|
|
2022-02-03 01:31:21
|
otherwise i would have directly tries
|
|
2022-02-03 01:31:24
|
d
|
|
|
|
veluca
|
2022-02-03 01:46:59
|
you could convert the tif to PNG just to try
|
|
|
|
Mrtt
|
2022-02-03 01:58:26
|
giving a try, but cjxl has no output for max error & or residual visualisation
|
|
|
BlueSwordM
|
|
Mrtt
giving a try, but cjxl has no output for max error & or residual visualisation
|
|
2022-02-03 02:00:04
|
Well, do `cjxl -d 0.0`, and then you can check for errors by decoding it back to PNG with djxl and then compare with with `butteraugli_main source.png encode.png`.
|
|
|
|
Mrtt
|
|
BlueSwordM
Well, do `cjxl -d 0.0`, and then you can check for errors by decoding it back to PNG with djxl and then compare with with `butteraugli_main source.png encode.png`.
|
|
2022-02-03 02:35:18
|
ok, apply the transformations (losslessly)
|
|
2022-02-03 02:35:23
|
and error is 0
|
|
2022-02-03 02:35:59
|
what is the difference of -d 0.0 and the c++ jxl JxlEncoderSetFrameLossless
|
|
|
|
veluca
|
2022-02-03 02:45:27
|
in theory none...
|
|
2022-02-03 02:45:32
|
could you file a bug?
|
|
|
_wb_
|
2022-02-03 02:58:49
|
Are you setting use_original_colorspace to true?
|
|
2022-02-03 02:59:08
|
Otherwise it does xyb...
|
|
2022-02-03 02:59:28
|
This is really confusing api design btw
|
|
|
|
veluca
|
2022-02-03 03:00:25
|
doesn't setlossless do that?
|
|
|
|
Mrtt
|
2022-02-03 03:18:06
|
setlossless is just setting lossless parameter (from my code reading)
|
|
2022-02-03 03:19:02
|
<@!794205442175402004> : did not change touch this one, as i thought that single chanel would not (should not?) go through this
|
|
2022-02-03 03:55:06
|
what are the paremeters related to [Modular, lossless, squirrel] ?
|
|
2022-02-03 03:55:59
|
i thought that setting : JxlEncoderSetFrameLossless && JxlEncoderFrameSettingsSetOption(frame_settings, JXL_ENC_FRAME_SETTING_MODULAR, 1); would be identifcal
|
|
2022-02-03 05:39:12
|
sorry guy's just joined in with my question but i'll be off for 1week, i'll come back with new tests & comments, do not hesitate to send me PM i you know the difference in settings from the jxlE,coderSetFrameLossless & cjxl parameters
|
|
2022-02-03 05:39:40
|
<@!794205442175402004> : how do you set this parameter properly with jxl lib options
|
|
|
|
veluca
|
2022-02-03 05:43:55
|
if you could file a github issue it would be best
|
|
|
_wb_
|
|
Mrtt
<@!794205442175402004> : how do you set this parameter properly with jxl lib options
|
|
2022-02-03 06:04:24
|
Set uses_original_profile = JXL_TRUE when setting the basicinfo
|
|
2022-02-03 06:04:44
|
The thing is that xyb or not is a per-image decision
|
|
2022-02-03 06:05:17
|
And lossless is a per-frame decision
|
|
2022-02-03 06:05:40
|
But the default is to do xyb, which is not compatible with lossless
|
|
|
|
Mrtt
|
2022-02-03 08:29:23
|
<@!794205442175402004> :trying this one, sorry i'll be off for a few days, i'll get back in touch after my days
|
|
2022-02-03 08:33:27
|
ok with uses_original_profile = JXL_TRUE we are totally lossless
|
|
2022-02-03 08:35:17
|
compression ratio is way higher (first try is worse that 7z compression of the tif file)
|
|
2022-02-03 08:35:53
|
(effort was 6)
|
|
|
_wb_
|
2022-02-03 09:51:04
|
If you get worse results with the api than with cjxl, please file a report
|
|
|
novomesk
|
2022-02-04 11:44:34
|
I hope animated webp will work. It could be useful for short videos inside presentations. It will be visually better than videos converted to 256-colors GIF.
|
|
|
|
Deleted User
|
2022-02-04 11:50:03
|
Are videos not supported?
|
|
|
Fraetor
|
2022-02-04 12:47:25
|
I've had issues getting videos to work, especially when you create a presentation with libreoffice, and present it with PowerPoint.
|
|
|
Nova Aurora
|
2022-02-04 11:33:30
|
You could create a fully compliant odt with a jxl image in it, even if nothing could read it.
|
|
|
DZgas ะ
|
2022-02-05 09:00:29
|
when will the jxl standard be frozen?
|
|
|
190n
|
2022-02-05 09:01:47
|
isn't it already frozen?
|
|
2022-02-05 09:02:46
|
the bitstream is, idk if the full standard is
|
|
|
DZgas ะ
|
|
190n
the bitstream is, idk if the full standard is
|
|
2022-02-05 09:07:14
|
If I start compressing the archives now, will they be 100% decode in the same way in 5 years?
Of course, I mean the current state of encodecs and decodecs
|
|
|
w
|
|
_wb_
|
|
DZgas ะ
If I start compressing the archives now, will they be 100% decode in the same way in 5 years?
Of course, I mean the current state of encodecs and decodecs
|
|
2022-02-05 09:47:49
|
100% will only be true for lossless encodes. Lossy does allow for conformance tolerances in order to allow efficient implementations on various platforms. The tolerances are quite small though โ let's say things have to decode 99.99% in the same way. This is also true for other codecs btw: the old JPEG has quite generous tolerances so different decoders can produce pretty different pixels while all being conformant.
|
|
|
DZgas ะ
|
|
_wb_
100% will only be true for lossless encodes. Lossy does allow for conformance tolerances in order to allow efficient implementations on various platforms. The tolerances are quite small though โ let's say things have to decode 99.99% in the same way. This is also true for other codecs btw: the old JPEG has quite generous tolerances so different decoders can produce pretty different pixels while all being conformant.
|
|
2022-02-05 09:50:39
|
I mean more global changes, like the fact that the current encoded photos in the future can be read as broken
|
|
|
_wb_
|
2022-02-05 09:50:58
|
that's not going to happen
|
|
2022-02-05 09:51:17
|
spec was frozen in that respect in December 2020
|
|
2022-02-05 09:52:02
|
anything encoded with a cjxl from after December 2020 is guaranteed to remain decodeable
|
|
|
DZgas ะ
|
2022-02-05 09:53:01
|
oh well, then I can safely convert all my archives, without stopping at the current Decodec version, and updating it without worrying about the future
|
|
2022-02-05 09:54:03
|
Thank you
|
|
2022-02-05 09:55:40
|
itโs a pity that I donโt have a few years to wait for the transcode of all 2000+ 4k photos
|
|
|
_wb_
|
2022-02-05 09:55:45
|
doing a quick mini-benchmark on a large jpeg:
```
$ time for i in $(seq 1 10); do djpeg big_building.ppm.jpg >/dev/null; done
real 0m1.641s
user 0m1.583s
$ time ../build/tools/djxl big_building.ppm.jpg.jxl --num_reps 10 --num_threads 0
7216 x 5412, geomean: 70.20 MP/s [57.81, 78.68], 10 reps, 0 threads.
real 0m5.708s
user 0m4.936s
$ time ../build/tools/djxl big_building.ppm.jpg.jxl --num_reps 10
7216 x 5412, geomean: 165.09 MP/s [132.90, 177.63], 10 reps, 4 threads.
real 0m2.450s
user 0m7.563s
```
|
|
|
DZgas ะ
|
2022-02-05 09:56:40
|
it is much more profitable for me to reduce the size by 4 times and use compression to the maximum
|
|
|
_wb_
|
2022-02-05 09:57:38
|
so let's say libjpeg-turbo is about 3-4 times faster to decode, or with 4 threads 1.5x as fast as libjxl decode of the same jpg recompressed to jxl โ some of that difference is because libjxl needs to do fancier entropy decode, some of it is because libjxl is doing more accurate decode
|
|
|
DZgas ะ
|
2022-02-05 10:02:06
|
Is there any option for libjxl to make it more accurate but decode slower?
|
|
|
_wb_
|
2022-02-05 10:02:16
|
Comparing original image to decoded jpeg, you can see that the libjxl decode is slightly more accurate:
```
$ compare -verbose -metric mae big_building.ppm big_building.ppm.jpg.ppm null:
big_building.ppm PPM 7216x5412 7216x5412+0+0 16-bit sRGB 223.463MiB 0.140u 0:00.147
big_building.ppm.jpg.ppm PPM 7216x5412 7216x5412+0+0 8-bit sRGB 111.732MiB 0.180u 0:00.181
Image: big_building.ppm
Channel distortion: MAE
red: 799.99 (0.0122071)
green: 526.031 (0.00802672)
blue: 1025.9 (0.0156542)
all: 783.974 (0.0119627)
$ compare -verbose -metric mae big_building.ppm big_building.ppm.jpg.jxl.ppm null:
big_building.ppm PPM 7216x5412 7216x5412+0+0 16-bit sRGB 223.463MiB 0.160u 0:00.163
big_building.ppm.jpg.jxl.ppm PPM 7216x5412 7216x5412+0+0 16-bit sRGB 223.463MiB 0.150u 0:00.155
Image: big_building.ppm
Channel distortion: MAE
red: 786.918 (0.0120076)
green: 503.873 (0.0076886)
blue: 1000.86 (0.0152722)
all: 763.885 (0.0116561)
```
|
|
|
DZgas ะ
|
|
DZgas ะ
it is much more profitable for me to reduce the size by 4 times and use compression to the maximum
|
|
2022-02-05 10:04:33
|
for me using one thread at speed 9 - waiting 5 minutes for 1 megapixel
|
|
|
_wb_
|
2022-02-05 10:05:01
|
less accurate and faster: yes, there are compile options for that (`-DJXL_HIGH_PRECISION=0`)
|
|
2022-02-05 10:05:20
|
speed 9 is probably not really worth it โ are you encoding from pixels or recompressing existing jpg?
|
|
|
DZgas ะ
|
2022-02-05 10:06:05
|
I'm downsizing photos from 8k to 2k or less
|
|
|
_wb_
|
2022-02-05 10:07:09
|
more accurate and slower: not really โ we do have experimental code that does things in `double` precision arithmetic, but that's not really meant to be used in practice because it's very slow for very little improvement in precision. But it's what we use to produce reference decoded images for conformance testing, for example.
|
|
|
DZgas ะ
I'm downsizing photos from 8k to 2k or less
|
|
2022-02-05 10:07:33
|
so from pixels then. Doing lossy compression on them?
|
|
|
DZgas ะ
|
2022-02-05 10:07:53
|
yes
|
|
2022-02-05 10:08:50
|
to a size of same 30% of lossless compression
|
|
2022-02-05 10:09:48
|
I care about the information in pixels, not their amount
|
|
2022-02-05 10:11:03
|
but am really mining jxl haha
|
|
|
_wb_
|
2022-02-05 10:26:33
|
probably default speed (-e 7) is a better trade-off between speed and density
|
|
|
DZgas ะ
|
2022-02-05 10:44:02
|
i need maximum compression for centuries
|
|
|
diskorduser
|
2022-02-05 11:07:48
|
Try Emma encoder XD
|
|
|
_wb_
|
2022-02-05 11:30:33
|
Emma does lossless, no?
|
|
|
DZgas ะ
|
2022-02-05 11:30:55
|
Emma??
|
|
2022-02-05 11:31:16
|
"very slow experimental compressors LEA and EMMA"
|
|
2022-02-05 11:31:18
|
wow
|
|
2022-02-05 11:31:46
|
<:Cheems:890866831047417898> but lossless only
|
|
2022-02-05 11:32:17
|
https://twitter.com/jonsneyers/status/1346389917816008704
|
|
2022-02-05 11:34:31
|
it would be interesting to use this on a color palette like 16 bit for all color
|
|
2022-02-05 11:34:46
|
is it possible?
|
|
2022-02-05 11:35:33
|
in PNG and GIF you can create a palette of 256 colors from the most common colors in the picture
|
|
|
_wb_
|
2022-02-05 11:36:26
|
Jxl can do palettes of unlimited size
|
|
2022-02-05 11:36:39
|
It can also do delta palette
|
|
|
DZgas ะ
|
|
_wb_
Jxl can do palettes of unlimited size
|
|
2022-02-05 11:38:46
|
Can I set the palette for normal image compression?
|
|
2022-02-05 11:40:50
|
I don't understand why I need so many gradient details of the same shades
|
|
2022-02-05 11:42:09
|
6+6+6 bit
|
|
|
_wb_
|
2022-02-05 11:45:47
|
You can try lossless 6-bit if you want, that would be cjxl -m --override_bitdepth 6
|
|
2022-02-05 11:45:49
|
Iirc
|
|
|
DZgas ะ
|
|
_wb_
You can try lossless 6-bit if you want, that would be cjxl -m --override_bitdepth 6
|
|
2022-02-05 11:46:34
|
but, by what principle is the palette created in this case?
|
|
2022-02-05 11:47:19
|
just a color limit?
or image color analysis
|
|
|
_wb_
|
|
DZgas ะ
just a color limit?
or image color analysis
|
|
2022-02-05 12:36:43
|
Just reducing the input values to 6-bit, nothing fancy
|
|
|
|
Deleted User
|
|
DZgas ะ
Is there any option for libjxl to make it more accurate but decode slower?
|
|
2022-02-05 12:53:34
|
Definitely make sure to decode lossy 8 bit JXLs to higher bit depths and manually apply dithering if you display them at 8 Bit. The uint8 output produces bad rounding errors that will cause ugly banding on gradients.
|
|
2022-02-05 12:54:07
|
See this issue: https://github.com/libjxl/libjxl/issues/541
|
|
|
DZgas ะ
|
|
Definitely make sure to decode lossy 8 bit JXLs to higher bit depths and manually apply dithering if you display them at 8 Bit. The uint8 output produces bad rounding errors that will cause ugly banding on gradients.
|
|
2022-02-05 02:10:11
|
so dithering adds entropy
|
|
2022-02-05 02:11:24
|
there is no point in using 8 bits if dithering is also used
|
|
|
diskorduser
|
|
See this issue: https://github.com/libjxl/libjxl/issues/541
|
|
2022-02-05 02:12:58
|
Oh. This is why I had banding on jxl even though source doesn't have banding ๐ค
|
|
|
DZgas ะ
|
|
See this issue: https://github.com/libjxl/libjxl/issues/541
|
|
2022-02-05 02:13:05
|
well, I have photos, they have noise
|
|
2022-02-05 02:14:28
|
And I don't care about dynamic range
|
|
2022-02-05 02:23:29
|
but
|
|
2022-02-05 02:23:32
|
|
|
2022-02-05 02:24:07
|
this was 2 years ago, I'm sure it works better now
|
|
2022-02-05 02:24:44
|
my original photo
|
|
2022-02-05 02:25:33
|
|
|
|
|
Deleted User
|
|
diskorduser
Oh. This is why I had banding on jxl even though source doesn't have banding ๐ค
|
|
2022-02-05 03:49:58
|
Yes, lossy JXL will mostly remove dithering during compression because it's of too small importance for butteraugli. But gradients aren't an issue for libjxl internally where 32 Bit floating point precision is used. The only issue arises when simply truncating back to 8 Bit instead of doing better rounding with dither.
|
|
|
DZgas ะ
|
|
_wb_
You can try lossless 6-bit if you want, that would be cjxl -m --override_bitdepth 6
|
|
2022-02-08 12:06:17
|
looks interesting, but not very effective, it is better to use normal compression methods.
cjxl -m --override_bitdepth 6 -q 100 -e 9 -P 15 image 407 Kb
optipng with bitdepth 6 image 764 Kb
WEBP with bitdepth 6 image 512 Kb
|
|
2022-02-08 12:12:11
|
wow, it started working but then gave an error, huh?....
|
|
2022-02-08 12:14:17
|
if not use -P 15 then everything works fine
|
|
2022-02-08 12:16:50
|
maybe a bug?
-P 15 is work in lossless only?
cjxl -m -q 90 -e 9 -P 15
|
|
2022-02-08 12:17:08
|
enc_encoding.cc:361: JXL_ASSERT: residual % res.multiplier == 0
|
|
2022-02-08 12:47:34
|
And I didn't understand How yuv444
|
|
2022-02-08 12:53:40
|
And the --palette parametr is just not work
|
|
|
_wb_
|
2022-02-08 12:59:00
|
--palette doesn't do anything lossy, it just sets the limit of how large the palette can be _if_ the image happens to have fewer than that number of colors
|
|
|
DZgas ะ
|
|
_wb_
--palette doesn't do anything lossy, it just sets the limit of how large the palette can be _if_ the image happens to have fewer than that number of colors
|
|
2022-02-08 01:00:15
|
it doesn't work at all
|
|
|
_wb_
|
2022-02-08 01:00:18
|
Yuv444: you can do it by giving it yuv data in an (invalid) ppm, then adding -c 2
|
|
|
DZgas ะ
it doesn't work at all
|
|
2022-02-08 01:01:10
|
What doesn't work? Default is --palette 512 iirc
|
|
|
DZgas ะ
|
|
_wb_
Yuv444: you can do it by giving it yuv data in an (invalid) ppm, then adding -c 2
|
|
2022-02-08 01:01:27
|
but it is signed there that this is only for modular encoding
|
|
|
_wb_
What doesn't work? Default is --palette 512 iirc
|
|
2022-02-08 01:02:09
|
the setting just doesn't apply
|
|
|
_wb_
|
2022-02-08 01:02:59
|
It does: that setting just means "do palette IF the image has fewer than 256 colors"
|
|
|
DZgas ะ
|
2022-02-08 01:05:01
|
need the separate parameter for decrease colors and create palette
|
|
|
_wb_
Yuv444: you can do it by giving it yuv data in an (invalid) ppm, then adding -c 2
|
|
2022-02-08 01:07:03
|
wow <#805007255061790730>
|
|
|
_wb_
|
|
DZgas ะ
need the separate parameter for decrease colors and create palette
|
|
2022-02-08 01:07:43
|
that's not currently in the scope of libjxl โ you can use pngquant or something
|
|
|
DZgas ะ
|
|
_wb_
that's not currently in the scope of libjxl โ you can use pngquant or something
|
|
2022-02-08 01:10:09
|
ok, but now I need to solve the problem, I have small pictures and colors should not decrease by 2 times like yuv420
|
|
|
_wb_
|
2022-02-08 01:10:41
|
did you try delta palette?
|
|
|
DZgas ะ
|
|
_wb_
did you try delta palette?
|
|
2022-02-08 01:11:13
|
??
|
|
|
_wb_
|
2022-02-08 01:11:27
|
`cjxl -m --lossy-palette --palette 0 -P 0`
|
|
2022-02-08 01:12:42
|
what exactly are you trying to do? you want to do something lossy but not just default lossy like `cjxl -d 1` ?
|
|
|
DZgas ะ
|
2022-02-08 01:13:26
|
i use -d 0.5
|
|
2022-02-08 01:13:56
|
but there are noticeable 2x2 blocks for color
|
|
|
_wb_
`cjxl -m --lossy-palette --palette 0 -P 0`
|
|
2022-02-08 01:15:54
|
I don't know what it looks like... but it size More than just lossless
|
|
2022-02-08 01:17:14
|
let's stop experimenting with palettes, I already realized that they are not very effective for what I compress
|
|
|
_wb_
|
|
DZgas ะ
but there are noticeable 2x2 blocks for color
|
|
2022-02-08 01:17:15
|
that's strange, since jxl doesn't do chroma subsampling
|
|
|
DZgas ะ
|
2022-02-08 01:17:51
|
<:Thonk:805904896879493180>
|
|
|
_wb_
that's strange, since jxl doesn't do chroma subsampling
|
|
2022-02-08 01:21:26
|
then how do I get rid of this? Is it just need the more quality?
|
|
2022-02-08 01:31:42
|
<@!794205442175402004>this is a really noticeable problem that is completely absent on the JPEG XR at the identical size
|
|
|
_wb_
|
2022-02-08 01:32:55
|
if you're going to zoom in that much, -d 0.5 is not enough
|
|
|
DZgas ะ
|
2022-02-08 01:33:30
|
what should I use in such cases?
|
|
|
_wb_
|
2022-02-08 01:33:45
|
does -d 0.1 look OK?
|
|
|
DZgas ะ
|
|
_wb_
does -d 0.1 look OK?
|
|
2022-02-08 01:34:36
|
I can't UP the Size because then there is no point in using Jpeg XL instead of Jpeg XR which just works
|
|
2022-02-08 01:36:31
|
it is possible for varDCT to have poorly tuned scales
|
|
|
_wb_
|
2022-02-08 01:39:51
|
there could be an encoder bug, maybe
|
|
2022-02-08 01:39:57
|
can you share the original image?
|
|
|
DZgas ะ
|
2022-02-08 01:49:28
|
oh
|
|
2022-02-08 01:50:14
|
I find in a more presentable image
|
|
2022-02-08 01:58:53
|
found
|
|
2022-02-08 01:59:58
|
ok it's just a gardint of cooked chicken the original
|
|
2022-02-08 02:03:04
|
top is JPEG XR
|
|
2022-02-08 02:03:38
|
|
|
|
fab
|
2022-02-08 02:05:03
|
fo me it looks like ebalancement of pesets
|
|
2022-02-08 02:05:05
|
for %i in (C:\Users\Utente\Videos\pi\a\*.png) do cjxl -s 6 -d 0.669 -I 0.761 --use_new_heuristics %i %i.jxl
|
|
2022-02-08 02:05:21
|
s 6 needs to be usedv bette
|
|
2022-02-08 02:07:36
|
this command don't wok withcueent cjxl
|
|
2022-02-08 02:07:47
|
-I is fobidden with new heusitics
|
|
2022-02-08 02:08:24
|
|
|
|
DZgas ะ
|
2022-02-08 02:09:11
|
300 kb
|
|
|
fab
|
2022-02-08 02:09:32
|
you ae the peson who does compaisons i n encode.su
|
|
2022-02-08 02:09:53
|
|
|
2022-02-08 02:09:58
|
analyze this
|
|
2022-02-08 02:10:04
|
for %i in (C:\Users\Utente\Documents\eew\*.png) do cjxl -s 6 -d 0.669 -I 0.761 --use_new_heuristics %i %i.jxl
|
|
2022-02-08 02:10:13
|
i doesn't wok so is default 0.5 maybe
|
|
|
DZgas ะ
|
|
fab
fo me it looks like ebalancement of pesets
|
|
2022-02-08 02:10:18
|
it is strange that jpeg xr does not have such a problem even when it Size 3 times less
|
|
|
fab
for %i in (C:\Users\Utente\Videos\pi\a\*.png) do cjxl -s 6 -d 0.669 -I 0.761 --use_new_heuristics %i %i.jxl
|
|
2022-02-08 02:11:56
|
what
|
|
|
fab
|
|
DZgas ะ
what
|
|
2022-02-08 02:12:21
|
is this the jxl i posted?
|
|
|
DZgas ะ
|
2022-02-08 02:12:32
|
xl yes
|
|
|
fab
|
2022-02-08 02:12:39
|
a bit bette
|
|
2022-02-08 02:12:49
|
but moe aggessive filteing
|
|
|
DZgas ะ
|
2022-02-08 02:13:58
|
it looks really bad
|
|
|
fab
|
2022-02-08 02:14:49
|
because it isn't exact i
|
|
2022-02-08 02:14:57
|
but what eve neew heuistics is using
|
|
2022-02-08 02:15:01
|
so 0.5
|
|
2022-02-08 02:15:17
|
iteations
|
|
|
DZgas ะ
|
2022-02-08 02:15:47
|
what is parameter i? does not work
|
|
2022-02-08 02:16:51
|
0.1-0.9 does not even affect the size in bytes
|
|
|
DZgas ะ
300 kb
|
|
2022-02-08 02:17:28
|
is -d 0.3
|
|
|
fab
|
2022-02-08 02:17:57
|
yes is disabled in this build
|
|
2022-02-08 02:18:09
|
so is only -s 6 -d 0.669
|
|
|
DZgas ะ
|
2022-02-08 02:18:28
|
why 669
|
|
|
fab
|
2022-02-08 02:18:46
|
i'll ty the jamaika build if it changes
|
|
|
DZgas ะ
|
2022-02-08 02:19:30
|
-s 6 -d 0.4 --use_new_heuristics
|
|
|
fab
|
2022-02-08 02:19:39
|
|
|
2022-02-08 02:19:42
|
big no
|
|
2022-02-08 02:19:48
|
doom nine build is same
|
|
2022-02-08 02:19:51
|
iter ations don't change
|
|
|
DZgas ะ
|
2022-02-08 02:20:08
|
i have 0.7.0-d4e2f39
|
|
|
DZgas ะ
-s 6 -d 0.4 --use_new_heuristics
|
|
2022-02-08 02:21:06
|
these blocks ruin my precious pixels
|
|
|
fab
|
2022-02-08 02:21:26
|
|
|
|
DZgas ะ
these blocks ruin my precious pixels
|
|
2022-02-08 02:22:06
|
how use cjxlng
|
|
|
DZgas ะ
|
2022-02-08 02:22:32
|
I've always used Jpeg XR -q95 and it's perfect of course
|
|
|
fab
|
2022-02-08 02:22:33
|
|
|
2022-02-08 02:22:38
|
i have msytwo
|
|
|
DZgas ะ
|
|
fab
how use cjxlng
|
|
2022-02-08 02:23:05
|
I have no idea why
|
|
|
fab
|
2022-02-08 02:23:37
|
maybe it isn't the exact vesion
|
|
2022-02-08 02:23:48
|
how vesai luca build jxlng
|
|
2022-02-08 02:23:52
|
do he uses clang
|
|
|
DZgas ะ
|
2022-02-08 02:25:01
|
yep No modules matched<:YEP:808828808127971399>
|
|
|
fab
|
2022-02-08 02:26:54
|
|
|
2022-02-08 02:27:05
|
stat fom the beginning
|
|
|
DZgas ะ
|
|
fab
|
|
2022-02-08 02:27:45
|
wtf open the CMD
|
|
2022-02-08 02:27:54
|
and going in folder
|
|
|
diskorduser
|
|
DZgas ะ
I've always used Jpeg XR -q95 and it's perfect of course
|
|
2022-02-08 02:27:58
|
So jxr performs better? Time to test on synthetic / anime images.
|
|
|
fab
|
|
DZgas ะ
wtf open the CMD
|
|
2022-02-08 02:28:14
|
i want to show cjxlng
|
|
2022-02-08 02:28:28
|
the folde is this
|
|
2022-02-08 02:28:35
|
i expect it to eecognize
|
|
|
DZgas ะ
|
2022-02-08 02:28:44
|
jpeg xr not animated but work very Fast
|
|
|
fab
i want to show cjxlng
|
|
2022-02-08 02:29:11
|
meh
|
|
|
diskorduser
|
2022-02-08 02:29:18
|
By anime, I mean anime art images. not anime video.
|
|
|
DZgas ะ
|
|
diskorduser
By anime, I mean anime art images. not anime video.
|
|
2022-02-08 02:29:30
|
use the AVIF
|
|
|
diskorduser
|
2022-02-08 02:30:09
|
Hmm. but it doesn't look on complex anime art. wipes many textures.
|
|
|
DZgas ะ
|
|
diskorduser
Hmm. but it doesn't look on complex anime art. wipes many textures.
|
|
2022-02-08 02:30:51
|
there is nothing better for "art"
|
|
2022-02-08 02:31:04
|
only avif
|
|
|
fab
|
2022-02-08 02:31:07
|
|
|
2022-02-08 02:31:44
|
|
|
|
DZgas ะ
|
|
fab
|
2022-02-08 02:34:24
|
|
|
2022-02-08 02:34:35
|
i'm not english
|
|
2022-02-08 02:35:04
|
to me those aent' latin wods
|
|
|
DZgas ะ
|
|
_wb_
there could be an encoder bug, maybe
|
|
2022-02-08 02:35:48
|
it also means i still can't use jpeg xl
|
|
2022-02-08 02:36:57
|
modular mode doesn't have these problems with blocks, but it's not usable
|
|
|
fab
|
2022-02-08 02:37:19
|
goodbye
|
|
|
DZgas ะ
|
2022-02-08 02:37:24
|
quality does not match the size
|
|
|
diskorduser
|
|
DZgas ะ
modular mode doesn't have these problems with blocks, but it's not usable
|
|
2022-02-08 02:38:04
|
Is the source image lossless? developed from raw/dng?
|
|
|
DZgas ะ
|
|
diskorduser
Is the source image lossless? developed from raw/dng?
|
|
2022-02-08 02:38:44
|
|
|
2022-02-08 02:38:53
|
the source
|
|
|
diskorduser
|
2022-02-08 02:41:01
|
oh
|
|
2022-02-08 02:41:04
|
|
|
|
DZgas ะ
|
|
diskorduser
|
2022-02-08 02:42:51
|
webp ? !!!!!!!!!!!!!!!!
|
|
2022-02-08 02:42:55
|
|
|
|
DZgas ะ
|
2022-02-08 02:43:17
|
discord moment
|
|
|
diskorduser
|
2022-02-08 02:43:39
|
I don't think discord converts images to webp
|
|
2022-02-08 02:43:58
|
I think your source image is webp
|
|
|
DZgas ะ
|
|
diskorduser
I don't think discord converts images to webp
|
|
2022-02-08 02:44:15
|
He has been doing this since recently.
|
|
2022-02-08 02:44:55
|
I notice this when I repost pictures in telegram
|
|
|
diskorduser
|
2022-02-08 02:45:19
|
sha256sum 26565e6c5571ee4bc893222153fc4cdfcf333ad4c745cd7cb72df00cf4ed3513 20210828_130710.png
|
|
|
DZgas ะ
|
2022-02-08 02:45:47
|
|
|
2022-02-08 02:46:04
|
<:HaDog:805390049033191445>
|
|
|
Scope
|
|
DZgas ะ
|
|
2022-02-08 02:50:58
|
I don't see any critical differences
<https://slow.pics/c/qqHaYZub>
|
|
|
DZgas ะ
|
2022-02-08 02:51:45
|
this size is too big
|
|
2022-02-08 02:52:22
|
I planned to lower it by 40% relative to Jpeg XR
|
|
2022-02-08 02:52:44
|
jpeg xr is 348 Kb
|
|
|
Scope
|
2022-02-08 02:54:17
|
I don't think it's possible, for a like almost lossless quality, especially if the source is not very good quality, for regular Jpeg - maybe
|
|
|
diskorduser
|
2022-02-08 02:55:32
|
jxl doesn't work well on low quality sources. Did you downscale it for removing jpeg artifacts?
|
|
|
DZgas ะ
|
|
Scope
I don't think it's possible, for a like almost lossless quality, especially if the source is not very good quality, for regular Jpeg - maybe
|
|
2022-02-08 02:56:07
|
what the did you say
|
|
2022-02-08 02:56:50
|
jpeg XL works as it should, but this problem with color blocks ruined everything
|
|
2022-02-08 02:57:21
|
even jpeg xr 5 times lower size has no such problems
|
|
2022-02-08 02:58:24
|
recomend use Jpeg in 2022 bruh
|
|
|
Scope
|
2022-02-08 02:58:43
|
I mean I don't think Jpeg XL is 40% more efficient than Jpeg XR (with the same quality), it may be 40-60% better than regular Jpeg, but Jpeg XR is a more modern and efficient format
|
|
|
DZgas ะ
|
|
Scope
I mean I don't think Jpeg XL is 40% more efficient than Jpeg XR (with the same quality), it may be 40-60% better than regular Jpeg, but Jpeg XR is a more modern and efficient format
|
|
2022-02-08 03:01:14
|
it is certainly not that effective, but it would be the most effective investment for the future
|
|
2022-02-08 03:01:30
|
could be
|
|
2022-02-08 03:02:20
|
Now it seems I understand that from the point of view of the encoder, JPEG XR is more suitable for my specific images
|
|
2022-02-08 03:03:04
|
because all these block problems would be completely invisible on images like 4k or 8k
|
|
2022-02-08 03:03:52
|
and at the same time jpeg xr is extremely fast
|
|
|
diskorduser
|
2022-02-08 03:06:40
|
Without having access to uncompressed / non artifact-y images, it is difficult to compare codecs.
|
|
|
DZgas ะ
|
|
diskorduser
Without having access to uncompressed / non artifact-y images, it is difficult to compare codecs.
|
|
2022-02-08 03:07:59
|
|
|
|
diskorduser
|
2022-02-08 03:08:42
|
Does your camera outputs bmp image?
|
|
|
Scope
|
2022-02-08 03:09:22
|
Yes, the higher quality source, the better and more efficient is Jpeg XL compared to other formats, although I also noticed some artifacts and problems with JXL, sadly it seems that Jyrki is pretty busy with something else, he mainly works on improving lossy VarDCT
|
|
|
DZgas ะ
|
|
diskorduser
Does your camera outputs bmp image?
|
|
2022-02-08 03:09:23
|
this is the source with which you need to work, everything that happened before is unimportant
|
|
|
diskorduser
|
|
DZgas ะ
this is the source with which you need to work, everything that happened before is unimportant
|
|
2022-02-08 03:09:35
|
No
|
|
2022-02-08 03:11:20
|
Artifacts from previous codecs ruin encoding process.
|
|
|
DZgas ะ
|
|
Scope
Yes, the higher quality source, the better and more efficient is Jpeg XL compared to other formats, although I also noticed some artifacts and problems with JXL, sadly it seems that Jyrki is pretty busy with something else, he mainly works on improving lossy VarDCT
|
|
2022-02-08 03:11:41
|
my situation with archiving is specific. for everything else, of course, the codec works for all 100
|
|
|
DZgas ะ
top is JPEG XR
|
|
2022-02-08 03:12:19
|
<@!263309374775230465> its
|
|
2022-02-08 03:13:50
|
https://cdn.discordapp.com/attachments/794206087879852106/940600784909893692/unknown.png
|
|
|
diskorduser
|
2022-02-08 03:14:54
|
I think you didn;t understand. Probably jpegxr alogrithm is more similar to jpg than jxl. Similar encoding process, so fewer artifacts.
|
|
|
DZgas ะ
|
2022-02-08 03:15:44
|
DCT is DCT
|
|
|
Scope
|
|
DZgas ะ
|
|
2022-02-08 03:17:13
|
Also, some smaller size
|
|
|
DZgas ะ
|
|
Scope
Also, some smaller size
|
|
2022-02-08 03:18:34
|
some problem
|
|
|
diskorduser
|
|
DZgas ะ
DCT is DCT
|
|
2022-02-08 03:19:47
|
butteraugli works in different way
|
|
|
DZgas ะ
|
2022-02-08 03:20:32
|
jpeg xr same size
|
|
2022-02-08 03:21:09
|
no blocks
|
|
|
_wb_
|
2022-02-08 03:21:29
|
what's the original?
|
|
2022-02-08 03:21:37
|
or where in the original is this?
|
|
2022-02-08 03:21:48
|
you zoom in so much that it's a bit hard to tell
|
|
|
DZgas ะ
|
2022-02-08 03:21:53
|
|
|
2022-02-08 03:22:04
|
orig
|
|
2022-02-08 03:23:03
|
ah yes
|
|
2022-02-08 03:23:56
|
I noticed that this is a problem on dark gradients that are close to flesh-colored
|
|
|
_wb_
|
2022-02-08 03:24:31
|
ah found it
|
|
2022-02-08 03:24:36
|
`convert 20210828_130710.bmp.ppm -gravity center -crop 100x50+-120+-80 -sample 1600% 20210828_130710.bmp.ppm-crop.ppm`
|
|
|
DZgas ะ
|
2022-02-08 03:25:47
|
looking forward to learning about this made and information about it
|
|
|
Scope
|
|
DZgas ะ
|
|
Scope
|
|
2022-02-08 03:29:35
|
nearly
|
|
|
Scope
|
2022-02-08 03:32:10
|
I think it's just smaller blocks because Jpeg only has 8x8, but JXL can make blocks even smaller and also much larger
And the encoding is usually not tuned for such zooming, but for normal viewing distance when the difference is almost not noticeable
|
|
|
DZgas ะ
|
2022-02-08 03:34:07
|
<:FeelsAmazingMan:808826295768449054> I just need to completely disable the use of large blocks
|
|
2022-02-08 03:34:18
|
how
|
|
|
_wb_
|
2022-02-08 03:34:50
|
the thing is, if you zoom in that much, anything lossy will be visually lossy โ just some codecs will look more blurry, others more blocky
|
|
2022-02-08 03:37:47
|
at such extreme zoom levels, I can easily see big differences between the original and a q98 jpeg
|
|
2022-02-08 03:39:01
|
if your use case requires that much zooming, I would recommend either using higher resolution originals, or use lossless
|
|
|
DZgas ะ
|
|
_wb_
if your use case requires that much zooming, I would recommend either using higher resolution originals, or use lossless
|
|
2022-02-08 03:40:01
|
i need 3-4 times compression from lossless png
|
|
|
diskorduser
|
2022-02-08 03:40:09
|
For archiving purpose, you should be using transcode mode and don't worry about file sizes.
|
|
|
DZgas ะ
|
2022-02-08 03:40:52
|
jpeg xr does completely imperceptible compression at 2.5 times compression
|
|
|
Cool Doggo
|
2022-02-08 03:42:12
|
there is noticible quality loss in xr from the zoom amount you show
|
|
|
DZgas ะ
|
|
DZgas ะ
|
|
2022-02-08 03:42:20
|
actual jxr
|
|
|
Cool Doggo
|
2022-02-08 03:42:55
|
there would be for pretty much any lossy encoding too
|
|
|
DZgas ะ
|
|
Cool Doggo
there would be for pretty much any lossy encoding too
|
|
2022-02-08 03:43:36
|
losses should not be noticeable
|
|
|
Cool Doggo
|
2022-02-08 03:44:44
|
if you are encoding lossy then there is loss
|
|
2022-02-08 03:44:56
|
if you are going to look so close at it you will see that loss
|
|
2022-02-08 03:45:06
|
if you don't want any of that, don't use lossy
|
|
|
DZgas ะ
|
2022-02-08 03:45:23
|
Look this XOR
|
|
2022-02-08 03:46:25
|
is 350 xr and 200 xl
|
|
2022-02-08 03:46:42
|
and:
|
|
2022-02-08 03:50:03
|
ok
|
|
|
diskorduser
|
2022-02-08 03:50:19
|
`83M d.bmp
7.5M dim-gunger-3emffQOvHxA-unsplash.jpg
17M d.jxr`
Why am I getting big jxr files.
|
|
|
DZgas ะ
|
|
diskorduser
`83M d.bmp
7.5M dim-gunger-3emffQOvHxA-unsplash.jpg
17M d.jxr`
Why am I getting big jxr files.
|
|
2022-02-08 03:51:03
|
?
|
|
|
diskorduser
|
2022-02-08 03:51:21
|
trying to recompress jpg to jxr.
|
|
2022-02-08 03:51:45
|
I used quality 90
|
|
|
DZgas ะ
|
|
DZgas ะ
and:
|
|
2022-02-08 03:52:30
|
xr and xl same size
|
|
2022-02-08 03:53:35
|
wait, doesn't that mean that jpeg xr is better on BPP 3+
|
|
|
diskorduser
|
2022-02-08 03:55:32
|
I get very bad quality on jxr
|
|
2022-02-08 03:55:38
|
|
|
|
DZgas ะ
|
|
diskorduser
|
|
2022-02-08 03:56:18
|
??
|
|
|
diskorduser
|
2022-02-08 03:56:44
|
Probably I am using worst implementation of jxr
|
|
2022-02-08 03:57:03
|
<@!226977230121598977> which software are you using to convert to jxr?
|
|
|
DZgas ะ
|
|
diskorduser
<@!226977230121598977> which software are you using to convert to jxr?
|
|
2022-02-08 03:57:20
|
XnConvert
|
|
2022-02-08 03:58:13
|
Jpeg XR wih all block overlap mode
|
|
|
DZgas ะ
xr and xl same size
|
|
2022-02-08 04:00:06
|
i will make tests with different sizes
|
|
|
diskorduser
|
2022-02-08 04:00:59
|
Even with overlapping I get bad results
|
|
2022-02-08 04:03:41
|
|
|
2022-02-08 04:06:19
|
microsoft's encoder. It should be good I guess.
|
|
|
DZgas ะ
|
2022-02-08 04:08:00
|
wow what a simple codec hehe
|
|
|
diskorduser
|
2022-02-08 04:08:20
|
Okay. used xnconvert this time. with quality 80 and overlapping all. I get big files lol
|
|
|
DZgas ะ
|
|
diskorduser
|
|
2022-02-08 04:08:24
|
my q is 0-100
|
|
|
diskorduser
|
|
DZgas ะ
|
|
diskorduser
|
|
2022-02-08 04:09:02
|
why are you doing this with jpg
|
|
|
diskorduser
|
2022-02-08 04:09:26
|
Well, you said dct is dct
|
|
|
DZgas ะ
|
2022-02-08 04:09:47
|
<:ReeCat:806087208678588437>
|
|
|
diskorduser
|
2022-02-08 04:19:40
|
Having tested with lossless source, i get smaller file sizes than png but noise and textures get lost on jxr.
|
|
2022-02-08 04:24:41
|
left jxl - 246 kb . right - jxr - 685kb
|
|
2022-02-08 04:26:15
|
lot of mosquito noise on jxr even at 680kb ๐ฆ
|
|
|
DZgas ะ
|
|
diskorduser
left jxl - 246 kb . right - jxr - 685kb
|
|
2022-02-08 04:28:09
|
yuv444?
|
|
|
diskorduser
|
2022-02-08 04:31:15
|
yes
|
|
2022-02-08 04:31:44
|
|
|
|
DZgas ะ
|
|
diskorduser
|
|
2022-02-08 04:32:50
|
i use q 95
|
|
|
diskorduser
|
2022-02-08 04:33:36
|
even at 80, the file size is 680
|
|
2022-02-08 04:33:46
|
what will happen at q 95
|
|
|
DZgas ะ
|
2022-02-08 04:35:56
|
some strange transition of algorithms from 94 to 95
|
|
|
diskorduser
|
2022-02-08 04:36:19
|
at 95, it gets bigger than png. 3.8mb jxr. source png 2.4mb
|
|
|
Scope
|
2022-02-08 04:38:07
|
JXR also has a lossless mode and is usually better than PNG (for photos)
|
|
|
DZgas ะ
|
|
diskorduser
at 95, it gets bigger than png. 3.8mb jxr. source png 2.4mb
|
|
2022-02-08 04:38:31
|
photo?
|
|
2022-02-08 04:38:40
|
real photo
|
|
|
diskorduser
|
2022-02-08 04:39:10
|
I used q100 ( lossless mode) now. it's 100kb less than png
|
|
|
DZgas ะ
real photo
|
|
2022-02-08 05:07:54
|
yes
|
|
|
fab
|
2022-02-08 05:34:59
|
|
|
2022-02-08 05:35:06
|
Parody
|
|
|
DZgas ะ
|
|
DZgas ะ
i will make tests with different sizes
|
|
2022-02-08 05:38:24
|
<:Cheems:890866831047417898> <:Thonk:805904896879493180>
|
|
2022-02-08 05:39:36
|
well, an interesting note is that XR share data much more evenly
|
|
|
diskorduser
|
2022-02-08 05:41:39
|
It's expected.
|
|
|
fab
|
2022-02-08 05:44:57
|
https://discuss.pixls.us/t/jpeg-xl-file-format/25925
|
|
|
_wb_
|
|
DZgas ะ
well, an interesting note is that XR share data much more evenly
|
|
2022-02-08 05:46:01
|
What colorspace are you doing the comparison in?
|
|
|
DZgas ะ
|
2022-02-08 05:47:19
|
I didn't really go saince it, but it seems that jpeg XR makes the image so that the maximum quality is first made and then elements are removed from it, as in the original JPEG, while Jpeg XR generates an image from low to high
|
|
|
_wb_
What colorspace are you doing the comparison in?
|
|
2022-02-08 05:48:21
|
here everything is XOR, and an indicator of what was removed from the original image, then what is not in the compressed version
|
|
2022-02-08 05:48:59
|
on the right side of the image, the lighter the more the pixels differ
|
|
|
_wb_
|
2022-02-08 05:49:54
|
Xor of RGB values? That's probably not really the best way to make a heatmap...
|
|
|
DZgas ะ
|
|
_wb_
Xor of RGB values? That's probably not really the best way to make a heatmap...
|
|
2022-02-08 05:50:26
|
yes
|
|
2022-02-08 05:52:45
|
but this very clearly shows that in JPEG XL the image does not match the original at all, and many shifts were made, while JPEG XR removed mostly noise, all pixels
|
|