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

on-topic

Whatever else

๐•ฐ๐–’๐–—๐–Š
2025-05-04 06:53:24
oh yes, it's heavy
JesusGod-Pope666.Info
2025-05-04 06:53:39
Yea, I am thinking it might very might well be
๐•ฐ๐–’๐–—๐–Š
2025-05-04 06:54:02
though video encoding in general is a slow process and requires hardware
2025-05-04 06:54:11
unless you use medium+ presets (meaning faster speeds) with x264
JesusGod-Pope666.Info
2025-05-04 06:54:44
Yea I remember trying to make h255 years ago to replace my h254 and get some storrage benefits, although gave up on it - but it did do like 20 to 25% of less storage.
2025-05-04 06:55:10
But of cause h255 never got much support because of..... well close stuff...
2025-05-04 06:55:19
Both my video players, probably 3 can't play it.
2025-05-04 06:55:24
but they can play AV1
2025-05-04 06:55:30
funny enough....
2025-05-04 06:55:45
maybe it is a browser thing not sure.
2025-05-04 06:55:56
on support.
๐•ฐ๐–’๐–—๐–Š
2025-05-04 06:56:05
browsers can't play HEVC (H.265, X265)
2025-05-04 06:56:11
mostly because of the licensing issues
JesusGod-Pope666.Info
2025-05-04 06:56:18
yea, probably the issue then.
2025-05-04 06:56:23
so we pass over that format for sure.
2025-05-04 06:56:32
AV1 seems to be a new sweet spot.
๐•ฐ๐–’๐–—๐–Š
2025-05-04 06:56:38
It's the main format used in the blu-ray spec
JesusGod-Pope666.Info
2025-05-04 06:56:44
ahh okay.
๐•ฐ๐–’๐–—๐–Š
2025-05-04 06:56:57
though both blu-rays and the format itself have royalties ๐Ÿ˜
JesusGod-Pope666.Info
2025-05-04 06:57:00
yea not really followed along these lines so much.
2025-05-04 07:31:48
But I must say this AVIF when fixed to small files are amazing on my webpage compared to originals.
2025-05-04 07:32:01
like it runs so much faster on loading times, much more snappy for sure.
2025-05-04 07:32:32
And still on quality I have not really seen a biggie big difference..... Although it surely are there but they are pretty good images for the size for sure.
CrushedAsian255
2025-05-04 07:49:21
casually encoding 526k images to jxl
JesusGod-Pope666.Info
2025-05-04 07:55:26
Does AV1 go with Opus?
A homosapien
2025-05-04 07:57:19
Yeah
JesusGod-Pope666.Info
2025-05-04 07:59:01
Great so 2 open media then can be connected together.
A homosapien
2025-05-04 07:59:21
That is how YouTube operates
JesusGod-Pope666.Info
2025-05-04 07:59:23
so you can have both AV1 and Opus in a MP4 container?
2025-05-04 07:59:35
ahhh cool, I guess they are doing something good then.
Demiurge
A homosapien AV1's primary appeal is its rate distortion curve. So devs work round the clock to make sure it's up to snuff.
2025-05-04 08:20:22
There have been zero significant RDO changes/improvements in libjxl since... basically the earliest versions you can find on github. Barely any change in the quantizer. Still the same ancient chroma bugs and overaggressive shadow compression
JesusGod-Pope666.Info
2025-05-04 08:22:49
Whatever the case I can see the appeal from web creators to use AVIF.
Demiurge
2025-05-04 08:23:11
It's kind of unusual for a codec library to have such little quantizer changes in such a long period of time
2025-05-04 08:23:20
For a new one I mean
JesusGod-Pope666.Info
2025-05-04 08:23:30
overall, that seems to be a growing thing that will continue to be used - and it would be understandable as far as I can see and what it can do.
Demiurge
2025-05-04 08:23:36
I can understand for a really old one like libjxl-turbo
JesusGod-Pope666.Info
2025-05-04 08:23:50
Like I am kinda liking this AVIF and seeing what it can do is amazing.
Demiurge
2025-05-04 08:23:51
But not a brand new codec lib like libjxl
JesusGod-Pope666.Info
2025-05-04 08:24:51
2.2GB of images down to 217MB.... and that is with max speed. Now with slow mode, that should compress it and make it more beautiful.
2025-05-04 08:25:08
that is 2 GB right out the window slimming it down.
A homosapien
Demiurge There have been zero significant RDO changes/improvements in libjxl since... basically the earliest versions you can find on github. Barely any change in the quantizer. Still the same ancient chroma bugs and overaggressive shadow compression
2025-05-04 08:27:10
It's in a good enough spot to be considered for adoption, but better lossy compression won't convince google to adopt JXL. It's a political problem, not a technical one. Also I think the devs responsible for tuning libjxl are just working on other things.
2025-05-04 08:27:54
I remember Jyrki saying he was working with audio recently
2025-05-04 08:28:47
Don't get me wrong, I would LOVE to see the codec be pushed forward, but like JXL could have the best compression beating AVIF a thousandfold and Google will still say no.
JesusGod-Pope666.Info
2025-05-04 08:29:33
Well you still have Apple using it. So it is not all done for, for those supporting JXL.
2025-05-04 08:30:10
But yea as a sorta web newb homepage maker, AVIF will be my choice for sure. At this moment.
2025-05-04 08:30:17
Like all the browsers near seem to support it.
2025-05-04 08:30:39
and it is amazing to see how small of files it can do and still look good.
2025-05-04 08:31:05
like I did JPEG on the same level of size.....
2025-05-04 08:31:13
and it is horrible compared to AVIF.
A homosapien
2025-05-04 08:32:57
Well of course JPEG is worse, it's 26 years older than AVIF. That's like comparing a horse and buggy to a modern car.
JesusGod-Pope666.Info
2025-05-04 08:34:52
2025-05-04 08:35:03
A homosapien Well of course JPEG is worse, it's 26 years older than AVIF. That's like comparing a horse and buggy to a modern car.
2025-05-04 08:35:16
I understand..... just still amazing.
2025-05-04 08:36:03
of cause the greenish thing is not the fault of the jpeg..... so the right colors would be there.
2025-05-04 08:36:10
but the pixelation can easily be seen.
2025-05-04 08:36:26
it does remind you of the 90's ๐Ÿ˜›
2025-05-04 08:36:41
so..... if anyone wanna make a website like that and have the spirit of it.
Demiurge
A homosapien It's in a good enough spot to be considered for adoption, but better lossy compression won't convince google to adopt JXL. It's a political problem, not a technical one. Also I think the devs responsible for tuning libjxl are just working on other things.
2025-05-04 08:53:08
I know. It's true, it's not a technical issue at hand here but purely office politics. Still, the lack of changes is somewhat unusual or unexpected, and it does make it somewhat more awkward than it needs to be when these flaws show up in the press and get publicity.
2025-05-04 08:54:25
libjxl generally has pretty miraculous performance for a modern codec but when those 3 flaws show their head in lossy comparisons it's embarrassing and hard to explain
Traneptora
2025-05-04 08:54:47
I still use progressive JPEGs rather than avif on my website
2025-05-04 08:55:02
loads faster with a slow connection
JesusGod-Pope666.Info
Traneptora loads faster with a slow connection
2025-05-04 08:55:34
I would doubt that..... Clearly you can compress AVIF a lot more with same quality.
Traneptora
2025-05-04 08:55:36
because of progressive loading
JesusGod-Pope666.Info
2025-05-04 08:56:03
okay, but with progressive loading..... like.....
Traneptora
2025-05-04 08:56:06
jpegs will render a partial image with partial data
2025-05-04 08:56:20
avif cannot do this
JesusGod-Pope666.Info
2025-05-04 08:56:34
yea, I guess I don't need that on my website as the image gallery loader, loads all of them before showing.
2025-05-04 08:56:51
but overall..... bandwith is a lot faster then it was in the past.
2025-05-04 08:57:24
and as I understand progressive loading just needs more processing power to be done and used, or graphic.
Traneptora
2025-05-04 08:57:39
in that regard jpeg images are more responsive because the time to initial preview is faster
JesusGod-Pope666.Info
2025-05-04 08:58:02
But really. who has such a slow connection these days.... maybe in some third nations maybe....
Traneptora
2025-05-04 08:58:09
progressive rendering a jpeg does require more cpu, but less cpu than avif decoding.
2025-05-04 08:58:36
jpeg1 is very computationally simple
A homosapien
JesusGod-Pope666.Info But really. who has such a slow connection these days.... maybe in some third nations maybe....
2025-05-04 08:58:38
Yes actually, I was in Brazil last year and I really did benefit from progressive loading
JesusGod-Pope666.Info
2025-05-04 08:59:07
Yea, I'll keep to AVIF ๐Ÿ˜› even without progressive loading, like I am loading around 200 AVIF images in the gallery loader each time in one go - and it does it very quickly.
Traneptora
2025-05-04 08:59:12
Or just me on mobile walking near a stadium that has a game
2025-05-04 08:59:36
internet slows to a crawl
JesusGod-Pope666.Info
2025-05-04 08:59:43
Ahhh okay.
2025-05-04 08:59:56
well, you could just make the files smaller, you can make them much smaller then JPEG
2025-05-04 09:00:04
with the same quality.
2025-05-04 09:00:08
like.... it is insane.
2025-05-04 09:00:22
like I use q50, and it is still very nice
2025-05-04 09:00:35
like.... try it out BRB.
2025-05-04 09:01:07
https://jesusgod-pope666.info/images.php#(grid|album)=/A--PC%20Screenshots%202014%20AVIFq50s444s10FAST%20XnC; Copy the whole thing, you need the ; at the end.
2025-05-04 09:01:15
like this is made with FAST speed.
2025-05-04 09:01:22
loading 200 files each folder.
2025-05-04 09:01:31
and it does it pretty quick.
Traneptora
2025-05-04 09:01:36
I'm not pulling up your website
JesusGod-Pope666.Info
2025-05-04 09:01:38
1-3 sec maybe
A homosapien
2025-05-04 09:01:52
We are not talking about the same thing. You are talking about density (which we are well acquainted with) versus loading images progressively
JesusGod-Pope666.Info
Traneptora I'm not pulling up your website
2025-05-04 09:02:03
Why not, it is cleaner then most websites out there - and you would not have a problem with those who are full of spyware.
Traneptora
2025-05-04 09:02:23
why do you make assumptions about me
JesusGod-Pope666.Info
2025-05-04 09:02:42
well.... there must be a reason you do not wanna go there.
2025-05-04 09:02:47
and see things for yourself.
Traneptora
2025-05-04 09:03:07
Yea, I don't want you knowing my IP address
JesusGod-Pope666.Info
2025-05-04 09:03:20
But for the most times, people are afraid of my website because of this and that - and have no issue with all those other websites that are full of crap.
CrushedAsian255
Traneptora Yea, I don't want you knowing my IP address
2025-05-04 09:03:36
use a vpn?
JesusGod-Pope666.Info
2025-05-04 09:03:37
Like.... I have 20.000 people or so coming to it - I think your IP is pretty safe ๐Ÿ˜‰
2025-05-04 09:03:47
each month, or bots.... who knows.
Traneptora
CrushedAsian255 use a vpn?
2025-05-04 09:04:09
im not going to spin up a vpn just to have the luxury of visiting his poop site
JesusGod-Pope666.Info
2025-05-04 09:04:20
whatever.
2025-05-04 09:04:45
but anyone else can see the test results and see how quick it loads 200 images
A homosapien
2025-05-04 09:05:04
quick loading is not the same as progressive decoding
2025-05-04 09:05:09
we are talking past each other
JesusGod-Pope666.Info
2025-05-04 09:05:12
Like I go from 12-26 sec from the originals to 1-3 seconds of loading.
Traneptora
2025-05-04 09:05:32
3 seconds is a very long time to load an image
JesusGod-Pope666.Info
A homosapien quick loading is not the same as progressive decoding
2025-05-04 09:05:35
I understand, but the AVIF files can be made so much smaller so..... they would load quicker anyway.
Traneptora 3 seconds is a very long time to load an image
2025-05-04 09:05:42
200 images
2025-05-04 09:06:23
1-3 sec for loading 200 images.
CrushedAsian255
2025-05-04 09:06:33
why do you have so many image on one page?
2025-05-04 09:06:37
without lazy load?
JesusGod-Pope666.Info
2025-05-04 09:06:46
Lazy load is set to 200.
2025-05-04 09:06:52
I hate lazy load.
2025-05-04 09:07:08
although it could be tuned to work better, but for the most time it sucks on websites.
2025-05-04 09:07:18
So I rather have 200 image in each folder.
2025-05-04 09:07:26
200 images seems pretty good.
A homosapien
JesusGod-Pope666.Info I understand, but the AVIF files can be made so much smaller so..... they would load quicker anyway.
2025-05-04 09:07:51
It's not about speed... It's about responsiveness... Go ahead and use AVIF. We are just pointing out that AVIF (and most modern image formats) have no progressive decoding at ALL. Which is a real tangible downside.
Traneptora
2025-05-04 09:07:52
3 seconds is still a very long time to load a webpage
A homosapien
2025-05-04 09:08:43
There is a reason many websites still use JPEG to this day, progressive loading is a really nice feature to have.
2025-05-04 09:09:14
Of course compatibility is the main one.
JesusGod-Pope666.Info
A homosapien There is a reason many websites still use JPEG to this day, progressive loading is a really nice feature to have.
2025-05-04 09:10:08
Again the image itself could be made smaller and thereby very quick to load. You just compress it some more.
A homosapien
2025-05-04 09:10:24
I'm talking to a wall...
2025-05-04 09:10:41
https://tenor.com/view/dono-wall-gif-24048347
JesusGod-Pope666.Info
2025-05-04 09:10:50
That is me!
2025-05-04 09:11:28
it is just called an oppinion whether
2025-05-04 09:11:33
correct or not.
2025-05-04 09:12:32
anyway lets go and have a swim
username
2025-05-04 09:19:17
I will say something that really bothers me about AVIF is not that it specifically doesn't have progressive decoding, it's that it doesn't even have *incremental* loading/decoding (aka the top to bottom style loading) meaning you won't see a single pixel of the image until it's 100% downloaded or you do hacky stuff with frames or something. This is a limitation that as far as I know isn't a thing with any other image format supported by web browsers (even BMP and GIF support incremental decoding for example).
JesusGod-Pope666.Info
2025-05-04 09:21:23
argh, bicycle is flat
2025-05-04 09:21:40
I wonder where my bike stuff is.
username
2025-05-04 09:23:51
oh also for your website (and any other one as well I guess) you can test/emulate what the loading experience is like on slower internet connections using built-in devs tools that browsers come with. It may be in a slightly different spot depending between web browsers but once ya find the spot it's luckily pretty simple to mess/test around with
username oh also for your website (and any other one as well I guess) you can test/emulate what the loading experience is like on slower internet connections using built-in devs tools that browsers come with. It may be in a slightly different spot depending between web browsers but once ya find the spot it's luckily pretty simple to mess/test around with
2025-05-04 09:25:47
JesusGod-Pope666.Info
2025-05-04 10:20:32
Well at least 13 to 22 second to around 1-3 seconds is fine.
2025-05-04 10:20:47
And overall loading time is expected, it does says loading so.
2025-05-04 10:21:06
I rather have it like that then this smart loading nonsense.
2025-05-04 10:21:29
I could make folders with 100 images each but 200 seemed fitting on the scrollbar.
2025-05-04 10:22:20
2025-05-04 10:22:27
Good old loading screen ๐Ÿ˜‰
2025-05-04 10:22:44
Just some commodore colors and it would be fitting.
2025-05-04 10:23:04
And some commodore text.... Anyway.
2025-05-04 10:23:44
Scrolling is perfect with 200 images
2025-05-04 10:24:31
You could make it smaller 150 or maybe 100 images but.... I don't think 200 is to much for the scroll and size of the page
2025-05-04 10:24:42
But more then 200 gets to much.
username
2025-05-04 12:45:54
takes a little time
2025-05-04 12:46:34
although can't test real 3G as it was closed down in Denmark some years ago.
2025-05-04 12:46:42
I usually used 3G as there was less radiation then 4G.
2025-05-04 12:48:21
But yea, that took a lot longer to load for sure.
2025-05-04 12:48:59
But then again when it is finish loading there should not be much a problem for looking around
2025-05-04 12:50:08
But I could if anything fix them to 100 images or 150 per folder.
2025-05-04 12:50:17
if anything, but really, I don't think it is that big of a problem.
2025-05-04 01:01:55
But overall Not even sure you can see movies with 3G, although it seems strange that it would be so slow - as I had my mobile to 3G until they stopped it and was using it for my website as well I am sure.
2025-05-04 01:02:03
2025-05-04 01:03:17
I guess.....
2025-05-04 01:04:11
I guess this would be why it would be important with mp4 that are web complient for streaming, although not sure if all my videos have that sorted.
2025-05-04 01:05:05
AV1 has some tech on that?
2025-05-04 01:05:19
I guess it has, maybe by default making it web complient?
2025-05-04 01:09:58
I guess if I recode all the videos on my website, I will just need to keep in mind to have them web complient checked. If AV1 does not just have it by default.
2025-05-04 01:10:16
But I think you had to activate it for H264
2025-05-04 01:11:39
Well, I guess it shows another world of..... the internet.
2025-05-04 01:11:50
I guess it is not all places they have 4G or fast internet.
2025-05-04 01:15:04
clearly 3G is not nice for running my website..... I just don't recall having issues with it on my mobile when I was running it.
2025-05-04 01:15:19
at least the way the Browser is doing it.
2025-05-04 01:16:06
clearly it is not running fluently with emulating 3G, but again I just don't recall my mobile having issues with it.
2025-05-04 01:16:34
But as they closed down 3G I can't further test it. But if I had a problem with it I am sure I have taken notice of it in the past.
2025-05-04 01:18:23
How do I kinda know if an MP4 file is web complient?
2025-05-04 01:19:45
Anyone who knows about tech stuff who wanna check out my website for things?
2025-05-04 01:19:52
media stuff and such.
2025-05-04 01:20:07
But really... how many are running on a 3G connection these days....
2025-05-04 01:20:16
clearly the website is running fine on my 4G.
2025-05-04 01:20:26
And I don't recall it was running badly on my 3G either....
2025-05-04 01:20:32
although slower of cause.
2025-05-04 01:21:14
2025-05-04 01:25:53
okay so I was looking at a new Laptop started some weeks ago.... Now with AV1, I wonder if I need a specific graphic card in regards of support for encoding to help out.
2025-05-04 01:26:01
Anyone knows anything about that?
2025-05-04 01:26:21
4060 4070 and some others for Laptop.
2025-05-04 01:26:38
4060 was the one I was looking at when nearly buying a new laptop.
2025-05-04 01:26:51
But now I am wondering in recards of encoding.
RaveSteel
2025-05-04 01:27:01
Hardware encoding is faster than software encoding but will look much worse
JesusGod-Pope666.Info
2025-05-04 01:27:12
Like what....
2025-05-04 01:27:19
oh you gotta be kidding me.
RaveSteel
2025-05-04 01:27:23
Unusably worse in my opinion, but I am a sucker for high quality
JesusGod-Pope666.Info
2025-05-04 01:27:47
because it is hardware sorted and have some default settings?
2025-05-04 01:28:00
and cannot be change or?
RaveSteel
2025-05-04 01:28:45
Different optimization, for speed. Also a hard cap to 420 chroma subsampling, which may be fine depending on the source material.
JesusGod-Pope666.Info
2025-05-04 01:29:28
so, software encoding uses the CPU to do? or the GPU?
RaveSteel
2025-05-04 01:30:01
CPU
JesusGod-Pope666.Info
2025-05-04 01:31:13
okay, so the graphic card is not really that important then.... but then what about playing and decoding?
RaveSteel
2025-05-04 01:32:45
hardware accelerated video decoding is good stuff, should be more efficient than software decode, although I cannot say for certain with AV1. dav1d is a pretty good software decoder, but hwaccel should still be better. Maybe someone has more experience in that regard
JesusGod-Pope666.Info
2025-05-04 01:33:02
kinda looking at these kind of laptops.
Fab
2025-05-04 01:33:13
Why Nicky jam hiekka has a bitrate of 1,2mbps for av1?
JesusGod-Pope666.Info
2025-05-04 01:33:33
So if you encode with software and then decode with hardware that is the way to go?
RaveSteel
2025-05-04 01:33:51
Pretty much, yes
2025-05-04 01:34:39
But again, hw accelerated encode may be finde depending on your source material
2025-05-04 01:34:52
I would recommend you encode yourself and compare
Fab
2025-05-04 01:35:11
Whats the appeal of av1
2025-05-04 01:35:26
To save 300kbps
2025-05-04 01:36:11
Software encoders are at lower level
JesusGod-Pope666.Info
2025-05-04 01:36:46
Maybe I am not looking for a gaming laptop..... maybe I don't need the Graphic card overall...... I am not sure.
Fab
2025-05-04 01:36:46
You end with file twice as big with cpu used 1
JesusGod-Pope666.Info
2025-05-04 01:37:22
sigh... what a jungle to go wild in ๐Ÿ˜›
Fab
2025-05-04 01:37:43
With avif there's more appeal
2025-05-04 01:38:11
But av1 on video what we should do?
JesusGod-Pope666.Info
2025-05-04 01:38:17
I just don't want a crapbar again
Fab
2025-05-04 01:38:49
Even jxl performs better given the time
JesusGod-Pope666.Info
2025-05-04 01:39:00
Like gaming is not what I wanna use the computer for, at least not for the main point.
2025-05-04 01:39:16
I want something low resource watts yet fast.
Fab
2025-05-04 01:40:34
For YouTube av1 is just use as an excuse for audio normalization
JesusGod-Pope666.Info
2025-05-04 01:41:52
was pretty easy choice when they had it on sale....
2025-05-04 01:43:56
well I guess they will get someone on sale again at some point.
Fab
2025-05-04 01:47:37
I tried to improve both Audio and video on yt
2025-05-04 01:47:46
Yt is going to improve
JesusGod-Pope666.Info
2025-05-04 01:51:47
A laptop with external water cooling......
2025-05-04 01:52:11
Okay....
2025-05-04 02:06:56
So I guess 10 bit is the same on Video on AV1 that would be the best setting like on AVIF?
2025-05-04 02:09:25
is there a way to test visual thing as well on video like on AVIF?
2025-05-04 02:09:32
that weird number thing that is seen here and there?
2025-05-04 02:11:47
ffmetrics seems to be someone suggesting.
2025-05-04 02:12:25
Anyone knows?
2025-05-04 02:14:19
""Most importantly, hardware encoders are optimised for speed, software you can sacrifice speed for bitrate savings. If you want the absolute best saving in storage space, you need a beefy CPU and to use software encoding. AV1 is mostly a benefit right now if you need the most efficient real-time encoder, such as live streaming or in my case when I'm doing AI upscaling and will do a final encode using software once I'm sure the result looks good.""
๐•ฐ๐–’๐–—๐–Š
JesusGod-Pope666.Info is there a way to test visual thing as well on video like on AVIF?
2025-05-04 04:31:38
I have already sent you image based tests
2025-05-04 04:32:11
ffmetrics use older metrics. We generally rely on SSIMULACRA2 and Butteraugli for video/image quality assessment
JesusGod-Pope666.Info
2025-05-04 05:08:05
Yea I do recall you sent some data on images..... This is for video.
2025-05-04 05:08:37
You apparently put the original in and can have up to 12 recoded videos to compare with the original.
2025-05-04 05:08:43
I think it was 12 you could do.
Lumen
2025-05-04 05:25:06
it is only because on this discord, we mainly speak about jxl which is an image codec
2025-05-04 05:25:10
but on other discord
2025-05-04 05:25:23
emre did faaaaar more video comparisons than image ones
2025-05-04 05:25:27
using butter, ssimu2
2025-05-04 05:25:42
ffmetrics is outdated and the code is still not opensource <:KekDog:805390049033191445>
2025-05-04 05:25:56
so no one can add things
2025-05-04 05:26:19
it s a nice gui though
JesusGod-Pope666.Info
2025-05-04 06:08:15
Yea, dunno. I am just looking around.
Quackdoc
RaveSteel Unusably worse in my opinion, but I am a sucker for high quality
2025-05-04 06:09:45
av1 hwenc isnt bad but av1 is in it's infancy
2025-05-04 06:10:13
very happy with live encoding results from my a380
2025-05-04 06:11:09
oh just realized this is not other codecs
JesusGod-Pope666.Info
2025-05-04 06:11:15
Just need to half my space on my website, would be nice.
2025-05-04 06:11:35
and it is open format so that is nice. Anyway, still working on testing the pictues for now.
Quackdoc
2025-05-04 06:11:45
if you don't need live, swenc will wind up saving you way more space
๐•ฐ๐–’๐–—๐–Š
JesusGod-Pope666.Info Yea I do recall you sent some data on images..... This is for video.
2025-05-04 07:27:08
I have also sent video tests
2025-05-04 07:27:33
๐Ÿ˜
JesusGod-Pope666.Info
Quackdoc if you don't need live, swenc will wind up saving you way more space
2025-05-04 07:59:36
?
Quackdoc
2025-05-04 08:00:35
swenc will take longer to encode but save a lot more space. but its to slow for many people if you need a live feed
JesusGod-Pope666.Info
2025-05-04 08:35:47
Wuhuuu
Quackdoc swenc will take longer to encode but save a lot more space. but its to slow for many people if you need a live feed
2025-05-04 08:36:38
Probably won't work in my player. Only supports mp4 format.
RaveSteel
2025-05-04 08:37:00
Which player?
JesusGod-Pope666.Info
2025-05-04 08:45:06
Well my website players.
2025-05-04 08:45:48
Any way to test if files are 10bit or 8 bit?
RaveSteel Which player?
2025-05-04 08:50:16
http://jesusgod-pope666.info/uvpf.php#/?playlistId=12&videoId=2
2025-05-04 08:50:18
And...
RaveSteel
2025-05-04 08:50:33
ah
JesusGod-Pope666.Info
2025-05-04 08:50:41
And https://am.jesusgod-pope666.info
2025-05-04 08:50:50
And I have one more.....
2025-05-04 08:51:03
They primary only do mp3 and mp4
2025-05-04 08:51:29
But do not know further on swenc
2025-05-04 08:51:44
But AV1 seems to be a good choice overall.
2025-05-04 08:52:00
And maybe some opus as well.
A homosapien
2025-05-04 08:52:29
Don't use a website, use a proper media player. For audio I hear foobar2000 great. For video MPV is solid as well.
JesusGod-Pope666.Info
2025-05-04 08:53:05
Like... The point is using a website is to share information.
A homosapien
2025-05-04 08:53:55
Basically every modern browser can play AV1 and opus fine
JesusGod-Pope666.Info
2025-05-04 09:00:01
XnConvert: speed 10 vs speed 0 - quality 50.
2025-05-04 09:00:26
2025-05-04 09:09:00
Kinda seems to be a fluke still in the best. But the original do have some strange thing at the eye although better on the original.
2025-05-04 09:09:19
But still.... Pretty good.
Quackdoc
2025-05-04 09:13:32
mp4 supports AV1
JesusGod-Pope666.Info
2025-05-04 09:14:28
I know
2025-05-04 09:14:35
That is kinda why I am looking into using it.
2025-05-04 09:14:54
although working on the images at the moment, that will take a week or so with my slow computers.
2025-05-04 09:15:02
but..... should get something together ๐Ÿ™‚
2025-05-04 09:15:14
and then the video and hopefully there will be sale on a good computer.
2025-05-04 09:15:19
so I can begin video encoding.
2025-05-04 09:15:35
But for now I am looking into the images.
gb82
I was looking at this again yesterday, sounds like a good spot for that algorithm https://github.com/libjxl/libjxl/pull/1395
2025-05-05 01:59:30
https://github.com/gianni-rosato/photodetect2 C impl is linked in README
jonnyawsom3
2025-05-05 02:02:50
A match made in heaven (Posting it again for context) https://github.com/libjxl/libjxl/pull/1395
2025-05-05 02:03:58
<@794205442175402004> do you think it could help revive a new revision of that PR?
_wb_
2025-05-05 10:41:06
Maybe. The tricky thing though is not detecting where to use patches, but to do it in a way that avoids seams and actually saves bits...
JesusGod-Pope666.Info
2025-05-07 02:01:13
darkijah@Darkijah-USBSSD:/media/darkijah/USB-SSD1.75TN/Screenshots/2014_01-TEST$ for i in *.png; do ((current++)); echo "Processing the image: ${i} [$current/$total]"; avifenc "${i}" "new_${i%%.*avif}" -a tune=iq -d "10" -y "444" -s "0" -q 50 --ignore-xmp --ignore-exif; echo "Processing completed: ${i} [$current/$total]"; done Processing the image: Screenshot 2014-02-28 23.18.53.png [214/] WARNING: -a is applying to all inputs. Use -a:u to apply only to inputs after it, or move it before first input to avoid ambiguity. WARNING: -q is applying to all inputs. Use -q:u to apply only to inputs after it, or move it before first input to avoid ambiguity. Successfully loaded: Screenshot 2014-02-28 23.18.53.png
2025-05-07 02:01:23
Have some minor issues here
2025-05-07 02:06:30
for i in *.png; do ((current++)); echo "Processing the image: ${i} [$current/$total]"; avifenc -a tune=iq -q 50 "${i}" "new_${i%%.*avif}" -d "10" -y "444" -s "0" --ignore-xmp --ignore-exif; echo "Processing completed: ${i} [$current/$total]"; done I think this sorted it.
2025-05-07 02:24:44
Maybe I can put the file stuff at the end.... maybe that works better
2025-05-07 05:06:47
I don't see any information about tune=iq in the help file
juliobbv
2025-05-07 06:44:04
what do you need to know about tune=iq specifically?
2025-05-07 06:44:18
(I'm the author)
2025-05-07 06:44:36
the tune is meant to "set and forget"
JesusGod-Pope666.Info
juliobbv the tune is meant to "set and forget"
2025-05-07 08:12:30
I don't know, I thought there would be something in the options about it, but I only see 2 options explained and I have a 3 setting, iq
juliobbv what do you need to know about tune=iq specifically?
2025-05-07 08:13:06
So I am like, not sure if I have the right things fixed.
juliobbv what do you need to know about tune=iq specifically?
2025-05-07 09:57:39
does look like the settings in this...... avifenc is making the images smaller, although not sure if it is better or worse quality.
2025-05-07 09:57:53
with the tune=iq
2025-05-07 09:58:07
not sure, there is a lot of settings in that line of command
2025-05-07 03:25:31
Not sure how much effective it is, but it seems the files are smaller with this AVIF encoding terminal app.
2025-05-07 03:56:11
okay.... Q50, ends up having some...... square issues.
2025-05-07 03:56:28
So I think I will bump it up to 60 at least and see if that goes better.
2025-05-07 04:02:22
By the way the Gweenview does not seem to read those AVIF files - at least not the one I have.
RaveSteel
2025-05-07 04:10:12
do you have kimageformats installed?
2025-05-07 04:19:27
Wait, why do your AVIFs have a .png file extension?
JesusGod-Pope666.Info
RaveSteel Wait, why do your AVIFs have a .png file extension?
2025-05-07 04:23:20
Because I have had issues with renaming it without having it stop doing the images. So the PNG files are still AVIF
RaveSteel do you have kimageformats installed?
2025-05-07 04:23:32
no idea, probably not.
2025-05-07 04:23:43
although the other image viewer can see them.
2025-05-07 04:24:09
I have the ability to changed png to avif afterwards with rename.
RaveSteel
2025-05-07 04:26:15
does it work with gwenview after adjusting the extension?
JesusGod-Pope666.Info
2025-05-07 04:26:57
nope
2025-05-07 04:27:01
as you can see I did one of each
RaveSteel
2025-05-07 04:34:01
try installing kimageformats, if it is not yet located on your system. Although I think it should be
juliobbv
JesusGod-Pope666.Info I don't know, I thought there would be something in the options about it, but I only see 2 options explained and I have a 3 setting, iq
2025-05-07 04:51:33
avifenc might not have updated their help section yet, but if you're passing in `-a tune=iq`, and avifenc is built/linked to an up-to-date libaom then the setting is taking effect
JesusGod-Pope666.Info
2025-05-07 04:54:12
Kinda weird the same image in Gimp and the viewnior
2025-05-07 04:54:21
2025-05-07 04:54:51
apparently one smoothes out the pixels or image.
Mine18
JesusGod-Pope666.Info Kinda weird the same image in Gimp and the viewnior
2025-05-07 05:11:43
check how each one scales images
JesusGod-Pope666.Info
2025-05-07 05:12:15
dunno
2025-05-07 05:17:21
whatever the case, I will push it to 60 in Quality.
2025-05-07 06:31:13
I am thinking like you guys say 10 bit..... and was told it is not bigger, but still testing it, it seems might it might be bigger - but then I am thinking my screenshots.... like they might not be over 8 bit of colors....
2025-05-07 06:31:31
although.... I recall we where using other kind of numbers in the old days for screens....
2025-05-07 06:34:06
16 or 24 or something I think it was..... apparently I guess we use a new standard for colors....
2025-05-07 06:34:41
Checking the old computer here it sahys color bit depth 8 bit
2025-05-07 06:34:52
So if my screenshots are only 8 bit anyway.....
2025-05-07 06:38:37
2025-05-07 06:39:00
See.... why in the world do we now have some thing else that does not seem to match the old ways of writing?
2025-05-07 06:39:19
2025-05-07 06:39:31
16 colors 16 bit, 24 bit, 32 bit.
2025-05-07 06:40:16
I guess 8 bit now what 16 was in the past?
2025-05-07 06:40:34
Like.... I really don't know, seem ridiculous to just make up something new.
RaveSteel
2025-05-07 07:02:55
It's just the way bits are counted. 8 bits means 24 bits, 8 bits for each RGB channel. Most modern displays are 8 bit, so 24 bits RGB, with more high end displays being 10 bit, so 30 bits RGB
2025-05-07 07:04:59
8 bits add up to 16.7 million colours, you may have seen this number before
_wb_
2025-05-07 07:15:16
The main confusing thing is that both bits per pixel and bits per color component are used. E.g. 8-bit can mean GIF-like 256-color or it can mean typical SDR rgb888 which has 2^24 = 16.7 million colors.
juliobbv
JesusGod-Pope666.Info I am thinking like you guys say 10 bit..... and was told it is not bigger, but still testing it, it seems might it might be bigger - but then I am thinking my screenshots.... like they might not be over 8 bit of colors....
2025-05-07 08:55:26
per same q, 10 bit AVIFs are a overall bit bigger, but they make it up by being significantly more efficient
2025-05-07 08:55:38
there's significantly less banding artifacts
_wb_
2025-05-07 08:56:42
Yes, for the same filesize, 10-bit avif has better quality than 8-bit
A homosapien
2025-05-07 09:12:50
It does come at the cost of slower encoding & decode speeds
juliobbv
2025-05-07 09:33:29
indeed
2025-05-07 09:34:55
that said, for encoding: the overall 10 bit gain is large enough that you can afford to use the next faster speed, and still come out ahead (s0 8 bit -> s1 10 bit)
2025-05-07 09:35:53
for decoding: you'll end up with an image that's as complex as decoding a regular HDR image, and dav1d is so well optimized that it overall isn't a concern in practice
๐•ฐ๐–’๐–—๐–Š
JesusGod-Pope666.Info So if my screenshots are only 8 bit anyway.....
2025-05-08 12:32:27
It doesn't matter. 10bit encoding is a HUGE improvement over 8-bit encoding. 10bit is what it was meant to be used for AV1, avif.
2025-05-08 12:33:52
you can see an exaggarated output here: 8bit vs 10bit
A homosapien
2025-05-08 12:36:47
Maybe not HUGE, but I would consider it significant
username
2025-05-08 12:38:51
isn't some of this the the fault of AV1/AVIF implementations rather then 10bpc being better for 8bpc content/data?
๐•ฐ๐–’๐–—๐–Š
A homosapien Maybe not HUGE, but I would consider it significant
2025-05-08 12:41:21
for video, it is
A homosapien
2025-05-08 12:41:44
I know, but we are talking about images here
Quackdoc
๐•ฐ๐–’๐–—๐–Š you can see an exaggarated output here: 8bit vs 10bit
2025-05-08 12:48:15
~~firefox vs chrome with gradients~~
username isn't some of this the the fault of AV1/AVIF implementations rather then 10bpc being better for 8bpc content/data?
2025-05-08 12:50:05
This is a large part of it, even if you only have 8bits of data, 10bit is just better in a lot of cases, though when you start to really crunch it, 8bit becomes better again depending on the encode settings and encoder
username
2025-05-08 01:10:30
as far as I'm concerned encoding 8-bit data as 10-bit and getting better results doesn't make too much sense to me at face value but I guess in the video codec world it ends up working out that way because of low numerical precision being used for everything (likely to better facilitate hardware decoding) meaning that forcing 10-bit ends up helping 8-bit only data from getting messed with.
2025-05-08 01:11:06
afaik JXL doesn't suffer from this since almost everything is handled as 32-bit floats internally
juliobbv
username as far as I'm concerned encoding 8-bit data as 10-bit and getting better results doesn't make too much sense to me at face value but I guess in the video codec world it ends up working out that way because of low numerical precision being used for everything (likely to better facilitate hardware decoding) meaning that forcing 10-bit ends up helping 8-bit only data from getting messed with.
2025-05-08 01:41:00
yeah, it's one of those things where designing for video first has a different set of priorities
2025-05-08 01:41:11
this is one of the most striking examples I've found so far: https://github.com/webmproject/codec-compare/issues/17#issuecomment-2519192783
2025-05-08 01:41:50
encoding as 10 bits makes banding completely gone
2025-05-08 01:42:31
it's ultimately a workaround, but it is what it is
2025-05-08 01:44:28
<:JXL:805850130203934781> is immune AFAICT though
username
2025-05-08 01:44:28
also from what I've seen 8-bit AVIF ends up making some things way more red then they should be for some reason. mess around with the image attached to this message and you will see what I mean
juliobbv
username also from what I've seen 8-bit AVIF ends up making some things way more red then they should be for some reason. mess around with the image attached to this message and you will see what I mean
2025-05-08 01:45:19
hmm, I'm confused
2025-05-08 01:45:33
source image appears to be a webp?
username
2025-05-08 01:45:38
lossless
juliobbv
2025-05-08 01:45:40
oh wait, is it lossless webp
2025-05-08 01:45:41
yah
username
2025-05-08 01:45:59
I didn't want to upload a giant PNG (my internet sucks)
juliobbv
2025-05-08 01:57:14
no worries
2025-05-08 01:57:25
something weird is going on with that image
2025-05-08 01:57:33
I do get a color shift but even for lossless
2025-05-08 02:00:10
probably colorimetry issues ๐Ÿ˜ญ
2025-05-08 02:00:32
I may dig into it more tomorrow
Quackdoc
2025-05-08 02:42:12
colour issues ๐Ÿ’€
2025-05-08 02:42:29
humans should never have tried to replicate colour
JesusGod-Pope666.Info
2025-05-08 05:46:07
2025-05-08 05:46:13
banding
2025-05-08 05:46:47
So if there is any banding on my 8 bit screenshots, it might smooth them out a little by default....
2025-05-08 05:46:52
I guess....
Meow
2025-05-08 07:30:07
Artists tend to add some dithering instead
dogelition
juliobbv this is one of the most striking examples I've found so far: https://github.com/webmproject/codec-compare/issues/17#issuecomment-2519192783
2025-05-08 07:35:56
this example is confusing to me looking at both avif files in gimp, the 10 bit encode doesn't even have any gradation in the bottom left corner. it's all just the same color but in the 8 bit encode it varies between 2 colors which are a fair distance apart, which is what causes the blocking surely the 8 bit encode could just make that region a single color too?
juliobbv
dogelition this example is confusing to me looking at both avif files in gimp, the 10 bit encode doesn't even have any gradation in the bottom left corner. it's all just the same color but in the 8 bit encode it varies between 2 colors which are a fair distance apart, which is what causes the blocking surely the 8 bit encode could just make that region a single color too?
2025-05-08 07:37:27
it's not a single color, but it's part of a very faint background gradient
2025-05-08 07:38:24
if you look at the full images you'll be able to see it in context
dogelition
2025-05-08 07:42:06
ignore the actual colors in the video, just look at the rgb in the color picker first half is the 8 bit encode, second is 10 bit at least in that region there is just nothing in the 10 bit version
JesusGod-Pope666.Info
2025-05-08 08:06:40
Ahhh, yea okay - but it anyone going to see it is the question on my website.
2025-05-08 08:06:41
for i in *.png; do ((current++)); echo "Processing the image: ${i} [$current/$total]"; avifenc -a tune=iq -q 60 "${i}" "new_${i%^C*avif}" -d "8" -y "444" -s "0" --ignore-xmp --ignore-exif; echo "Processing completed: ${i} [$current/$total]"; done
2025-05-08 08:06:47
This is the code I am using right now.
2025-05-08 08:06:54
I will try to bump it up to 10 as well.
2025-05-08 08:14:37
for i in *.png; do ((current++)); echo "Processing the image: ${i} [$current/$total]"; avifenc -a tune=iq -q 60 "${i}" "new_${i%^C*avif}" -d "10" -y "444" -s "0" --ignore-xmp --ignore-exif; echo "Processing completed: ${i} [$current/$total]"; done
2025-05-08 08:15:43
Anything that needs to be adjusted?
2025-05-08 08:15:58
not sure what ignore xmp and exif is
2025-05-08 08:16:02
and some of the other as well.
2025-05-08 08:17:00
8 bit would then be 24 bit and 10 bit would be 30 bit.....
2025-05-08 08:17:05
8 8 8
2025-05-08 08:17:08
10 10 10
username
2025-05-08 08:19:27
XMP and EXiF are types of metadata. which is pretty much just like various types of text for information like copyright or what software exported the file or whatever else
2025-05-08 08:20:54
those ignore commands will remove/strip the metadata out which personally I don't like doing but there's a lot of people who strip out metadata because they believe the information to be useless
JesusGod-Pope666.Info
2025-05-08 08:22:33
I don't think I need any metadata
2025-05-08 08:23:03
Yea, not sure there would be anything in them - where do I see the metadata in the original files?
username
2025-05-08 08:27:13
you could use something like [ExifTool](https://exiftool.org/) to view metadata for files. although keep in mind that ExifTool will show more info then just what's embedded in the metadata which means it will always give printouts for files even if they don't have any metadata attached
JesusGod-Pope666.Info
2025-05-08 09:03:13
Can Gimp see metadata?
2025-05-08 09:05:19
๐•ฐ๐–’๐–—๐–Š
JesusGod-Pope666.Info Can Gimp see metadata?
2025-05-08 12:35:20
You can also use `identify -verbose file.png` and `mediainfo file.png`
Traneptora
JesusGod-Pope666.Info
2025-05-08 12:45:02
looks like you answered your own question
JesusGod-Pope666.Info for i in *.png; do ((current++)); echo "Processing the image: ${i} [$current/$total]"; avifenc -a tune=iq -q 60 "${i}" "new_${i%^C*avif}" -d "10" -y "444" -s "0" --ignore-xmp --ignore-exif; echo "Processing completed: ${i} [$current/$total]"; done
2025-05-08 12:45:23
protip: \`\`\` block code \`\`\`
2025-05-08 12:45:28
``` block code ```
๐•ฐ๐–’๐–—๐–Š
username those ignore commands will remove/strip the metadata out which personally I don't like doing but there's a lot of people who strip out metadata because they believe the information to be useless
2025-05-08 01:07:36
Not just "useless", it can also be a devastating privacy problem.
2025-05-08 01:08:21
There are many many people known to be identified (killed, raped, threatened, etc) on 4chan from the image metadata.
2025-05-08 01:09:19
I think image metadata is a huge security & privacy problem (being useless can also be debated), especially for people who don't know what they are doing.
2025-05-08 01:09:27
Meaning, the most people.
2025-05-08 01:11:00
These can include: - Precise GPS coordinates of where a photo was taken - Date and time - Device information (camera/phone model) - Sometimes even your name or device owner information
2025-05-08 01:11:30
Many people have been doxed just because they simply shared their iPhone pics.
Mine18
2025-05-08 03:14:50
metadata can be neat for your own personal memories through Google Photos or smth but for wider distribution metadata should be removed by default for privacy
RaveSteel
2025-05-08 03:17:51
At least most platforms strip metadata. The safest option, stripping it yourself before upload, is simply inaccessible to users, because they likely don't even know that their images have metadata
Quackdoc
2025-05-08 03:21:32
yeah, ~~stripping is always appreciated~~
juliobbv
dogelition ignore the actual colors in the video, just look at the rgb in the color picker first half is the 8 bit encode, second is 10 bit at least in that region there is just nothing in the 10 bit version
2025-05-08 05:10:26
I think you might be too zoomed in on one of the corners when color picking
2025-05-08 05:12:47
there are smaller local sections that are indeed flat, but if you venture out of those local sections you can see the gradiation effect going
TheBigBadBoy - ๐™ธ๐š›
2025-05-08 10:43:33
what can I use to transform scanned artworks into digital like? So instead of the little dots/circle, I would like a uniform color
spider-mario
2025-05-08 10:59:34
maybe something like a median filter could do
2025-05-08 11:02:11
HCrikki
2025-05-08 11:15:40
is it some specific artbook or artist? fixed dpi ?
TheBigBadBoy - ๐™ธ๐š›
2025-05-09 12:45:26
nope, just random scanned stuff from a BD box
spider-mario
2025-05-09 12:46:19
unfortunately it is not really uniform, and it just blurs everything
2025-05-09 12:49:30
I think for stuff like this AI-stuff might be good to use? But I just don't know any Waifu2x does not work ofc (even without `--noise 3`)
A homosapien
2025-05-09 12:53:24
I know of a specific AI, but I don't have it on me atm
2025-05-09 01:19:41
This is the best I can do using conventional methods
AccessViolation_
2025-05-09 09:57:34
I just had this thought, curious what you guys think?
2025-05-09 10:05:50
one way you might be able to do this for photon noise is to denoise the image, then synthesize luma-modulated noise back in at the intended scale, regardless of the scale of the image itself
JesusGod-Pope666.Info
2025-05-09 10:17:54
https://github.com/cloudinary/ssimulacra2
AccessViolation_
AccessViolation_ one way you might be able to do this for photon noise is to denoise the image, then synthesize luma-modulated noise back in at the intended scale, regardless of the scale of the image itself
2025-05-09 10:38:34
I came up with this > 1. build a luma map of the image by denoising it and looking at the brightness of every part of the image. maybe use a filter to avoid bleeding between sudden changes in luma, like at object edges. > 2. trying to not capture non-photon-noise variance (global averaging? some sort of filtering?), find the global correlation between luma and photon noise for this particular image. > 3. build a photon noise map using that relationship and the luma map: for every part of the image, find out to which extent the variance in that part can be attributed to photon noise. > 4. using that metric, locally denoise the image proportoinally to how heavily photon noise contributes to the variance in that part. this avoids denoising fine textures that are not the result of photon noise. > 5. when viewing the image, using the photon noise map, synthesize photon noise back in at the intended viewing scale, so the noise is visible regardless of the scale of the image itself.
2025-05-09 10:58:51
if you have a JXL that properly uses noise synthesis, the only step you'd need to do is step 5 by changing the default noise synthesis to a version that scales the noise to the UI scaling level of your OS
Demiurge
2025-05-09 11:06:03
The encoder SHOULD try to measure how much noise was lost at the end of the encoding process, compared to the original. Then it could signal how much noise has to be added back to match the original image. Since smoothing out noise is a normal side effect of the lossy encoder...
AccessViolation_
2025-05-09 11:06:58
oh right, I forgot to account for compression
jonnyawsom3
2025-05-09 11:07:06
Currently JXL does the opposite. You specify noise, it applies it and then subtracts it from the original image to improve compression
AccessViolation_
2025-05-09 11:07:13
though you could also use the compressed image as original input
2025-05-09 11:07:41
how I'm imagining it this would work on any existing image in a specialized viewer
Demiurge
2025-05-09 11:08:11
At least, a side effect of the current version of libjxl. Not necessarily all lossy encoders
Currently JXL does the opposite. You specify noise, it applies it and then subtracts it from the original image to improve compression
2025-05-09 11:08:58
Yeah that's pretty bad...
AccessViolation_
Currently JXL does the opposite. You specify noise, it applies it and then subtracts it from the original image to improve compression
2025-05-09 11:09:39
does it actually? this would only improve compression if the synthesized noise happened to exactly match the original noise. or do you mean it denoises the image?
2025-05-09 11:10:25
I actually thought there was no noise substitution logic at all currently, and noise synthesis was a purely additive step
_wb_
2025-05-09 11:10:48
Yes, it is purely added atm
Demiurge
2025-05-09 11:12:31
How difficult would it be to add a diff at the end of compression and translate that diff into an iso number?
2025-05-09 11:14:51
Bam, no more youtube videos of 2kliksphilip showing off smooth jxl next to grainy avif
AccessViolation_
2025-05-09 11:18:24
it's surprising how little noise you actually lose with qualities above ~95%
2025-05-09 11:18:53
at that point the data loss is more akin to slight changes in pixel values, not really removing the noise at all
2025-05-09 11:19:42
even 90% has minimal loss of noise patterns, though it looks slightly smoothed out
Demiurge
2025-05-09 11:20:51
Yes, there are still problems at d=1/q=90 though. And a lot more fidelity miracles can be squeezed out of much lower bitrates with the right techniques.
2025-05-09 11:27:32
The problem with libjxl are superficial and correctable mistakes that undermine a very strong underlying core
2025-05-09 11:32:16
(And a template-heavy spaghetti codebase in an incomprehensible folder structure that makes development harder)
JesusGod-Pope666.Info
2025-05-09 11:34:57
Yea it does seem the 10 bit is smaller then the 8 bit for the most part of times. So I guess it is not a problem....
2025-05-09 11:36:00
jonnyawsom3
AccessViolation_ I actually thought there was no noise substitution logic at all currently, and noise synthesis was a purely additive step
2025-05-09 11:36:05
Yeah, it doesn't, it only uses the built-in photon noise. The `--noise` flag is meant to do the adaptive noise generation/subtraction, but currently it's broken/does nothing
2025-05-09 11:36:50
```--photon_noise_iso=ISO_FILM_SPEED Add noise to the image emulating photographic film or sensor noise, default = 0. Higher values add more noise, e.g. 100 gives a low amount of noise, 3200 gives a lot of noise. --noise=0|1 Disable/enable adaptive noise generation, default = encoder chooses. 0 = disable. 1 = enable. It is recommended to use --photon_noise_iso instead.```
AccessViolation_
2025-05-09 11:42:34
it could could probably really boost the apparent fidelity of very low quality JXL images too
2025-05-09 11:43:15
it'll be harder to pick out compression artifacts among the noise that was already supposed to be there
Demiurge
AccessViolation_ it'll be harder to pick out compression artifacts among the noise that was already supposed to be there
2025-05-09 11:44:03
Yes... that's called "noise masking"
2025-05-09 11:44:09
:)
AccessViolation_
2025-05-09 11:44:48
I knew about the phenomenon, didn't know it had a name
Demiurge
2025-05-09 11:47:39
Yup! The whole theory of lossy compression is being able to hide or "mask" the distortion introduced by the quantization process, reducing precision and data in ways that are hard to notice by hiding it using techniques like this.
AccessViolation_
2025-05-09 11:50:39
interesting ๐Ÿ‘€
jonnyawsom3
Currently JXL does the opposite. You specify noise, it applies it and then subtracts it from the original image to improve compression
2025-05-09 11:57:28
Apparently I hallucinated that because I can't find anything about it now, but I'm sure either Jon or Mario said that photon noise does impact the underlying pixels to save some bits
2025-05-09 11:58:13
I did, however, find the blog post I've been trying to find again for the past year. Turns out Kampidh had changed the URL so I thought I had already checked it before https://kampidh.com/whyjxl
2025-05-09 11:58:44
Has a demo of photon-noise dithering, though only works on old browsers or with the Oxide extension since libjxl does dithering now
JesusGod-Pope666.Info
2025-05-09 12:06:43
this code still stops from working on all the images: for i in *.png; do ((current++)); echo "Processing the image: ${i} [$current/$total]"; avifenc -a tune=iq -q 60 -d "10" -y "444" -s "0" "${i}" "new_${i%%.*}.avif"; echo "Processing completed: ${i} [$current/$total]"; done
2025-05-09 12:07:00
Trying to make the files into avif makes it stop like halfway or so.
Jyrki Alakuijala
A homosapien I remember Jyrki saying he was working with audio recently
2025-05-09 04:03:05
I have been working with Audio, on 'zimtohrli' full reference audio metric. My algorithmic work there is now complete, and only some productionization work left. I'll start the coming week to optimize quality of JPEG XL again, likely for 2-3 weeks to resolve the increased blurriness in 0.10 -- compared to 0.8
A homosapien Well of course JPEG is worse, it's 26 years older than AVIF. That's like comparing a horse and buggy to a modern car.
2025-05-09 04:04:11
it is not clear if jpegli-JPEG is worse or better than AVIF for usual photography needs, i.e., relatively high quality
spider-mario
Demiurge How difficult would it be to add a diff at the end of compression and translate that diff into an iso number?
2025-05-09 04:17:26
the pattern of the reduction in noise might not fit the curve of photon noise (but then, maybe it doesnโ€™t need to be specifically photon noise that gets added)
2025-05-09 04:18:07
the native mechanism to signal noise in jxl is the noise LUT; the `--photon_noise` parameter is just one way to generate a โ€œnatural-lookingโ€ LUT
2025-05-09 04:18:42
in the context of making up for noise lost to compression, maybe a non-photon-noise LUT would be fine
Demiurge
2025-05-09 04:19:36
Oh cool, I didn't know that noise can be flexibly signalled with different curves in jxl
spider-mario
2025-05-09 04:20:33
itโ€™s not perfect, because (in my view) we allocate too many LUT entries to high XYB values, so there is less precision in the values encountered in most images
Demiurge
Jyrki Alakuijala I have been working with Audio, on 'zimtohrli' full reference audio metric. My algorithmic work there is now complete, and only some productionization work left. I'll start the coming week to optimize quality of JPEG XL again, likely for 2-3 weeks to resolve the increased blurriness in 0.10 -- compared to 0.8
2025-05-09 04:25:32
The blurriness is a problem, yes... but I notice that compared to other state of the art codecs, libjxl actually is pretty amazing when it comes to preserving texture. The 3 big recurring problems in libjxl are excessive blurring/quantization in dark shadows in particular. Along with the 2 big chroma issues: excessive chroma ringing artifacts that look like colorful ripples across the whole image, plus a noticeable desaturation effect across the entire image (in the green-yellow and orange-red spectrums especially)
spider-mario
2025-05-09 04:25:52
๐Ÿ˜ƒ I just had a bit of a panic moment, misinterpreting this comment https://github.com/libjxl/libjxl/blob/77cd542df9714955e35e4b1515682da651157cc7/lib/jxl/noise.h#L25 as a ratio rather than an โ€œorโ€ and trying to think through the implications / assessing the plausibility of that interpretation vs. the probability that I would have gotten photon noise to work despite overlooking something like that
Demiurge
spider-mario itโ€™s not perfect, because (in my view) we allocate too many LUT entries to high XYB values, so there is less precision in the values encountered in most images
2025-05-09 04:27:44
Could always try testing an experimental bitstream format... ๐Ÿ‘€
spider-mario
2025-05-09 04:28:21
these are the luminances that each LUT entry corresponds to
2025-05-09 04:28:50
so, for a typical SDR image with intensity_target=255, slightly over half of the LUT is used
2025-05-09 04:32:39
this is the code that fills the LUT for photon noise: https://github.com/libjxl/libjxl/blob/77cd542df9714955e35e4b1515682da651157cc7/lib/jxl/enc_photon_noise.cc#L62-L96
2025-05-09 04:34:43
the actual computations are not super complicated (the reason for those specific computations may be less obvious), to the point that the first version of the port to libaom was a perl script
2025-05-09 04:34:54
which I still have
jonnyawsom3
2025-05-09 04:39:15
Oh, so JXL had the noise first and it was ported to AVIF?
spider-mario
2025-05-09 04:41:01
yes
2025-05-09 04:42:40
9 July 2021: jxl https://github.com/libjxl/libjxl/pull/307 3 September 2021: aom https://aomedia-review.googlesource.com/c/aom/+/145301
2025-05-09 04:43:46
(there as well, AV1 already had the underlying mechanism; the new code just generates tables of a certain kind)
2025-05-09 04:46:36
embarrassingly, I have written a tool that can take a noisy image + a denoised version and return the likely `--photon_noise` parameter to use, but it returns values that correspond to the aom version, suggesting that this TODO https://github.com/libjxl/libjxl/blob/77cd542df9714955e35e4b1515682da651157cc7/lib/jxl/enc_photon_noise.cc#L85-L86 was warranted
Demiurge
2025-05-09 04:46:45
So the chroma noise can be signaled independently of the luma noise? But what about the noise spectrum?
2025-05-09 04:47:08
Can the spectral profile be signaled too?
spider-mario
2025-05-09 04:47:25
I recently looked into it but there is no denominator that makes them match exactly, maybe because of the low-ish LUT precision
2025-05-09 04:47:37
but I guess I could submit the value I found that seemed to get the closest to that
2025-05-09 04:48:14
at the cost of disturbing existing users of the flag (by a constant factor, though, so easily adjusted)
Demiurge Can the spectral profile be signaled too?
2025-05-09 04:52:35
no, the spectrum is whatever https://github.com/libjxl/libjxl/blob/77cd542df9714955e35e4b1515682da651157cc7/lib/jxl/dec_noise.cc generates, and itโ€™s mostly achromatic
JesusGod-Pope666.Info
Jyrki Alakuijala it is not clear if jpegli-JPEG is worse or better than AVIF for usual photography needs, i.e., relatively high quality
2025-05-09 05:02:52
At least on the lower end of quality you see a pretty big difference of storage being used. Clearly AVIF is much mich better down on those levels.
jonnyawsom3
spider-mario at the cost of disturbing existing users of the flag (by a constant factor, though, so easily adjusted)
2025-05-09 05:21:23
Would it be scaling up or down? (Going up meaning ISO 250 is more like 300, ect)
spider-mario
2025-05-09 05:21:58
would need higher values for the same amount of noise
2025-05-09 05:22:05
current values would produce less
_wb_
2025-05-09 05:55:42
Previously encoded images will still look the same, only it would take higher cjxl parameter values to create those files now? I think that's fine for a relatively niche option like this
spider-mario these are the luminances that each LUT entry corresponds to
2025-05-09 05:57:54
Wait, I thought SDR white corresponds to Y=0.85 or so?
spider-mario
2025-05-09 06:00:20
hm, I should double-check that table
_wb_ Previously encoded images will still look the same, only it would take higher cjxl parameter values to create those files now? I think that's fine for a relatively niche option like this
2025-05-09 06:00:37
correct, it would only change โ€œwhich value to pass to `--photon_noise` to get the same bitstreamโ€
2025-05-09 06:00:54
it wouldnโ€™t affect the โ€œbitstream -> decoded imageโ€ pathway
TheBigBadBoy - ๐™ธ๐š›
A homosapien This is the best I can do using conventional methods
2025-05-09 09:49:29
may I know what you did and the name of the "AI software" ?
A homosapien
TheBigBadBoy - ๐™ธ๐š› may I know what you did and the name of the "AI software" ?
2025-05-09 09:56:15
No AI was used for that image, it's a Photoshop plug-in and some good old-fashioned elbow grease.
2025-05-09 09:57:10
The AI was speaking of is a custom trained model, specifically for half tone images
2025-05-09 09:58:13
I'm sure I can get an even better result but I forgot what it was called
2025-05-09 10:03:06
The model somewhere on my computer I know it
2025-05-09 10:41:34
Okay, this is the best result I could get with two AI models
spider-mario
_wb_ Wait, I thought SDR white corresponds to Y=0.85 or so?
2025-05-09 10:41:49
the table matches what `enc_photon_noise.cc` calculates, so perhaps the latter needs fixing
2025-05-09 10:43:55
(I wonder to what extent that explains the discrepancy with aom)
2025-05-09 10:44:09
(that would be an interesting development)
A homosapien
TheBigBadBoy - ๐™ธ๐š› may I know what you did and the name of the "AI software" ?
2025-05-09 10:46:03
Here ya go, I used this model: https://openmodeldb.info/models/1x-Bendel-Halftone With this software: https://github.com/chaiNNer-org/chaiNNer
TheBigBadBoy - ๐™ธ๐š›
2025-05-09 10:46:49
thanks for all that information! [โ €](https://cdn.discordapp.com/emojis/674256399412363284.webp?size=48&name=av1_pepelove)
2025-05-09 10:47:06
yeah I already have chaiNNer, so perfect
A homosapien
2025-05-09 10:47:25
I had to downscale the image by 42% to get a good looking result
spider-mario
spider-mario the table matches what `enc_photon_noise.cc` calculates, so perhaps the latter needs fixing
2025-05-09 10:50:06
oh no ```diff diff --git a/lib/jxl/enc_photon_noise.cc b/lib/jxl/enc_photon_noise.cc index 75b21ca99..805238bf7 100644 --- a/lib/jxl/enc_photon_noise.cc +++ b/lib/jxl/enc_photon_noise.cc @@ -66,7 +66,7 @@ NoiseParams SimulatePhotonNoise(const size_t xsize, const size_t ysize, // scaled_index is used for XYB = (0, 2ยทscaled_index, 2ยทscaled_index) const float y = 2 * scaled_index; // 1 = default intensity target - const float linear = std::max(0.f, Cube(y - kOpsinAbsorbanceBiasCbrt) + + const float linear = std::max(0.f, Cube(y + kOpsinAbsorbanceBiasCbrt) - jxl::cms::kOpsinAbsorbanceBias[1]); const float electrons_per_pixel = electrons_per_pixel_18 * (linear / 0.18f); // Quadrature sum of read noise, photon shot noise (sqrt(S) so simply not ```
2025-05-09 11:03:34
embarrassing
2025-05-09 11:03:54
but if it fixes the discrepancy, Iโ€™ll feel more comfortable about submitting my estimation tool