|
Quackdoc
|
2023-06-19 06:17:05
|
the capability should be there, but it should be restricted to a user controllable degree
|
|
2023-06-19 06:17:58
|
even from the point of general use standpoint, a bright image could make it hard to focus on the rest of the page so normalization is good there anyway
|
|
|
_wb_
|
2023-06-19 06:29:03
|
to me it's similar to pages that autoplay sound - it's unexpected sensory input which can be annoying (and even embarrassing when others are around)
|
|
|
jonnyawsom3
|
|
_wb_
if I would have designed QR codes, I would have made them invariant to flipping all bits, i.e. make inverted QR codes ("dark mode") also work. That should help to make it less bright
|
|
2023-06-19 06:43:27
|
Depends on how dense the code is, but here's an inverted one and it should still work
|
|
|
_wb_
|
2023-06-19 06:54:11
|
interesting, with one QR code reader I can read that fine, the other doesn't detect it to be a QR code
|
|
|
yurume
|
2023-06-19 07:23:00
|
while I'm not sure if QR specification itself allows that, I think there is no other technical reason inverted QR code can't work
|
|
2023-06-19 07:23:18
|
it's mostly a matter of finding finder and alignment patterns
|
|
|
derberg
|
2023-06-19 11:21:34
|
In general it seems like optic recognition of inverted things is often bad.
|
|
2023-06-19 11:21:41
|
Even tesseract has problems with that
|
|
|
Traneptora
|
2023-06-19 01:29:29
|
https://cdn.discordapp.com/attachments/1006242291968655481/1120336171449450556/Tumblr_l_116901570484102.png
|
|
|
lonjil
|
|
fab
|
|
diskorduser
|
2023-06-19 03:54:26
|
Time to spill avif compression.
|
|
|
_wb_
|
2023-06-19 04:49:05
|
Spilling avif compression on a subtly textured background like wood, concrete, marble, or a carpet could be interesting
|
|
|
gb82
|
2023-06-19 09:22:34
|
if I'm using 8-bit JPEG for example, I'm not able to reach 16.7 million colors (as advertised on sites like apple.com correlating with '8-bit color') because only Cb & Cr are responsible for color reproduction right? Meaning there's likely a substantial difference between 8-bit RGB & other color spaces in terms of color reproduction
|
|
|
spider-mario
|
2023-06-19 09:30:16
|
rgb(10, 10, 10) and rgb(118, 118, 118) count as “different colors” in those 16.7 million, so ycbcr(10, 128, 128) and ycbcr(118, 128, 128) would, too
|
|
2023-06-19 09:32:46
|
but the only way to have Y=0 or Y=255 is with R=G=B=those values, so chroma cannot vary for those
|
|
|
Traneptora
|
|
gb82
if I'm using 8-bit JPEG for example, I'm not able to reach 16.7 million colors (as advertised on sites like apple.com correlating with '8-bit color') because only Cb & Cr are responsible for color reproduction right? Meaning there's likely a substantial difference between 8-bit RGB & other color spaces in terms of color reproduction
|
|
2023-06-19 10:38:20
|
they're defining "color" to include luma here, not just chroma
|
|
2023-06-19 10:39:27
|
since RGB -> YCbCr is an invertible linear transformation, it's fair to treat them as equivalent for this purpose
|
|
|
gb82
|
2023-06-19 10:39:48
|
Okay that make sense. That’s what was confusing me
|
|
|
Traneptora
|
2023-06-19 10:40:08
|
do keep in mind that stuff like libjpeg will frequently convert YCbCr to RGB to you for convenience
|
|
2023-06-19 10:40:21
|
so internally being YCbCr isn't necessarily exposed
|
|
|
gb82
|
2023-06-19 10:40:58
|
I’m assuming an XYB -> RGB transformation is also reversible?
|
|
|
elfeïn
|
|
Traneptora
since RGB -> YCbCr is an invertible linear transformation, it's fair to treat them as equivalent for this purpose
|
|
2023-06-19 10:41:00
|
Does that mean 24bit RGB is the same as 24bit YCbCr?
|
|
|
gb82
|
|
elfeïn
Does that mean 24bit RGB is the same as 24bit YCbCr?
|
|
2023-06-19 10:41:22
|
Afaict they have the same range of color representation
|
|
|
Traneptora
|
2023-06-19 10:41:32
|
you'd have be be careful when you say "24-bit" because do you mean bits per channel, or bits per pixel?
|
|
|
elfeïn
|
2023-06-19 10:41:44
|
per pixel
|
|
|
gb82
|
2023-06-19 10:41:58
|
So 8 BPC?
|
|
|
elfeïn
|
2023-06-19 10:42:01
|
but the actual number of bits doesn't matter
|
|
|
Traneptora
|
2023-06-19 10:42:11
|
there's also range issues, many video-based things that work in YCbCr will use limited-range
|
|
|
elfeïn
|
2023-06-19 10:42:14
|
just so long as they're the same, is it the same colors?
|
|
|
gb82
|
|
Traneptora
there's also range issues, many video-based things that work in YCbCr will use limited-range
|
|
2023-06-19 10:42:26
|
Which is essentially 7 BPC right?
|
|
|
Traneptora
|
|
elfeïn
just so long as they're the same, is it the same colors?
|
|
2023-06-19 10:43:07
|
RGB -> YCbCr is an invertible linear transformation. They aren't the "same" but they can be converted from one to another
|
|
2023-06-19 10:43:20
|
without precision loss
|
|
2023-06-19 10:43:41
|
(contrast with, say Linear Light -> sRGB, which is a *nonlinear* transformation)
|
|
|
elfeïn
|
2023-06-19 10:44:06
|
oh okay
|
|
|
gb82
|
2023-06-19 10:44:21
|
So JXL supports 8, 10, 12, 16, 24, & 32 BPC right?
|
|
2023-06-19 10:44:49
|
& the 32 BPC mode is float only, so greater precision in a particular section of the colorspace right?
|
|
|
Traneptora
|
2023-06-19 10:44:57
|
it really depends
|
|
2023-06-19 10:45:03
|
modular is entirely integer
|
|
2023-06-19 10:45:18
|
and in theory uses up to 32-bit integers, but they're not scaled
|
|
|
gb82
|
2023-06-19 10:45:20
|
& JXL can mix and match modular & VarDCT blocks in the same image?
|
|
|
Traneptora
|
2023-06-19 10:45:22
|
they're just, whatever is coded, is.
|
|
2023-06-19 10:45:29
|
for modular, that is
|
|
|
elfeïn
|
2023-06-19 10:45:58
|
I thought JXL supports arbitrary channel bits up to some int?
|
|
|
Traneptora
|
2023-06-19 10:45:59
|
VarDCT strictly speaking doesn't "have" an internal precision, since the specification only defines how to decode VarDCT in terms of real numbers
|
|
|
gb82
|
2023-06-19 10:46:01
|
In practice, the maximum BPC for a jpeg xl image would be 24 or 32?
|
|
|
Traneptora
|
|
gb82
|
2023-06-19 10:46:34
|
Okay, but the fact that it is floating point only doesn’t change anything?
|
|
|
Traneptora
|
2023-06-19 10:46:45
|
well for modular specifically it's an entirely integer mode
|
|
2023-06-19 10:46:50
|
no real number arithmetic
|
|
|
gb82
|
2023-06-19 10:46:53
|
For VarDCT
|
|
|
Traneptora
|
2023-06-19 10:47:13
|
VarDCT internal precision is really whatever you choose to use when you decode it
|
|
|
gb82
|
|
gb82
& JXL can mix and match modular & VarDCT blocks in the same image?
|
|
2023-06-19 10:47:15
|
This is what confuses me
|
|
|
Traneptora
|
2023-06-19 10:47:39
|
essentially the way VarDCT encodes real numbers is by encoding raw integers and a number of scale factors
|
|
|
|
veluca
|
2023-06-19 10:47:41
|
in practice current implementations will be ~24 bpc at most, which is likely enough for the foreseeable future 😄
|
|
|
elfeïn
|
2023-06-19 10:48:32
|
What is HDR?
|
|
|
Traneptora
|
2023-06-19 10:48:34
|
the final entropy-coded value for a VarDCT coefficient ends up being an integer, but since there's a good number of scale factors in a numerator and a denominator, as well as an inverse cosine transform, you will end up getting a value between 0.0 and 1.0, as a real number
|
|
2023-06-19 10:48:54
|
basically you have integers and some reconstruction instructions to get them to sample values between 0.0 and 1.0
|
|
|
gb82
|
2023-06-19 10:49:12
|
I’m more familiar with how AVIF tries to compute differences, & CfL means that rounding is less precise at 8 bits so 10 bit AVIF is a marked increase in quality over 8 bit even with an 8 bit source. I’m assuming JXL doesn’t have these oddities
|
|
|
Traneptora
|
2023-06-19 10:49:25
|
how much precision you choose to use when decoding those instructions is really up to you
|
|
|
|
veluca
|
2023-06-19 10:49:43
|
well, up to conformance margins 😛
|
|
|
Traneptora
|
2023-06-19 10:49:47
|
yea
|
|
2023-06-19 10:49:55
|
if you're too imprecise you end up breaking spec
|
|
2023-06-19 10:50:05
|
but you could, say, use 32-bit floats, 16-bit floats, or even doubles
|
|
2023-06-19 10:50:15
|
the spec defines tolerance
|
|
|
gb82
|
|
Traneptora
the final entropy-coded value for a VarDCT coefficient ends up being an integer, but since there's a good number of scale factors in a numerator and a denominator, as well as an inverse cosine transform, you will end up getting a value between 0.0 and 1.0, as a real number
|
|
2023-06-19 10:50:24
|
So internally, JXL doesn’t have fixed bit depth targets is what I’m understanding
|
|
|
Traneptora
|
2023-06-19 10:50:30
|
yea, the bit depth tag is a suggestion
|
|
|
gb82
|
2023-06-19 10:50:40
|
Damn, that’s cool
|
|
|
Traneptora
|
2023-06-19 10:50:50
|
it's often used to represent the bit depth of the input
|
|
2023-06-19 10:51:00
|
so you don't try to decode more information than was there originally
|
|
2023-06-19 10:51:18
|
since decoding an 8-bit JXL to a 16-bit buffer doesn't really help you if it started as an 8-bit image
|
|
|
gb82
|
2023-06-19 10:52:06
|
And the VarDCT doesn’t have integer frequency coefficients like JPEG does, it has fractions for more precision? Before entropy coding
|
|
|
Traneptora
|
2023-06-19 10:52:08
|
do note, this is with lossy and XYB encoding
|
|
2023-06-19 10:52:24
|
and VarDCT, specifically
|
|
|
elfeïn
|
|
Traneptora
so you don't try to decode more information than was there originally
|
|
2023-06-19 10:52:27
|
Wait, so that option is set based on input? What if 1bpp works better- could someone design their encoder to automatically select the minimum number of bits?
|
|
|
Traneptora
|
2023-06-19 10:52:33
|
in modular mode, the bit depth tag matters, as the integers are coded as-is
|
|
2023-06-19 10:52:38
|
so 4096 just becomes 4096
|
|
2023-06-19 10:52:52
|
you need to tag the image as 12-bit to map 4095 to "full white"
|
|
2023-06-19 10:53:03
|
if you tag it as 16-bit, 4095 is 1/16 dark gray
|
|
2023-06-19 10:53:18
|
cause in modular, in particular lossless modular, it's coded as-is
|
|
|
elfeïn
Wait, so that option is set based on input? What if 1bpp works better- could someone design their encoder to automatically select the minimum number of bits?
|
|
2023-06-19 10:54:04
|
what do you mean?
|
|
|
elfeïn
|
|
Traneptora
what do you mean?
|
|
2023-06-19 10:54:29
|
What if the source bit depth is oversize for the information?
|
|
|
Traneptora
|
2023-06-19 10:54:51
|
it depends, there's some internal modular coding tricks used to help in that case
|
|
2023-06-19 10:55:09
|
for example, if you feed it an 8-bit image that only uses two colors, the libjxl encoder will detect that
|
|
2023-06-19 10:55:16
|
and internally use a palette transform
|
|
|
elfeïn
|
2023-06-19 10:55:58
|
oh nice
|
|
|
gb82
|
2023-06-19 10:58:13
|
That’s super cool
|
|
|
_wb_
|
|
gb82
if I'm using 8-bit JPEG for example, I'm not able to reach 16.7 million colors (as advertised on sites like apple.com correlating with '8-bit color') because only Cb & Cr are responsible for color reproduction right? Meaning there's likely a substantial difference between 8-bit RGB & other color spaces in terms of color reproduction
|
|
2023-06-20 05:02:43
|
8-bit YCbCr are about 4 million colors (the volume is kind of like a pyramid on top of an inverted pyramid, meaning about 3/4 of the space is empty). But JPEG uses more precision internally and you can decode it to higher precision YCbCr — this is what jpegli does but libjpeg-turbo doesn't.
|
|
|
gb82
|
2023-06-20 05:04:16
|
Does mozjpeg do this?
|
|
|
_wb_
|
2023-06-20 05:07:28
|
mozjpeg is a libjpeg-turbo fork, it also uses 8-bit YCbCr
|
|
|
gb82
|
2023-06-20 05:16:27
|
I though all of JPEG’s frequency coefficients were internally coded from -128 to 127 which is 8 bit
|
|
|
_wb_
|
2023-06-20 05:17:06
|
YCbCr and XYB are mathematically reversible if you do them on real numbers (so infinite precision). With finite precision (quantizing to integers each time) they're not reversible though. YCbCr is linear (just a matrix multiply) so the precision loss is uniform, XYB is nonlinear so precision loss is different in the darks than in the brights.
|
|
|
gb82
I though all of JPEG’s frequency coefficients were internally coded from -128 to 127 which is 8 bit
|
|
2023-06-20 05:17:42
|
No, the coefficients are 12-bit
|
|
|
gb82
|
2023-06-20 05:18:07
|
Oh, so why is JPEG limited to 8 bit color? Just how it was standardized?
|
|
|
_wb_
|
2023-06-20 05:18:15
|
This is why lossless recompression of jpeg is "more lossless" than converting a jpeg to a png
|
|
|
gb82
|
2023-06-20 05:19:07
|
So losslessly transcoded JPEGs are 12-bit JXL?
|
|
2023-06-20 05:20:26
|
I watched the Computerphile series to understand JPEG, that’s where my background knowledge comes from. I’m not sure how much they oversimplified
|
|
|
_wb_
|
|
gb82
Oh, so why is JPEG limited to 8 bit color? Just how it was standardized?
|
|
2023-06-20 05:20:52
|
That's just what the popular implementations did. Also the original JPEG spec actually has a mode for 12-bit input which uses 16-bit coefficients internally. But that didn't become part of the "de facto" jpeg standard, just like lossless mode, arithmetic coding, hierarchical jpeg etc
|
|
|
gb82
|
2023-06-20 05:21:42
|
So jpegli is *actual* 12 bit & standard decoders understand this? Or it can just operate with a >8 bit source
|
|
2023-06-20 05:21:54
|
And I’m assuming this is RGB jpegli, not xyb
|
|
2023-06-20 05:22:07
|
Or YCbCr jpegli probably
|
|
|
_wb_
|
|
gb82
So losslessly transcoded JPEGs are 12-bit JXL?
|
|
2023-06-20 05:24:44
|
JXL in vardct mode has kind of arbitrary precision, quantized coefficients are always integers (12-bit ones in case of recompressed jpegs, but the spec doesn't care about that range, it just has to be representable in int32_t) but the dequant factors can be anything (in case of recompressed jpegs they just happen to be integers) so the actual precision can be almost arbitrary.
|
|
|
gb82
|
2023-06-20 05:26:07
|
Oh wow. And that’s just a principle of the VarDCT generally I’m assuming, is inherently arbitrary precision that allows essentially any bit depth you want
|
|
2023-06-20 05:27:14
|
Or at least before quantization
|
|
|
elfeïn
|
2023-06-20 05:27:36
|
So you could have as much information you want distributed over any bit depth you want for the same size images?
|
|
|
_wb_
|
|
gb82
So jpegli is *actual* 12 bit & standard decoders understand this? Or it can just operate with a >8 bit source
|
|
2023-06-20 05:29:13
|
It's producing 8-bit jpegs (which has 12-bit coefficients) so existing decoders can decode them (12-bit jpeg with 16-bit coeffs is basically dead letter in the 1992 spec). It just does everything with float precision instead of doing it the libjpeg-turbo way which is converting 8-bit rgb to 8-bit YCbCr and then doing DCT on that also in integer arithmetic so with rounding errors, and all the rounding errors are repeated on decode so there are 4 places where things get quantized to integers, with precision loss that can be avoided.
|
|
|
gb82
|
2023-06-20 05:30:15
|
So the floats are stored in the quant table & the decoder rounds them to 8 bit ints?
|
|
|
_wb_
|
2023-06-20 05:31:26
|
In jpegli the rounding to ints is only done at the one place where it is unavoidable: when deciding which quantized coefficients to write in the bitstream.
|
|
|
gb82
|
2023-06-20 05:32:43
|
As far as I understand, the bitstream is required to have 8 bit ints in the quant tables for each channel. Why would libjpeg go through what sounds like extra work for a worse implementation
|
|
|
_wb_
|
2023-06-20 05:33:22
|
In the usual jpeg implementations like libjpeg-turbo, rounding to ints happens in several intermediate stages too, which makes errors accumulate. For 8-bit and typical qualities that is fine, but if you want to get the most out of the old jpeg then you have to avoid that.
|
|
|
gb82
|
2023-06-20 05:34:10
|
So it is in the intermediate stages, that makes sense. I still don’t understand why they’d do it that way though, jpegli sounds more sensible where you’re only rounding when necessary
|
|
|
_wb_
|
2023-06-20 05:40:16
|
The libjpeg-turbo way is faster on hardware which doesn't have good floating point support...
|
|
|
username
|
2023-06-20 05:43:30
|
in the changelog for the recent beta versions of libjpeg-turbo it says this: ```"The accurate DCT/IDCT algorithms are now the default for both compression and decompression, since the "fast" algorithms are considered to be a legacy feature. (The "fast" algorithms do not pass the ISO compliance tests, and those algorithms are not any faster than the accurate algorithms on modern x86 CPUs.)"``` does this affect anything or is it unrelated?
|
|
|
_wb_
|
2023-06-20 07:03:56
|
I think they have 3 versions of DCT/IDCT in libjpeg-turbo:
- float
- fast inaccurate int
- more accurate int (default)
|
|
|
spider-mario
|
|
elfeïn
What is HDR?
|
|
2023-06-20 09:14:46
|
it’s the ability to simultaneously reproduce very dark and very bright tones
|
|
2023-06-20 09:15:08
|
it stands for “high dynamic range”
|
|
2023-06-20 09:15:19
|
dynamic range being the range of signal levels that can be represented
|
|
|
VcSaJen
|
2023-06-20 09:25:56
|
For videogames there's different HDR: light is calculated in high dynamic, and then game simulates eye accomodation/camera exposure in SDR. (Well, regular HDR is also there, so sometimes things get confusing with two "HDR" terms)
|
|
|
Tirr
|
2023-06-20 09:32:16
|
it sounds like HDR tone mapped to SDR
|
|
|
spider-mario
|
2023-06-20 09:37:05
|
HDR can be present or absent at various stages: capture (or synthesis), processing, physical reproduction
|
|
2023-06-20 09:38:04
|
the term “HDR photography” has long been associated with just capture HDR which is then processed for SDR output, but hopefully, this will change now that it’s becoming increasingly practical to keep photos HDR throughout
|
|
2023-06-20 09:42:27
|
https://iopscience.iop.org/book/mono/978-0-7503-2558-5 describes it in terms of the following “stages”: scene DR, ADC DR, raw DR, image DR, display DR
|
|
|
gb82
|
2023-06-20 06:12:39
|
Starting with a normal raw photo, can you export it as HDR after editing? Is there a benefit to this or is there a specific HDR workflow for real HDR images?
|
|
|
spider-mario
|
2023-06-20 06:44:48
|
you can, and there may well be a benefit
|
|
2023-06-20 06:45:23
|
many cameras have more dynamic range than SDR can accomodate, even within a single shot without bracketing
|
|
2023-06-20 06:47:33
|
both https://spider-mar.io/hdr/Weesen-P3-HLG.png, https://spider-mar.io/hdr/salon.jxl (/.avif) and https://spider-mar.io/hdr/piscine.jxl (/.avif) were made in that way
|
|
2023-06-20 06:48:37
|
(or wait, maybe not salon, let me check)
|
|
|
gb82
|
2023-06-20 06:55:05
|
What's the workflow like? I'm very interested, esp considering I always export my photos as jxl
|
|
|
spider-mario
|
|
spider-mario
(or wait, maybe not salon, let me check)
|
|
2023-06-20 06:55:38
|
I’m actually not fully sure, it seems I shot two frames but only used one of them?
|
|
|
gb82
What's the workflow like? I'm very interested, esp considering I always export my photos as jxl
|
|
2023-06-20 06:57:44
|
slightly convoluted for now (export as EXR, for example using darktable, then grade the EXR in DaVinci Resolve, export as still in TIFF, and compress the TIFF to JXL/AVIF/whatever), but it may become more convenient once it’s implemented in Lightroom
|
|
2023-06-20 06:57:55
|
https://helpx.adobe.com/camera-raw/using/hdr-output.html
> Note: High Dynamic Range Output is a Technology Preview feature in Camera Raw. This means that the feature is still under development and not yet final. We are actively working on several areas, including support for Windows, and Lightroom, user interface improvements, and better interoperability with Photoshop and other apps.
|
|
|
gb82
|
|
spider-mario
slightly convoluted for now (export as EXR, for example using darktable, then grade the EXR in DaVinci Resolve, export as still in TIFF, and compress the TIFF to JXL/AVIF/whatever), but it may become more convenient once it’s implemented in Lightroom
|
|
2023-06-20 06:59:16
|
I'm fully in with Darktable, right now I've been exporting as 16-bit PNG & compressing to `-d 1.0` jxl
|
|
|
spider-mario
|
2023-06-20 07:00:12
|
I suspect it may be some time before darktable fully supports a self-contained HDR workflow, though I wouldn’t put it behind them to at least try
|
|
2023-06-20 07:01:59
|
I expect that they will tweak the filmic module so that it can work for that
|
|
2023-06-20 07:02:50
|
the challenge will likely be to actually get the monitor to display HDR (especially given that it’s impossible on X11 and may take a while in Wayland)
|
|
2023-06-20 07:04:32
|
from what I remember, the macOS version of darktable can’t display colors outside of sRGB, because the stack of libraries that they use won’t let them signal another content colorspace to the OS
|
|
2023-06-20 07:05:15
|
so it’s not impossible that Windows might be the first OS where darktable can do that (if the software stack doesn’t impose the same limitation as it does on macOS…)
|
|
2023-06-20 07:05:24
|
which I think is also the situation with Krita?
|
|
|
Fraetor
|
|
spider-mario
the challenge will likely be to actually get the monitor to display HDR (especially given that it’s impossible on X11 and may take a while in Wayland)
|
|
2023-06-20 10:08:25
|
It will probably still take a while, but I think Red Hat's desktop team are now actively working on HDR in wayland.
https://lwn.net/ml/fedora-devel/20230601183054.12057.45907@mailman01.iad2.fedoraproject.org/
|
|
|
lonjil
|
2023-06-23 09:37:13
|
https://curia.europa.eu/jcms/upload/docs/application/pdf/2023-06/cp230110en.pdf
|
|
2023-06-23 09:37:41
|
> According to Advocate General Medina European Harmonised Technical Standards must be freely available without charge because of their particular legal nature as acts that form part of EU law
|
|
2023-06-23 09:45:49
|
Note that while the above is not legally binding, it is legal advice to the Court of Justice which is currently handling a case about technical standards and the law
|
|
2023-06-23 09:46:43
|
while it is unlikely to to affect JPEG, if it goes the right way it is possible that quite a few ISO standards would be forced to be freely available.
|
|
|
_wb_
|
2023-06-23 09:52:49
|
That would be great
|
|
|
VcSaJen
|
2023-06-23 10:47:31
|
Lonnie: Adobe, Apryse and Foxit sponsored free publication of pdf ISO standard:
https://pdfa.org/sponsored-standards/
So if JPEG XL finds similar-sized sponsors, it will be possible
|
|
|
|
afed
|
2023-06-30 09:31:23
|
https://github.com/rainerzufalldererste/hypersonic-rANS
|
|
|
yoochan
|
2023-07-01 11:06:12
|
Is he known as a user of this discord?
|
|
2023-07-02 01:17:25
|
I invited him to come here and have a chat 🙂 https://github.com/rainerzufalldererste/hypersonic-rANS/issues/3
|
|
|
derberg
|
2023-07-02 05:27:07
|
I don't think Discord should be called a forum
|
|
|
yoochan
|
2023-07-02 05:33:52
|
In the latin sense of the word, it is... But I'm not a native speaker and it was the first word that came to my fingers 😅
|
|
|
Demez
|
2023-07-02 07:33:36
|
I love the title of the issue
|
|
|
|
afed
|
2023-07-04 05:01:01
|
https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/3.0.0
|
|
2023-07-04 11:54:00
|
fairly new and highest quality service for vectorization that I have seen so far, probably something similar would be useful for jxl splines, although they are much more limited for complex images
https://vectorizer.ai/
|
|
|
diskorduser
|
|
afed
fairly new and highest quality service for vectorization that I have seen so far, probably something similar would be useful for jxl splines, although they are much more limited for complex images
https://vectorizer.ai/
|
|
2023-07-05 05:51:30
|
Good. Works nicely
|
|
|
jonnyawsom3
|
2023-07-05 04:17:38
|
Tried using svg2jxl on the output but unfortunately the 800KB tree I got out was too much for jxl_from_tree to handle, only output a file once I truncated it down to 30KB or so
|
|
|
_wb_
|
2023-07-05 04:42:30
|
did it produce an error? I wonder why it cannot handle large amounts of splines on the encode side
|
|
|
derberg
|
2023-07-05 05:02:18
|
It could be a problem with URL lenght
|
|
2023-07-05 05:03:44
|
Tho now I see an optional output parameter so it can really convert to JXL on the device?
Edit: Ah, it prints what can be pasted into the jxl art website. Nice to know.
|
|
|
jonnyawsom3
|
2023-07-05 05:04:03
|
No error, just silently failed with no output. svg2jxl exports the tree as a txt file (used the jxl extension, but it was just raw text inside)
|
|
|
_wb_
|
2023-07-05 08:40:37
|
Try a debug build, release builds are kind of silent...
|
|
|
jonnyawsom3
|
2023-07-05 09:04:29
|
Here's the text file with the tree inside. Not sure where to get a debug build, and looking at the code for the jxl_from_tree, it looked like there wasn't much error handling and no verbosity anyway
|
|
2023-07-06 04:51:43
|
Turns out it wasn't silently erroring, it was completely crashing
|
|
|
DZgas Ж
|
2023-07-07 09:53:40
|
what the f
|
|
|
nec
|
2023-07-07 02:51:18
|
Yea, I was a bit surprised too
|
|
|
derberg
|
2023-07-07 03:36:27
|
Good thing I switched to codeberg (not affiliated with me) for my newer projects ( :
|
|
|
DZgas Ж
|
2023-07-07 08:10:17
|
NO MORE fair use 1984
|
|
|
Quackdoc
|
|
derberg
Good thing I switched to codeberg (not affiliated with me) for my newer projects ( :
|
|
2023-07-07 08:29:31
|
I try to like codeberg but the interface I really dont like, I wouldnt mind hosting my own gitlab but thats a little much
|
|
|
derberg
|
2023-07-07 08:33:21
|
They use a gitea fork called forgejo (<https://blog.codeberg.org/codeberg-launches-forgejo.html>)
|
|
|
Quackdoc
I try to like codeberg but the interface I really dont like, I wouldnt mind hosting my own gitlab but thats a little much
|
|
2023-07-07 08:41:42
|
I wonder if there is an option to change the interface a bit (I haven't found one so far besides themes, language setting and hiding a few things).
If such an option doesn't exist, an issue could be created: https://codeberg.org/Codeberg/Community/issues
|
|
2023-07-07 08:45:53
|
Tho using a browser addon to apply some custom css is also an option
|
|
|
w
|
2023-07-07 09:24:44
|
GitHub is social media
|
|
2023-07-07 09:25:25
|
if I just wanted git I'd use nothing
|
|
|
Nova Aurora
|
|
DZgas Ж
what the f
|
|
2023-07-07 09:35:53
|
That real?
|
|
|
Fraetor
|
|
Nova Aurora
That real?
|
|
2023-07-07 10:01:20
|
Unfortunately so: https://github.blog/changelog/2023-06-07-code-search-now-requires-login/
|
|
|
derberg
|
2023-07-07 10:28:52
|
In a few years they might forbid repo cloning without a GitHub account.
|
|
|
BlueSwordM
|
|
derberg
In a few years they might forbid repo cloning without a GitHub account.
|
|
2023-07-08 06:13:31
|
It would then kill itself in the process 😂
|
|
|
Quackdoc
|
2023-07-08 06:20:26
|
it's a massive shame since gitlab's search is aids, gitea doesnt really have one, and not to mention discoverability on github is excelent, a shame to see it die, oh well, time to make gitlab suck less I guess
|
|
|
w
|
2023-07-08 06:30:55
|
i don't think it's dying any time soon
|
|
2023-07-08 06:31:05
|
i imagine gitlab and alternatives would die before
|
|
|
Quackdoc
|
2023-07-08 06:33:25
|
i dunno, then been doing a lot of stupid stuff lately, if gitlab had better discoverability I would swap to it
|
|
|
w
|
2023-07-08 06:36:18
|
that's what i mean by github is social media
|
|
2023-07-08 06:36:27
|
gitlab simply won't
|
|
2023-07-08 06:36:30
|
so it will stay sucky
|
|
2023-07-08 06:38:14
|
honestly, I don't see the point of gitlab
|
|
|
Quackdoc
|
2023-07-08 06:39:31
|
its self hostable which is really nice
|
|
|
w
|
2023-07-08 06:39:40
|
you dont need gitlab for git
|
|
|
Quackdoc
|
2023-07-08 06:39:50
|
its also a lot better for medium scale projects
|
|
|
w
|
2023-07-08 06:40:14
|
so organizations would rather just have its own git instance
|
|
2023-07-08 06:40:36
|
and for medium to large, gerrit also exists
|
|
|
Quackdoc
|
2023-07-08 06:40:51
|
I cant stand gerrit
|
|
2023-07-08 06:41:01
|
Bliss wants to migrate to gerrit and I really dont want them to xD
|
|
|
w
|
2023-07-08 06:41:09
|
it solves a ton of problems git has
|
|
|
Quackdoc
|
2023-07-08 06:44:09
|
I prefer good old cgit over gerrit
|
|
2023-07-08 06:44:38
|
but gitlab solves a lot of problems, for one it actually has a good issue tracker
|
|
2023-07-08 06:45:00
|
having a close tie to issue tracking and code PRs are such an underrated feature
|
|
|
w
|
2023-07-08 06:45:23
|
prs are a mistake
|
|
|
Quackdoc
|
2023-07-08 06:45:39
|
it just scales really well for medium projects, something like the linux kernel would be stretching it tho
|
|
|
Fraetor
|
2023-07-08 11:23:42
|
Having issue and pull/merge requests is a really nice workflow for most projects.
|
|
|
VcSaJen
|
2023-07-08 11:51:51
|
Git forges are basically industry standard by now, both in open source and closed source
|
|
|
Jim
|
|
DZgas Ж
what the f
|
|
2023-07-08 12:19:10
|
I'm surprised it took them that long to block it off. Search functionality is one of the more memory & compute-intensive tasks for a website - especially when there are billions or trillions of entries to search through. Allowing public bots, scrapers, and non-logged in users to run searches tends to increase costs dramatically.
|
|
|
DZgas Ж
|
|
Jim
I'm surprised it took them that long to block it off. Search functionality is one of the more memory & compute-intensive tasks for a website - especially when there are billions or trillions of entries to search through. Allowing public bots, scrapers, and non-logged in users to run searches tends to increase costs dramatically.
|
|
2023-07-08 12:20:57
|
this is a single repository search.
|
|
|
Jim
|
2023-07-08 12:23:11
|
Really no different - a single repository can have millions or tens of millions of records: files, commits, pull requests, issues, wiki pages, versions of any of these, etc.
|
|
|
VcSaJen
|
2023-07-08 01:03:27
|
They should enable search on forks and branches. People now fork locally then upload to new repository to circumvent this lame limitation.
|
|
|
w
|
2023-07-08 01:03:30
|
search is VERY expensive
|
|
|
DZgas Ж
|
|
Jim
Really no different - a single repository can have millions or tens of millions of records: files, commits, pull requests, issues, wiki pages, versions of any of these, etc.
|
|
2023-07-08 01:06:01
|
Really different - searching through a single repository has never been a computational problem. The reason why it was suddenly banned is complete bullshit. There are no excuses. Now, to search by code, I have to download the entire repository in zip and do a code search locally on my PC.
|
|
|
VcSaJen
|
2023-07-08 01:08:18
|
It sounds like there's no "single repository" search now. There's "global search, filter out repositories with names different than this"
|
|
|
w
|
2023-07-08 01:11:00
|
search through a single respository is very expensive
|
|
|
Jim
|
|
DZgas Ж
Really different - searching through a single repository has never been a computational problem. The reason why it was suddenly banned is complete bullshit. There are no excuses. Now, to search by code, I have to download the entire repository in zip and do a code search locally on my PC.
|
|
2023-07-08 01:20:58
|
I've worked in web app development for decades and I can tell you that it is expensive. Not as expensive as something like AI - though some search engines are now implementing AI parts. In fact, Github has a blog where many posts talk about their ongoing changes and improvements to their search infrastructure. Just because you become frustrated by a service making a change doesn't mean it was done with malicious intent. With every company out there reducing costs it was likely done as part of that change. I'd also appreciate it if you stopped acting as if you are an expert at everything while giving misinformation.
|
|
|
DZgas Ж
|
|
Jim
I've worked in web app development for decades and I can tell you that it is expensive. Not as expensive as something like AI - though some search engines are now implementing AI parts. In fact, Github has a blog where many posts talk about their ongoing changes and improvements to their search infrastructure. Just because you become frustrated by a service making a change doesn't mean it was done with malicious intent. With every company out there reducing costs it was likely done as part of that change. I'd also appreciate it if you stopped acting as if you are an expert at everything while giving misinformation.
|
|
2023-07-08 01:23:33
|
Of course I am an expert in everything, but who told you that? This is the first time I've seen people talk about me like that
|
|
|
Jim
I've worked in web app development for decades and I can tell you that it is expensive. Not as expensive as something like AI - though some search engines are now implementing AI parts. In fact, Github has a blog where many posts talk about their ongoing changes and improvements to their search infrastructure. Just because you become frustrated by a service making a change doesn't mean it was done with malicious intent. With every company out there reducing costs it was likely done as part of that change. I'd also appreciate it if you stopped acting as if you are an expert at everything while giving misinformation.
|
|
2023-07-08 01:26:54
|
Understand my argument. The developers of github did not redo the function, did not optimize it, they did not do research on how it would be possible to do code search in any other way, did not create new technologies. They just banned it, removed the function for ordinary people. What kind of work can we talk about here? A completely disgusting and incompetent decision. And of course I will strike it. Because for decades there has not been a hint that this Suddenly causes problems. And then at once they took and removed the function completely.
Do you have any idea how many possible solutions there were besides that? I would even be willing to solve the captcha with every code search. But github's decision is unworthy of my respect.
|
|
|
Jim
I've worked in web app development for decades and I can tell you that it is expensive. Not as expensive as something like AI - though some search engines are now implementing AI parts. In fact, Github has a blog where many posts talk about their ongoing changes and improvements to their search infrastructure. Just because you become frustrated by a service making a change doesn't mean it was done with malicious intent. With every company out there reducing costs it was likely done as part of that change. I'd also appreciate it if you stopped acting as if you are an expert at everything while giving misinformation.
|
|
2023-07-08 01:27:41
|
> development for decades
> is expensive
This is your personal experience.
Will there be real arguments?
|
|
|
Traneptora
|
2023-07-08 01:28:36
|
just log in bro
|
|
|
DZgas Ж
|
|
Traneptora
just log in bro
|
|
2023-07-08 01:28:50
|
fuck them.
|
|
|
Traneptora
|
2023-07-08 01:29:08
|
?
|
|
2023-07-08 01:29:34
|
it's clearly designed to mitigate bots and scrapers
|
|
|
DZgas Ж
|
2023-07-08 01:29:39
|
To degrade the use of the platform to increase the number of registrations is an abomination
|
|
|
Traneptora
|
2023-07-08 01:30:13
|
that's obviously not the goal
|
|
|
DZgas Ж
|
|
Traneptora
it's clearly designed to mitigate bots and scrapers
|
|
2023-07-08 01:31:01
|
Soon it will become a universal excuse
|
|
|
Traneptora
|
2023-07-08 01:31:18
|
don't slippery slope it
|
|
|
DZgas Ж
|
|
Traneptora
don't slippery slope it
|
|
2023-07-08 01:32:22
|
one day I went to github to search for repositories there by name. And she told me that you can't look for ANYTHING here without registration at all. Not a single word. - a garbage dump and not a platform
|
|
2023-07-08 01:33:21
|
by the way 👆 gitlab now
|
|
|
VcSaJen
|
2023-07-08 01:34:04
|
They're just gotten bigger than they can reliably maintain. This is the first sign of the end.
|
|
|
DZgas Ж
|
2023-07-08 01:35:42
|
how do I download all existing github repositories? where is the download button?
|
|
2023-07-08 01:37:43
|
perhaps if github himself had made some 10,000 terabytes of torrent with all repositories at once, then there would have been no bots looking for something on the site. m?
|
|
|
VcSaJen
|
|
VcSaJen
They're just gotten bigger than they can reliably maintain. This is the first sign of the end.
|
|
2023-07-08 01:45:10
|
I doubt that they'll permanently delete old repositories like gitlab did, but it's possible that they'll put them all in a cold storage, and you'll have to pay to retrieve it.
|
|
|
Jim
|
|
VcSaJen
I doubt that they'll permanently delete old repositories like gitlab did, but it's possible that they'll put them all in a cold storage, and you'll have to pay to retrieve it.
|
|
2023-07-08 01:46:25
|
GItlab reversed their decision on that.
|
|
|
DZgas Ж
|
2023-07-08 01:50:56
|
obvious why
|
|
|
VcSaJen
I doubt that they'll permanently delete old repositories like gitlab did, but it's possible that they'll put them all in a cold storage, and you'll have to pay to retrieve it.
|
|
2023-07-08 01:51:22
|
this will never happen
|
|
|
VcSaJen
|
2023-07-08 01:53:46
|
Free Github Actions likely will be first to go.
|
|
2023-07-08 01:54:18
|
Github Releases after that.
|
|
|
DZgas Ж
|
|
Traneptora
|
2023-07-08 02:04:24
|
you guys are all gloom and doom about them trying to restrict their infrastructure to actual users rather than bots
|
|
|
Jim
|
2023-07-08 02:06:40
|
Since actions can potentially use a lot of cycles depending on what they do, it could be scaled back or removed at some point if finances get worse.
I highly doubt releases will get removed. That's the main way many know when new versions are available. There would likely be outrage and it doesn't look like it takes much to make a release; Mostly just zip the files from a given tag, run any associated actions, and produce a page with whatever info/changelog the manager sees fit.
|
|
2023-07-08 02:26:00
|
I don't think people are doom and gloom. Taking away existing features that were, until recently, seen as a huge no-go and potentially a business killer. Now it's become common so people have trouble discerning how many changes would be made, largely as a result of economic shifts.
|
|
|
w
|
2023-07-08 06:02:43
|
people are entitled
|
|
2023-07-08 06:03:04
|
same thing with the whole YouTube ads/premium thing
|
|
|
Traneptora
|
2023-07-08 06:21:28
|
~~for those who don't use adblock, anyway~~
|
|
|
DZgas Ж
|
2023-07-08 06:32:17
|
~~or you can just live in a country where Google has disabled all advertising at all~~
|
|
|
w
|
2023-07-08 07:04:44
|
I'm waiting for YouTube to fully block ad blockers so I have an excuse to get premium and also get the higher quality video
|
|
|
Traneptora
|
2023-07-08 07:36:48
|
if youtube makes adblock stop working I'll just stop using youtube
|
|
2023-07-08 07:36:56
|
it's completely unusable with ads and I'm poor
|
|
|
elfeïn
|
|
w
I'm waiting for YouTube to fully block ad blockers so I have an excuse to get premium and also get the higher quality video
|
|
2023-07-08 07:48:28
|
YouTube should have been nationalized.
|
|
2023-07-08 07:48:45
|
You can't change my mind on this.
|
|
2023-07-08 07:49:06
|
~~inb4 no politics~~
|
|
|
w
|
2023-07-08 07:49:06
|
you mean a public service?
|
|
2023-07-08 07:49:13
|
funded by taxes
|
|
|
elfeïn
|
2023-07-08 07:49:16
|
ye, paid for by taxes
|
|
2023-07-08 07:49:18
|
ye
|
|
|
w
|
2023-07-08 07:49:29
|
that's an option, can't disagree
|
|
|
elfeïn
|
2023-07-08 07:50:02
|
give it NASA budget
|
|
2023-07-08 07:52:04
|
NASA's budget is 58B$, which is 350$ per year per taxpayer.
|
|
|
w
|
2023-07-08 07:52:23
|
i guess a problem with that is the same as any other nationalized service being lack of competition
|
|
|
elfeïn
|
|
w
i guess a problem with that is the same as any other nationalized service being lack of competition
|
|
2023-07-08 07:52:42
|
Oh yeah? And what does YouTube compete with?
|
|
|
w
|
2023-07-08 07:52:53
|
uhh
|
|
2023-07-08 07:52:56
|
tiktok
|
|
|
elfeïn
|
2023-07-08 07:53:06
|
It's not the same kind of content.
|
|
2023-07-08 07:53:18
|
But yeah, they do compete.
|
|
2023-07-08 07:55:15
|
But the fact that they provide and *should* provide different services (hot take: YouTube shouldn't market shorts the way tiktok does) means that no innovation is happening in Video Content Creation and Streaming Service, only Shitpost Content Creation and Streaming.
|
|
2023-07-08 07:56:24
|
And even then, all they do is copy each other.
|
|
2023-07-08 07:56:43
|
NASA has a budget for RnD.
|
|
2023-07-08 07:57:08
|
So a national content platform could, too.
|
|
2023-07-08 08:16:38
|
They could pay all of their 100k subs content creators with half the budget.
|
|
2023-07-08 08:16:48
|
But I guess that's where this falls apart.
|
|
2023-07-08 08:17:12
|
Without a flexible income, it qould be harder to pay creators.
|
|
|
jonnyawsom3
|
2023-07-08 08:18:02
|
I guess that's what sponsors are doing already
|
|
2023-07-08 08:18:13
|
Also maybe <#806898911091753051>
|
|
|
elfeïn
|
|
elfeïn
They could pay all of their 100k subs content creators with half the budget.
|
|
2023-07-08 08:18:21
|
100k subs can make more than or up to 1800$/week, which times 306k (nunber of 100k subs creators) that's 28B$/year.
|
|
2023-07-08 08:18:23
|
o
|
|
|
Jim
|
|
elfeïn
But the fact that they provide and *should* provide different services (hot take: YouTube shouldn't market shorts the way tiktok does) means that no innovation is happening in Video Content Creation and Streaming Service, only Shitpost Content Creation and Streaming.
|
|
2023-07-08 08:27:56
|
I remember back in the 2010 timeframe, YouTube used to tell it's creators that unique, longer-form (5-20 minutes), high quality did the best. Now with shorts its to produce as much low-quality content that they can.
Granted, I also remember some asking if running more ads would get them more revenue. Their response was so little, it wouldn't be worth it. Now YT and other platforms have doubled and quadrupled the number of ads all while the creators see hardly any increase in revenue.
|
|
|
w
|
2023-07-08 08:33:51
|
I don't think it is an issue for creators. That's one of the main reasons people move off of twitch and tiktok to youtube.
|
|
2023-07-08 08:34:29
|
I'm pretty sure it's just the platform that isn't that profitable, hence the push to different model for monetization
|
|
2023-07-08 08:34:49
|
ad supported platforms just aren't a thing anymore/weren't ever a thing
|
|
2023-07-08 08:34:52
|
see twitter
|
|
2023-07-08 08:39:50
|
it's probably more sustainable if they cut bandwidth (something like maxing out at 480p)
|
|
2023-07-08 08:40:29
|
they are already trying that with the least friction (4k/higher bitrate for premium)
|
|
2023-07-08 08:41:37
|
there's the tie in to make it somewhat on topic
|
|
|
elfeïn
|
2023-07-08 10:29:23
|
Continues here :3
https://discord.com/channels/794206087879852103/806898911091753051/1127333609930502324
|
|
|
w
|
|
elfeïn
|
|
w
no
|
|
2023-07-08 10:37:06
|
>:3 wot
|
|
|
Fraetor
|
|
Traneptora
it's clearly designed to mitigate bots and scrapers
|
|
2023-07-09 12:14:45
|
Probably not with GitHub search, as the have an actually decent API, which includes search.
|
|
|
gb82
|
2023-07-09 07:03:44
|
what's the current meta for converting XYB JPEG to RGB PNG
|
|
|
Traneptora
|
|
gb82
what's the current meta for converting XYB JPEG to RGB PNG
|
|
2023-07-10 02:57:38
|
`ffmpeg -i xyb.jpg -vf libplacebo=color_primaries=bt709:color_trc=iec61966-2-1:format=gbrp rgb.png`
|
|
|
gb82
|
2023-07-10 02:58:02
|
Thank you
|
|
|
spider-mario
|
2023-07-10 08:36:47
|
(`color_trc=13` may be easier to remember)
|
|
|
nec
|
2023-07-13 09:25:11
|
When I decode with djxl into png, some software can't properly display colors and I get darker pictures like here. Original on the left, decoded on the right. Any way to fix it? I've tried different combinations of --color_space, but it's either the same or even worse. Currently I just decode to jpeg with -q 100 as temporal solution.
https://i.imgur.com/30MfCCz.png
|
|
|
yurume
|
2023-07-13 09:26:54
|
https://twitter.com/LukeGessler/status/1679211291292889100 lolol
|
|
|
spider-mario
|
|
nec
When I decode with djxl into png, some software can't properly display colors and I get darker pictures like here. Original on the left, decoded on the right. Any way to fix it? I've tried different combinations of --color_space, but it's either the same or even worse. Currently I just decode to jpeg with -q 100 as temporal solution.
https://i.imgur.com/30MfCCz.png
|
|
2023-07-13 10:11:37
|
would you have the original at hand? it sounds sort of related to https://github.com/libjxl/libjxl/issues/2289 but that should have been fixed
|
|
|
nec
|
|
spider-mario
would you have the original at hand? it sounds sort of related to https://github.com/libjxl/libjxl/issues/2289 but that should have been fixed
|
|
2023-07-13 04:29:20
|
Seems I figured out a bit. This particular color problem is related to my default windows photo viewer, it distorts colors a lot, while other software like photoshop or xnview displays it correctly. I actually was dealing more with another situation. If we take a color like R50 G100 B50 and save as q100 jpeg, it becomes 50/100/49. If we losslessly transcode it into jxl and decode as png, it's going to turn it back into 50/100/50. Because I was always decoding into png without looking if it's transcoded jpeg or not, it was giving me ssimulacra score around 93 even when I was expecting lossless. The score is 100 if I decode it into jpeg.
|
|
|
gb82
|
|
Traneptora
`ffmpeg -i xyb.jpg -vf libplacebo=color_primaries=bt709:color_trc=iec61966-2-1:format=gbrp rgb.png`
|
|
2023-07-13 09:29:27
|
I am getting `[libplacebo @ 0x562d041178c0] Failed opening ICC profile... ignoring` every time
|
|
|
Traneptora
|
|
gb82
I am getting `[libplacebo @ 0x562d041178c0] Failed opening ICC profile... ignoring` every time
|
|
2023-07-13 09:29:51
|
git master libplacebo?
|
|
|
gb82
|
2023-07-13 09:30:14
|
no, just using from the arch repos
|
|
2023-07-13 09:30:21
|
should I build from source
|
|
|
Traneptora
|
2023-07-13 09:31:34
|
you would have to, yea
|
|
|
gb82
|
2023-07-13 09:32:00
|
alright trying that
|
|
2023-07-13 09:37:19
|
now FFmpeg build fails with `undefined reference to 'pl_plane_data_from_comps'`
|
|
2023-07-13 09:37:40
|
cloning from `git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg`
|
|
|
Traneptora
|
2023-07-13 09:40:24
|
ye, although atm I think there's a bug in placebo's transfering
|
|
2023-07-13 09:40:26
|
so I'd hold off for now
|
|
2023-07-13 09:40:40
|
they recently did some work on git master that mighta messed with it
|
|
|
gb82
|
2023-07-13 10:50:23
|
Ah :(
|
|
2023-07-17 10:46:42
|
https://av1-community-contributors.github.io/av1-wiki.github.io/docs/images/jxl
Hello, if anyone want so help us out & make an entry for JPEG-XL on the Codec Wiki, feel free. I'm gonna make an attempt otherwise, but I figure many of you are more well versed that I am
|
|
|
w
|
2023-07-17 10:56:38
|
<https://av1-community-contributors.github.io/av1-wiki.github.io/docs/FAQ#why-not-use-mediawiki>
> Not modern enough, the goal is to attract zoomers with fancy animations and eye candy.
|
|
2023-07-17 10:56:58
|
🤮
|
|
|
gb82
|
2023-07-17 11:08:26
|
uhh .... that's not my writing
|
|
2023-07-17 11:08:39
|
this used to be a very different project, ignore that stuff 😭
|
|
|
w
|
2023-07-17 11:17:54
|
I wouldn't want to participate in something like that
|
|
2023-07-17 11:24:57
|
I guess they just made another guide.encode.moe
|
|
|
gb82
|
|
w
I wouldn't want to participate in something like that
|
|
2023-07-17 11:51:13
|
we're still in the process of cleaning it up. again, started as a lighthearted guide, became an actual wiki
|
|
|
yoochan
|
2023-07-18 07:41:53
|
the jpeg xl page is here : https://av1-community-contributors.github.io/av1-wiki.github.io/docs/images/jxl it doesn't cost much to put here a compilation of either the wikipedia article or the jpegxl.info website
|
|
|
gb82
|
2023-07-19 01:17:34
|
ykw I'll just do it myself. I have a couple more entries to add before doing JXL. Also, the URL will be changed
|
|
|
VcSaJen
|
2023-07-19 03:14:51
|
Is it a real wiki, or git PR red tape nightmare?
|
|
|
|
Posi832
|
2023-07-19 08:18:36
|
.\cjpegli.exe --xyb ..\freddy.png ..\freddy2.jpg. The colors get weird and the image gets stretched. Is this a known issue?
|
|
2023-07-19 08:22:18
|
Using the 64-bit build from 17th July from https://artifacts.lucaversari.it/libjxl/libjxl/latest/ btw
|
|
|
fab
|
2023-07-19 09:58:15
|
Yes I also had this issue
|
|
|
jonnyawsom3
|
2023-07-19 12:28:25
|
Seems to be a similar effect but only in dark areas for me
|
|
|
|
Posi832
|
|
jonnyawsom3
|
|
Posi832
.\cjpegli.exe --xyb ..\freddy.png ..\freddy2.jpg. The colors get weird and the image gets stretched. Is this a known issue?
|
|
2023-07-19 01:12:33
|
Ohh of course, the preview on discord makes it green because of XYB, didn't realise it was almost black and white
|
|
|
Traneptora
|
|
Posi832
.\cjpegli.exe --xyb ..\freddy.png ..\freddy2.jpg. The colors get weird and the image gets stretched. Is this a known issue?
|
|
2023-07-19 01:28:14
|
open an issue on the tracker :)
|
|
|
CrushedAsian255
|
2023-07-19 11:29:39
|
it also has really weird moire effect when zooming in and out
|
|
2023-07-19 11:29:45
|
at least on MacOS
|
|
|
Posi832
.\cjpegli.exe --xyb ..\freddy.png ..\freddy2.jpg. The colors get weird and the image gets stretched. Is this a known issue?
|
|
2023-07-20 12:00:24
|
is that `.jpg` file a JPEG or JPEG XL file?
|
|
|
VcSaJen
|
|
CrushedAsian255
is that `.jpg` file a JPEG or JPEG XL file?
|
|
2023-07-20 12:32:18
|
jpegli
|
|
|
190n
|
2023-07-20 12:33:48
|
well, jpegli produces JPEG files
|
|
2023-07-20 12:33:54
|
it's just an alternative encoder for the same format
|
|
|
w
|
2023-07-20 03:03:31
|
i spent a day with an OLED HDR monitor (acer x27u) and can confidently say that HDR sucks and OLED sucks
|
|
2023-07-20 07:28:56
|
yes
|
|
2023-07-20 07:35:13
|
you can't calibrate hdr so using it for desktop will always suck and oled has worse viewing angles than IPS. response times only matter to gamers and deeper blacks are only noticable if you dont have lights
|
|
2023-07-20 07:39:26
|
all that for $1000
|
|
|
spider-mario
|
2023-07-20 07:39:35
|
doesn't suck on macOS
|
|
|
|
Posi832
|
|
CrushedAsian255
is that `.jpg` file a JPEG or JPEG XL file?
|
|
2023-07-20 07:53:10
|
It's a jpeg. Turns out the png has an alpha channel which messes with jpegli when using xyb
|
|
|
w
|
2023-07-20 07:54:59
|
oh yeah also the oled dimming thing is extremely annoying
|
|
|
plate
|
2023-07-20 12:31:24
|
$1000 sounds p cheap for OLED
|
|
2023-07-20 12:32:16
|
>gamer monitor
|
|
2023-07-20 12:32:55
|
yeah don't expect too much visual quality if it's marketed for gamers, these mostly optimize for response times
|
|
|
w
|
2023-07-20 12:54:18
|
there are only 4 oled monitors on the market
|
|
2023-07-20 12:54:23
|
they all cost the same
|
|
2023-07-20 12:54:51
|
and they all have the same panel
|
|
2023-07-20 12:56:52
|
I was able to calibrate it in sdr at a low brightness and the results are very good, but not impressive
|
|
2023-07-20 12:57:04
|
but that's about it
|
|
2023-07-20 01:02:15
|
if you've got a monitor in mind i'm up for buying and returning again
|
|
2023-07-20 01:02:35
|
i've become one of those people
|
|
|
jonnyawsom3
|
2023-07-20 01:02:49
|
My phone's got an early OLED screen, over 6 years old now and still no burn in whatsoever, even with the android UI, frequent use of the same apps, ect
|
|
|
plate
|
2023-07-20 01:03:02
|
was thinking more in lines of LG 32EP950-B (and possibly PA32DCM in the future). idk availability wise but seems less refresh rate / response focused and more into color quality
|
|
|
w
|
2023-07-20 01:03:50
|
I'm very happy with my phone's OLED, but the monitor oled (currently, LG WOLED) is completely different
|
|
|
plate
|
2023-07-20 01:04:01
|
it's not a year of OLED desktop yet
|
|
|
w
|
2023-07-20 01:04:19
|
wait long enough and microled will become a thing
|
|
2023-07-20 01:07:21
|
i guess my issue with oled is lg woled
|
|
2023-07-20 01:07:57
|
but my issues with hdr (on windows, wayland still dead) still stand
|
|
|
Quackdoc
|
2023-07-20 01:11:31
|
ahh wayland, maybe we will finally have HDR in 2060
|
|
|
BlueSwordM
|
|
w
you can't calibrate hdr so using it for desktop will always suck and oled has worse viewing angles than IPS. response times only matter to gamers and deeper blacks are only noticable if you dont have lights
|
|
2023-07-21 03:42:43
|
You can calibrate HDR.
You just need capable equipment to do so.
High contrast is very important. Even in my lit room, the difference between a VA panel and an IPS panel is noticeable, let alone an OLED.
Response times doesn't only matter to gamers. Scrolling on a low response time display is sublime.
Worse viewing angles is false: they either have as good or even better viewing angles. Besides, even an off-axis capable OLED display has better viewing characteristics than an IPS display 😂
|
|
|
w
|
2023-07-21 07:00:40
|
how do you calibrate HDR
|
|
2023-07-21 07:00:45
|
what software supports HDR profiling
|
|
2023-07-21 07:01:31
|
how is it better if it I look at it and it's worse
|
|
2023-07-21 07:03:23
|
higher contrast is noticeable, but you can't just change the tone curve to whatever you like. it's wrong
|
|
|
Quackdoc
|
2023-07-21 07:10:55
|
what do you mean by calibrating for HDR?
|
|
|
w
|
2023-07-21 07:11:08
|
profiling the display
|
|
2023-07-21 07:11:54
|
as in measure the capabilities of the display so software can use it to render things correctly
|
|
2023-07-21 07:12:52
|
afaict, nothing can do it
|
|
2023-07-21 07:14:39
|
theoretically, I should be able to have a 100 nit sRGB green next to a 100 nit P3 green next to a 1000 nit P3 green
|
|
2023-07-21 07:14:50
|
but that's not possible
|
|
|
Quackdoc
|
2023-07-21 07:15:33
|
? calman can handle this fine
|
|
|
w
|
2023-07-21 07:16:44
|
so does anyone want to buy me calman
|
|
|
Quackdoc
|
2023-07-21 07:17:13
|
you want to calibrate for `HDR 2084 P3/p3-st-2084` probably which is PQ in dci-p3
|
|
|
w
|
2023-07-21 07:18:54
|
argyll cms and displaycal also have the option, but it's unusable outside of a madvr 3dlut tonemap in SDR mode
|
|
2023-07-21 07:26:37
|
oh right calman just updates the tonemapping on the TV
|
|
2023-07-21 07:28:40
|
oh yeah OLED also drifts like crazy
|
|
|
lonjil
|
2023-07-21 07:29:40
|
If I need calibratedish HDR I use my iPad 🙃
|
|
|
Quackdoc
|
2023-07-21 09:23:42
|
if I need calibrated HDR I just cry because I cant afford anything good and sold all of my semi-decent stuff lol
|
|
|
lonjil
|
|
Quackdoc
|
2023-07-22 02:54:42
|
gonna be waiting a long time friend lol
|
|
|
gb82
|
|
w
|
2023-07-22 03:05:14
|
i realized hdr effect is attainable by just tone mapping hdr signal to the correct value in sdr mode as long as the white level is at peak brightness
|
|
|
Quackdoc
|
2023-07-22 03:14:36
|
thats not a great time
|
|
2023-07-22 03:15:00
|
I mean, it's fine if the HDR content is that much better than the SDR version of whatever you're consuming. but that's generally not the case
|
|
2023-07-22 03:15:33
|
that being said, oooh boy are there exceptions
|
|
|
w
|
2023-07-22 03:19:40
|
yeah hdr content is rarely better than the sdr version
|
|
2023-07-22 03:20:35
|
and the wider gamut is ~~rarely~~ not even used
|
|
|
Quackdoc
|
2023-07-22 03:21:04
|
it's not even that, just, tonemapping SDR->HDR is significantly easier then doing HDR->SDR
|
|
2023-07-22 03:21:28
|
I would argue that in a lot of cases, for legitimately good HDR->SDR it needs to be done on per content basis
|
|
|
w
|
2023-07-22 03:21:48
|
i dont mean tonemapping hdr to sdr
|
|
2023-07-22 03:21:56
|
i mean tonemapping hdr to a display in sdr mode
|
|
|
Quackdoc
|
2023-07-22 03:22:42
|
is that not the same thing?
|
|
|
w
|
2023-07-22 03:22:54
|
tonemapping to the display by profiling
|
|
2023-07-22 03:23:33
|
so like, the display produces this color at this amount of light when you send it this rgb value
|
|
|
Quackdoc
|
2023-07-22 03:23:49
|
sounds like normal ICC based tonemapping
|
|
|
w
|
2023-07-22 03:24:19
|
yeah I just mean HDR is achieved like that through software
|
|
2023-07-22 03:25:06
|
I guess i really didnt say anything if the only way to do that is with the madvr 3dlut anyway
|
|
|
Quackdoc
|
2023-07-22 03:25:38
|
well IIRC MPV can use ICC profiles for tonemapping, but you could also maybe do it with OCIO
|
|
|
w
|
2023-07-22 03:26:19
|
can you do hdr with icc clut?
|
|
|
Quackdoc
|
2023-07-22 03:27:02
|
no idea, not something I ever cared to look into
|
|
|
w
|
2023-07-22 03:32:06
|
there's probably a reason it has to use eecolor 3dlut
|
|
2023-07-22 03:32:40
|
whatever i already returned the monitor for my $1600 back
|
|
|
Traneptora
|
|
w
can you do hdr with icc clut?
|
|
2023-07-22 07:41:02
|
I'm pretty sure it can, although that's more of a question for haasn
|
|
|
nec
|
2023-07-22 10:20:04
|
When I mask image with alpha channel and delete all unused pixels, sometimes I get smaller size after blurring this mask with 4x4-16x16 kernel (0 or 1, just expansion). It's quite interesting, because I store much more information and still get smaller size, so I suppose that masking some individual pixels just makes it harder to compress due to complex shapes. Would I get even smaller size if I mask based on image blocks, like ceiling odd indexes or using some kind of threshold, for example, if 256x256 contains more than some number of pixel values, then use whole block instead? If not, then look at smaller block and repeat.
|
|
|
|
afed
|
2023-07-25 05:40:10
|
> Intel Advanced Vector Extensions 10 (AVX10) is a new ISA that includes "all the richness" of AVX-512 and additional features/capabilities while being able to work for both P and E cores. Intel says AVX10 will be "the vector ISA of choice" moving into the future.
> Part of making AVX10 suitable for both P and E cores is that the converged version has a maximum vector length of 256-bits and found with the E cores while P cores will have optional 512-bit vector use.
>
> Existing AVX2-based software could be able to be recompiled for Intel AVX10 in the future and that alone is enough to deliver performance gains. Intel will also be rolling out AVX10-optimized software moving forward.
|
|
|
lonjil
|
2023-07-25 08:54:38
|
> Part of making AVX10 suitable for both P and E cores is that the converged version has a maximum vector length of 256-bits and found with the E cores while P cores will have optional 512-bit vector use.
would still make moving processes between cores annoying
|
|
|
gb82
|
|
spider-mario
slightly convoluted for now (export as EXR, for example using darktable, then grade the EXR in DaVinci Resolve, export as still in TIFF, and compress the TIFF to JXL/AVIF/whatever), but it may become more convenient once it’s implemented in Lightroom
|
|
2023-07-26 01:39:14
|
Was trying this today & getting an error trying to encode .tif files exported from Darktable with cjxl. Does libjxl support TIFF input?
|
|
2023-07-26 04:26:29
|
Hmmm. Wondering how to properly deal with HDR JXL
|
|
2023-07-26 04:26:53
|
As in exporting an EXR from a Darktable HDR DNG & converting to JXL somehow while keeping HDR
|
|
|
spider-mario
|
|
gb82
As in exporting an EXR from a Darktable HDR DNG & converting to JXL somehow while keeping HDR
|
|
2023-07-26 08:30:36
|
this may be helpful: https://github.com/libjxl/libjxl/blob/main/tools/hdr/exr_to_pq.cc
|
|
2023-07-26 08:30:58
|
if you build libjxl with devtools enabled, this will be built and found in `tools/`
|
|
2023-07-26 08:31:28
|
(the `hdr` subdirectory is only in the source tree, it is not reproduced in the build directory)
|
|
|
gb82
|
2023-07-29 02:57:57
|
my first HDR attempt :P don't have an HDR monitor so kinda shots in the dark
|
|
|
spider-mario
|
2023-07-29 05:25:17
|
```
[19:23:27] Finished work at: Sat Jul 29 19:23:27 2023
M[u1x9i:n2g3:: 2t7h]i sl imbahyb :t awkoer ka wrheisluel.t. .= 0
Encode done!
```
I think HandBrakeCLI is trying to tell me something
|
|
|
diskorduser
|
2023-07-29 05:25:59
|
Alien 👽 language
|
|
|
_wb_
|
2023-07-29 05:55:46
|
It encoded the output log 🙂
|
|
|
spider-mario
|
2023-07-29 06:05:46
|
I think I can discern “Muxing” at the beginning
|
|
|
Cool Doggo
|
2023-07-29 07:27:19
|
```Muxing: this may take awhile...
[19:23:27] libhb: work result = 0```
|
|
2023-07-29 07:28:08
|
the characters were just alternating in that line 🤔
|
|
|
_wb_
|
2023-07-29 07:38:36
|
How could that happen? Writing to stdout in two threads and somehow flushing at every character instead of at line breaks?
|
|
|
190n
|
2023-07-29 07:56:15
|
maybe it was stderr? iirc that's typically flushed immediately
|
|
|
Nova Aurora
|
|
lonjil
> Part of making AVX10 suitable for both P and E cores is that the converged version has a maximum vector length of 256-bits and found with the E cores while P cores will have optional 512-bit vector use.
would still make moving processes between cores annoying
|
|
2023-07-30 06:34:56
|
You know what AVX-512, the instruction set that has never seen a complete implementation of needs? More fragmentation!
|
|
|
Kingproone
|
2023-07-30 06:33:34
|
so i converted this picture with: -j 0 -d 2 -e 9, with 0.8.2, and the jxl one looks way more colourful, (imo it looks better) but it really shouldn't differ
|
|
|
Traneptora
|
|
Kingproone
so i converted this picture with: -j 0 -d 2 -e 9, with 0.8.2, and the jxl one looks way more colourful, (imo it looks better) but it really shouldn't differ
|
|
2023-07-30 06:36:40
|
it appears the original JPEG has a weird ICC profile
|
|
2023-07-30 06:36:52
|
or rather
|
|
2023-07-30 06:36:57
|
not weird but it's Adobe RGB 1998
|
|
2023-07-30 06:37:05
|
which is not sRGB
|
|
2023-07-30 06:38:03
|
cjxl with -j 0 is using an XYB transform and when you view the resulting JXL file you're viewing it in sRGB, clipped
|
|
|
190n
|
2023-07-30 06:38:11
|
keep in mind discord ignores color profiles
|
|
|
Traneptora
|
2023-07-30 06:38:28
|
so whatever software you're using to view the JPEG is not properly color mananging
|
|
|
190n
|
2023-07-30 06:38:35
|
so anything with a wider gamut than srgb will appear incorrectly washed out in discord
|
|
|
Kingproone
|
|
Traneptora
so whatever software you're using to view the JPEG is not properly color mananging
|
|
2023-07-30 06:39:43
|
yea, thats the problem
|
|
|
190n
|
|
Kingproone
so i converted this picture with: -j 0 -d 2 -e 9, with 0.8.2, and the jxl one looks way more colourful, (imo it looks better) but it really shouldn't differ
|
|
2023-07-30 06:39:49
|
if i open this image in gimp, i can either convert to srgb or keep the embedded color profile, and either way it looks more saturated than the discord preview
|
|
2023-07-30 06:39:53
|
and it looks identical to the jxl
|
|
|
Kingproone
|
2023-07-30 06:40:28
|
well the problem is with qimgv in this case
|
|
|
Traneptora
|
2023-07-30 06:41:29
|
interestingly, cjxl tags it with "unknown" primaries
|
|
|
Kingproone
|
2023-07-30 06:42:08
|
so 2 bugs found with 1 image?
|
|
|
Traneptora
|
|
Kingproone
|
2023-07-30 06:43:10
|
well, cjxl not knowing it, and qimgv not showing properly
|
|
|
Traneptora
|
|
Kingproone
so i converted this picture with: -j 0 -d 2 -e 9, with 0.8.2, and the jxl one looks way more colourful, (imo it looks better) but it really shouldn't differ
|
|
2023-07-30 06:44:14
|
what's the copyright on the image
|
|
|
Kingproone
|
2023-07-30 06:44:47
|
no idea, downloaded it like a decade ago
|
|
|
Traneptora
|
2023-07-30 06:46:45
|
https://commons.wikimedia.org/wiki/File:Defense.gov_News_Photo_080804-A-8725H-341.jpg
|
|
2023-07-30 06:47:02
|
looks like it's US Gov't, which makes it public domain in the US
|
|
2023-07-30 06:47:31
|
I don't like uploading copyrighted images to the issue tracker
|
|
|
Kingproone
|
2023-07-30 06:47:54
|
i see
|
|
|
CrushedAsian255
|
|
Kingproone
so i converted this picture with: -j 0 -d 2 -e 9, with 0.8.2, and the jxl one looks way more colourful, (imo it looks better) but it really shouldn't differ
|
|
2023-07-31 07:53:30
|
also just wondering is this a photo from some kind of war or something?
|
|
|
Traneptora
|
|
CrushedAsian255
also just wondering is this a photo from some kind of war or something?
|
|
2023-07-31 09:27:02
|
US War in Iraq
|
|
2023-07-31 09:27:12
|
the file has a bunch of geo metadata, it was taken in Baghdad
|
|
|
BlueSwordM
|
|
Nova Aurora
You know what AVX-512, the instruction set that has never seen a complete implementation of needs? More fragmentation!
|
|
2023-08-01 04:06:12
|
AVX10 is the opposite of fragmentation on Intel SKUs.
|
|
|
DZgas Ж
|
2023-08-01 07:17:33
|
I have an image in PNG that used to be in JPEG and has the corresponding artifacts.
Is there a way, or a __*theoretical proof of the possibility of this*__, that would make it possible to make Jpeg lossless compression relative to an image already compressed once (that is, to make an identical structure of information)
|
|
2023-08-01 07:21:00
|
I have reason to believe that this is possible due to the fact that in theory it is possible to iterate over all possible variants of DHT 8x8 until the variant with completely identical pixels is found. But I have doubts about the possibility due to the subsequent construction of a Huffman tree that cannot exactly be identical.
|
|
|
jonnyawsom3
|
2023-08-01 07:45:15
|
Anything is possible, so long as you have the time and resources ;P
|
|
2023-08-01 07:48:04
|
Although if you're iterating over everything, at that point you might as well try to recrate the original image completely
|
|
|
DZgas Ж
|
|
Although if you're iterating over everything, at that point you might as well try to recrate the original image completely
|
|
2023-08-01 07:52:07
|
I'm not going to do it, I'm just curious. Maybe in this chat, maybe even knows about whether this question was asked before me...
|
|
|
_wb_
|
2023-08-01 08:52:03
|
The dct coeffs you could in principle recreate from the pixels (not sure if the solution is unique). How they are entropy coded in a jpeg bitstream is not something you can know at all from pixels.
|
|
|
spider-mario
|
2023-08-01 09:09:57
|
chroma subsampling might also make things trickier
|
|
|
|
veluca
|
2023-08-01 09:13:53
|
not obvious to me how you figure out the quantization matrix in the general case, either
|
|
|
_wb_
|
2023-08-01 09:27:39
|
make a histogram of dequantized coeffs, look for peaks aligning with multiples
|
|
|
DZgas Ж
|
|
veluca
not obvious to me how you figure out the quantization matrix in the general case, either
|
|
2023-08-01 07:55:16
|
in general, the first thing I thought - why not create all possible variants of encoded dct 8x8 images ... until I realized that this is a mathematically impossible task due to the large number of options.........
...is to compress each 8x8 block separately on all quality parameters from q0 to q100 and choose the one that suits the most according to the corresponding pixels, and so separate for each block....it's just a pity that it can't work at all, because there is such a thing as re-compression degradation...
in fact, of course, a big thing like reverse decoding:
To be more precise, it's all similar to how the creation of sound and music works only according to the graphical image of the spectrogram What is used to clone the voice or in some projects to increase the duration of the sound while preserving the tone (which is a violation of physical laws, but the neural network can make it)
It seems to me that only a neural network that will be trained on what data was in the original Jpeg, and what data was obtained in the image, will be able to recreate the image data approximately but as similar as possible...
|
|
|
jonnyawsom3
|
2023-08-02 02:36:07
|
I know after seeing this <https://vectorizer.ai/> I thought about NN spline encoding in JXL, but at that point you might as well make a full encoder, which JPEG is already working on
|
|
|
_wb_
|
2023-08-02 05:25:55
|
JPEG AI is a full AI-based codec, also the decoder uses AI.
Doing an AI encoder into a non-AI codec is interesting but not something JPEG is doing — in general they don't really do encoders at all since what gets standardized is always only the decoder.
|
|
|
jonnyawsom3
|
2023-08-02 06:36:04
|
Ah right, and good point
|
|
2023-08-06 09:35:00
|
Had some of his videos posted here before about image formats, nice to see JXL mentioned multiple times in the comments too https://youtu.be/68H1H6Z_gz4
|
|
|
BlueSwordM
|
|
Had some of his videos posted here before about image formats, nice to see JXL mentioned multiple times in the comments too https://youtu.be/68H1H6Z_gz4
|
|
2023-08-06 04:33:29
|
Obviously I couldn't resist posting comments on a video like this.
|
|
|
qdwang
|
2023-08-10 07:37:10
|
Hi guys, I'd like to check the spec of JPEG XL, is buying this pdf from ISO/IEC 18181(https://www.iso.org/standard/77977.html) a must?
|
|
|
|
veluca
|
2023-08-10 08:02:55
|
the theoretical answer is yes
|
|
2023-08-10 08:03:30
|
in practice, some people might sometimes by mistake put a copy somewhere
|
|
|
_wb_
|
2023-08-10 08:12:24
|
Also I wouldn't buy the first edition, the second edition is more accurate
|
|
2023-08-10 08:13:12
|
Even a draft of the 2nd edition is better than the published version of the 1st edition
|
|
|
Traneptora
|
2023-08-10 04:16:12
|
we've been ironing out a lot of spec issues
|
|
2023-08-10 04:16:24
|
see <#1021189485960114198> for an up to date draft
|
|
|
uis
|
2023-08-14 01:42:44
|
What would you recommend as metric for difference in pixelart? What I want is to assign weights to changed pixels and find more important to pixelart.
|
|
|
nec
|
2023-08-14 03:23:30
|
As quality metric or some kind of filesize influence?
Last time I'm pondering about similar problem. Overall, I like ssimulacra 2.1, but it has some small problems for images with flat regions. Because such regions always have the same value, even after using extremely low quality settings for encoders like jxl q=40 or avif cq-level=40, we still get 90-100% score, because these values usually do not change. It means that quality scores for images with flat regions and without it are slightly different and can't be directly compared. Here is artificially created situation to demonstrate it. I take the same image and simply add regions of different sizes with a single black color value to see how it influences overall ssimu score.
https://i.imgur.com/e0JnsWw.png
Original encoding doesn't change and you can see how original 63 quality score becomes 79 once 93% of it are flat regions. Such situation is extremely unlikely to happen in real life, but when we talk about drawing, pixelart and similar images, it's actually quite common. Look at simple image like this one:
https://www.boredpanda.com/blog/wp-content/uploads/2021/11/Hey-Pandas-Post-your-best-or-any-pixel-art-that-u-have-created-right-here-618b7194c5378__700.jpg
It mostly consist of repeating colors. And even if we talk about significantly smaller areas like 1/3 of image, we can see some influence ~2 ssimu score.
One of possible solutions would be to segment our image and see how much ssimulacra score varies and if it varies at all. If we count such segmented score, then it gives me original 63 quality for the segment with original image and 100 score for the rest. We can judge overall quality of the whole picture and the worst/best parts of it.
|
|
2023-08-14 03:23:34
|
Another problem is that small color variation can include a lot of details that are lost after quantization. And this problem is trickier, because we need to judge if such quantization is perceivable or not and if it influences visual quality. For example, if we take white noise and change some values, visual quality doesn't change much, because it's still white noise. But if we take pixelart, like a tree with leaves that barely differ from remain colors, and after quantization this color difference disappers, we have a tree without leaves and huge visual lose. I'm not sure if such metric is even possible without AI. Currently I'm thinking about comparing the change, where variety to another variety conversion is punished less than variety to completely flat area. But such approach just makes sure that details remain, rather than what details are important and what aren't.
|
|
|
BlueSwordM
|
|
nec
As quality metric or some kind of filesize influence?
Last time I'm pondering about similar problem. Overall, I like ssimulacra 2.1, but it has some small problems for images with flat regions. Because such regions always have the same value, even after using extremely low quality settings for encoders like jxl q=40 or avif cq-level=40, we still get 90-100% score, because these values usually do not change. It means that quality scores for images with flat regions and without it are slightly different and can't be directly compared. Here is artificially created situation to demonstrate it. I take the same image and simply add regions of different sizes with a single black color value to see how it influences overall ssimu score.
https://i.imgur.com/e0JnsWw.png
Original encoding doesn't change and you can see how original 63 quality score becomes 79 once 93% of it are flat regions. Such situation is extremely unlikely to happen in real life, but when we talk about drawing, pixelart and similar images, it's actually quite common. Look at simple image like this one:
https://www.boredpanda.com/blog/wp-content/uploads/2021/11/Hey-Pandas-Post-your-best-or-any-pixel-art-that-u-have-created-right-here-618b7194c5378__700.jpg
It mostly consist of repeating colors. And even if we talk about significantly smaller areas like 1/3 of image, we can see some influence ~2 ssimu score.
One of possible solutions would be to segment our image and see how much ssimulacra score varies and if it varies at all. If we count such segmented score, then it gives me original 63 quality for the segment with original image and 100 score for the rest. We can judge overall quality of the whole picture and the worst/best parts of it.
|
|
2023-08-14 03:31:01
|
If you use a tool like ssimulacra2_rs, you will get additional data on what the scores are throughout the image:
https://github.com/rust-av/ssimulacra2_bin
https://github.com/rust-av/ssimulacra2
|
|
2023-08-14 03:32:52
|
It's been a while since I've used mainline SSIMU2 and I'm on a very new clean system, so haven't installed it yet to check if it has scores other than the average.é
|
|
|
_wb_
|
2023-08-14 03:35:47
|
ssimulacra2 uses a mix of 1-norm and 4-norm. To be fully robust to adding 'easy flat background', you need inf-norm (max error). That does basically mean that the single worst region fully determines the score, which is good to have guarantees but not so good for correlation with subjective scores.
|
|
2023-08-14 03:37:54
|
For comparison, the usual ssim (or ms-ssim) uses just the 1-norm (so just the average value of the heat map) so easy backgrounds bump up the score a lot. Ssimu2 is better in that respect, but not as good as something with a maxnorm like butteraugli-max
|
|
|
elfeïn
|
|
nec
As quality metric or some kind of filesize influence?
Last time I'm pondering about similar problem. Overall, I like ssimulacra 2.1, but it has some small problems for images with flat regions. Because such regions always have the same value, even after using extremely low quality settings for encoders like jxl q=40 or avif cq-level=40, we still get 90-100% score, because these values usually do not change. It means that quality scores for images with flat regions and without it are slightly different and can't be directly compared. Here is artificially created situation to demonstrate it. I take the same image and simply add regions of different sizes with a single black color value to see how it influences overall ssimu score.
https://i.imgur.com/e0JnsWw.png
Original encoding doesn't change and you can see how original 63 quality score becomes 79 once 93% of it are flat regions. Such situation is extremely unlikely to happen in real life, but when we talk about drawing, pixelart and similar images, it's actually quite common. Look at simple image like this one:
https://www.boredpanda.com/blog/wp-content/uploads/2021/11/Hey-Pandas-Post-your-best-or-any-pixel-art-that-u-have-created-right-here-618b7194c5378__700.jpg
It mostly consist of repeating colors. And even if we talk about significantly smaller areas like 1/3 of image, we can see some influence ~2 ssimu score.
One of possible solutions would be to segment our image and see how much ssimulacra score varies and if it varies at all. If we count such segmented score, then it gives me original 63 quality for the segment with original image and 100 score for the rest. We can judge overall quality of the whole picture and the worst/best parts of it.
|
|
2023-08-14 03:49:23
|
woah a gost
|
|
|
DZgas Ж
|
2023-08-14 06:04:20
|
the best and fastest way to transcode 50 thousand jpeg to jxl images is to write a python/bash script?
cjxl, like all similar programs, accepts only single files for input?
|
|
|
Fraetor
|
|
DZgas Ж
the best and fastest way to transcode 50 thousand jpeg to jxl images is to write a python/bash script?
cjxl, like all similar programs, accepts only single files for input?
|
|
2023-08-14 06:23:47
|
Yeah, cjxl can only do a single file at a time. I've attached my program to do it. It should work so long as you have python and cjxl on your PATH. By default it removes the original for successfully transcoded files.
## Usage
```
usage: jxl-convert [-h] [-d DISTANCE] [-r] [-q | -v] [target_directory]
Bulk convert images to JPEG XL.
positional arguments:
target_directory Directory to convert. If omitted, defaults to the
current directory.
options:
-h, --help show this help message and exit
-d DISTANCE, --distance DISTANCE
Max. butteraugli distance, where lower means higher
quality. 0 is mathematically lossless (default), 1.0
is visually lossless. The recommended range is 0.5 to
3.0.
-r, --recursive Recurse into subdirectories.
-q, --quiet Suppress progress output.
-v, --verbose Explain what is being done.
```
|
|
|
_wb_
|
2023-08-14 06:24:15
|
`for i in *.jpg; do cjxl $i $i.jxl; done`
|
|
|
spider-mario
|
2023-08-14 06:56:40
|
```
parallel cjxl '{}' '{.}'.jxl ::: *.jpg
```
|
|
|
nec
|
|
DZgas Ж
the best and fastest way to transcode 50 thousand jpeg to jxl images is to write a python/bash script?
cjxl, like all similar programs, accepts only single files for input?
|
|
2023-08-14 06:59:11
|
Optionally you can use https://pypi.org/project/imagecodecs/ . It partially supports jxl encoding/decoding. But probably won't be faster than subprocess or bash.
|
|
|
DZgas Ж
|
|
nec
Optionally you can use https://pypi.org/project/imagecodecs/ . It partially supports jxl encoding/decoding. But probably won't be faster than subprocess or bash.
|
|
2023-08-14 09:25:15
|
I would like to use specific executable cjxl files of the latest versions, so this not for me
|
|
2023-08-14 09:27:47
|
<@604964375924834314><@794205442175402004>you have written very small scripts, apparently they are for linux. I will need to figure out the terminal language that is in CMD and do something similar. day after tomorrow
|
|
2023-08-14 09:28:43
|
<:Windows:806135372298977342>
|
|
|
Fraetor
Yeah, cjxl can only do a single file at a time. I've attached my program to do it. It should work so long as you have python and cjxl on your PATH. By default it removes the original for successfully transcoded files.
## Usage
```
usage: jxl-convert [-h] [-d DISTANCE] [-r] [-q | -v] [target_directory]
Bulk convert images to JPEG XL.
positional arguments:
target_directory Directory to convert. If omitted, defaults to the
current directory.
options:
-h, --help show this help message and exit
-d DISTANCE, --distance DISTANCE
Max. butteraugli distance, where lower means higher
quality. 0 is mathematically lossless (default), 1.0
is visually lossless. The recommended range is 0.5 to
3.0.
-r, --recursive Recurse into subdirectories.
-q, --quiet Suppress progress output.
-v, --verbose Explain what is being done.
```
|
|
2023-08-14 09:29:19
|
this code is too big.
|
|
|
|
afed
|
2023-08-14 09:37:02
|
<https://github.com/sharkdp/fd>
`fd -e jpg -j 4 -x cjxl "{}" "{.}.jxl" --num_threads 0`
`-j, --threads <num> Set number of threads to use for searching & executing (default: number of available CPU cores)`
|
|
|
spider-mario
|
|
DZgas Ж
<@604964375924834314><@794205442175402004>you have written very small scripts, apparently they are for linux. I will need to figure out the terminal language that is in CMD and do something similar. day after tomorrow
|
|
2023-08-14 10:04:37
|
`parallel` is a perl script https://www.gnu.org/software/parallel/
|
|
2023-08-14 10:04:48
|
(although there are other implementations of the same interface)
|
|
2023-08-14 10:05:57
|
(for example https://gitlab.redox-os.org/redox-os/parallel)
|
|
|
Quackdoc
|
2023-08-14 10:09:45
|
I personally use the old parallel from https://github.com/mmstick/parallel since the new parallel relies on ionshell so it;s incompatible with windows
|
|
|
DZgas Ж
|
2023-08-15 05:01:31
|
<@184373105588699137> <@604964375924834314> Parallelization does not interest me at all. It's not difficult for me to move all my files to 4 folders and run 4 terminals on my 4 cores
|
|
|
nec
|
2023-08-15 06:36:59
|
Here is a demonstration of my current approach I'm working on.
For jpeg images I count the difference between minimum and maximum values in pixel blocks of 8x8 size and count what % of a whole image contains values 0, <=3, <=5, <=8, <=30. The same for encoded images. All below examples are animated, if it doesn't work in discord, try to open original links. Here is a pixel art with % values 4, 4, 4, 5, 10. 90% of blocks for such image have a high color variety and it typically means that even significantly lower ssimulacra 2.1 scores would be visually appealing. There are some color changes, but details remain and this example is a difference between original and jxl q=82 with ssimulacra score 70.94 and % values 1, 3, 4, 5, 10. Such drop of 0 color difference for jxl/avif blocks is common, because it uses significantly bigger blocks and 8x8 segments can easily get slight 1-2 values variety.
https://i.imgur.com/I6RJmlP.png
Here is more extreme example with a dithered cat image. Original % values are 0, 0, 0, 0, 0. All blocks have differences above 30 RGB values. It's compared with jxl q=60 that produces 29.7 ssimu score and the same % values. Despite we have significant color changes, the overall shape remains the same and many people would still find it appealing enough.
https://i.imgur.com/tVJBFTw.png
|
|
2023-08-15 06:37:08
|
The opposite situation can be something like skin tone. This image has % values 1, 5, 11, 25, 80. Almost all blocks are within 30 pixel color difference, and 25% are within 8. It's compared with jxl q=53 that produces 70.9 ssimu score and jxl q=78 that produces 80 ssimu score. Both have significant block changes at 1, 17, 31, 48, 82 and 1, 10, 22, 41, 81. Such soft images typically require significantly higher ssimulacra score around 86-88 to retain all details, otherwise it's going to be flattened after quantization and it's easily perceivable.
https://i.imgur.com/SMqfzXc.png
Such approach isn't perfect, but it shows some potential to be able to judge if picture would be good at 70-80 or it would be awful and we need to push it up to 88. There is a huge filesize difference between the two. The higher threshold can be used to split soft/varied images and lower thresholds can be used to see how many blocks are flattened after quantization.
|
|
2023-08-15 02:12:00
|
Fundamentally it's probably an idea to make ssim map output depend on image frequencies.
|
|
|
DZgas Ж
|
2023-08-16 02:59:43
|
I found some strange nonamesite, but it has ready-made ffmpeg builds with extremely exotic codecs like svt-vp9, I think I worth sharing it
https://jeremylee.sh/bins/
|
|
2023-08-16 03:01:06
|
<@132637059327328256> oh its you
|
|
|
Fox Wizard
|
2023-08-16 03:03:10
|
<:KekDog:884736660376535040>
|
|
|
DZgas Ж
|
|
DZgas Ж
<@604964375924834314><@794205442175402004>you have written very small scripts, apparently they are for linux. I will need to figure out the terminal language that is in CMD and do something similar. day after tomorrow
|
|
2023-08-17 09:34:21
|
as a result, my hands never got to that
|
|
|
afed
<https://github.com/sharkdp/fd>
`fd -e jpg -j 4 -x cjxl "{}" "{.}.jxl" --num_threads 0`
`-j, --threads <num> Set number of threads to use for searching & executing (default: number of available CPU cores)`
|
|
2023-08-17 09:34:46
|
I chose this solution. it works well for me, thanks for it
|
|
|
spider-mario
|
|
DZgas Ж
<@184373105588699137> <@604964375924834314> Parallelization does not interest me at all. It's not difficult for me to move all my files to 4 folders and run 4 terminals on my 4 cores
|
|
2023-08-17 10:40:31
|
I forgot to mention that if you parallelise like that, you’ll have to balance the size of the various folders to really benefit
|
|
2023-08-17 10:41:15
|
vs. something less ad hoc where the various threads pull from the same queue so that they don’t become idle while another thread still has several images to process
|
|
|
Oleksii Matiash
|
|
spider-mario
vs. something less ad hoc where the various threads pull from the same queue so that they don’t become idle while another thread still has several images to process
|
|
2023-08-18 03:59:03
|
I just wrote small python script that traverses files in the tree, and can call arbitrary number of cjxl (also takes a limiter from args, to avoid ram overflow, because my cpu has 16 physical cores). So it uses 100% of CPU until number of still-not-compressed files is lower than core count
|
|
|
DZgas Ж
|
|
spider-mario
I forgot to mention that if you parallelise like that, you’ll have to balance the size of the various folders to really benefit
|
|
2023-08-18 08:27:24
|
This is true.... But how could you forget that the jxl transcoding itself is parallelized. While working, I realized that I didn't need any parallelization <:JXL:805850130203934781>
|
|
|
Oleksii Matiash
I just wrote small python script that traverses files in the tree, and can call arbitrary number of cjxl (also takes a limiter from args, to avoid ram overflow, because my cpu has 16 physical cores). So it uses 100% of CPU until number of still-not-compressed files is lower than core count
|
|
2023-08-18 08:29:23
|
For such work, a python script is too much. Like https://discord.com/channels/794206087879852103/794206087879852106/1140712391089332457
|
|
|
uis
|
2023-08-18 08:06:28
|
I was asking for purpose of comparing canvas on events like r/place with template and assigning damaged pixels weights or priority.
|
|
|
nec
As quality metric or some kind of filesize influence?
Last time I'm pondering about similar problem. Overall, I like ssimulacra 2.1, but it has some small problems for images with flat regions. Because such regions always have the same value, even after using extremely low quality settings for encoders like jxl q=40 or avif cq-level=40, we still get 90-100% score, because these values usually do not change. It means that quality scores for images with flat regions and without it are slightly different and can't be directly compared. Here is artificially created situation to demonstrate it. I take the same image and simply add regions of different sizes with a single black color value to see how it influences overall ssimu score.
https://i.imgur.com/e0JnsWw.png
Original encoding doesn't change and you can see how original 63 quality score becomes 79 once 93% of it are flat regions. Such situation is extremely unlikely to happen in real life, but when we talk about drawing, pixelart and similar images, it's actually quite common. Look at simple image like this one:
https://www.boredpanda.com/blog/wp-content/uploads/2021/11/Hey-Pandas-Post-your-best-or-any-pixel-art-that-u-have-created-right-here-618b7194c5378__700.jpg
It mostly consist of repeating colors. And even if we talk about significantly smaller areas like 1/3 of image, we can see some influence ~2 ssimu score.
One of possible solutions would be to segment our image and see how much ssimulacra score varies and if it varies at all. If we count such segmented score, then it gives me original 63 quality for the segment with original image and 100 score for the rest. We can judge overall quality of the whole picture and the worst/best parts of it.
|
|
2023-08-18 08:07:06
|
Buggy discord
|
|