|
Nova Aurora
|
|
Scope
And I also do not see anything magical for AVIF at these bitrates, for example 24kb JXL
|
|
2022-01-28 08:50:52
|
What options?
|
|
|
Scope
|
2022-01-28 08:52:17
|
`-e 9 --photon_noise= (and here the values can be different for better results)`
|
|
2022-01-28 08:52:48
|
but even encoding with the default settings is not much different
|
|
2022-01-28 09:00:39
|
And that's a very far thing from quotes like this:
> For lossy color data use AVIF (significantly beats all older formats like WebP and even JPXL for almost all settings)
> JPXL works very well for reducing the size of existing JP data without having to reencode (and lose further information) other than that it cant compete with others in lossless or lossy mode.
> In my own tests (which i do alot of) at their default settings AVIF gets files to MUCH smaller sizes while still appearing visually lossless.
Also about lossless:
> For me a file is either 'hot' in which case I don't need great compression and just want fast decode (in which case LZ4 bitmap is unbeatable) or a file is cold, in which case I was either the deepest lossless or lossy compression.
>
> JPEGXL will never compete with raw or LZ4 compressed formats for speed and it's minor compression advantage for hot files is just not significant enough to make me use it.
never compete with raw formats for speed? 🤔
minor compression advantage? 🤔
|
|
2022-01-28 09:08:04
|
I mean, when it requires such a high decoding speed that almost any compression is unacceptable, it's a very niche use
As well as the minor compression advantage over raw data
This is a very large gap between the maximum possible compression in any amount of time and only the maximum possible decoding speed
|
|
|
Nova Aurora
|
|
Scope
And that's a very far thing from quotes like this:
> For lossy color data use AVIF (significantly beats all older formats like WebP and even JPXL for almost all settings)
> JPXL works very well for reducing the size of existing JP data without having to reencode (and lose further information) other than that it cant compete with others in lossless or lossy mode.
> In my own tests (which i do alot of) at their default settings AVIF gets files to MUCH smaller sizes while still appearing visually lossless.
Also about lossless:
> For me a file is either 'hot' in which case I don't need great compression and just want fast decode (in which case LZ4 bitmap is unbeatable) or a file is cold, in which case I was either the deepest lossless or lossy compression.
>
> JPEGXL will never compete with raw or LZ4 compressed formats for speed and it's minor compression advantage for hot files is just not significant enough to make me use it.
never compete with raw formats for speed? 🤔
minor compression advantage? 🤔
|
|
2022-01-28 09:25:26
|
Also why bring up LZ4 on a post about archiving. You probably have the time to compress it better.
|
|
|
Scope
|
2022-01-28 09:28:27
|
I think it means fast decoding
|
|
2022-01-28 09:29:34
|
However, image-specific formats can be much faster and more efficient than using LZ4 on RAW data
If speed is so important, for example for textures, there are usually some hardware methods in the GPU (mobile as well), hardware compression/decompression in modern game consoles, etc.
|
|
|
lithium
|
2022-01-28 09:33:33
|
Probably we can use some anime, 2D drawing, manga, comic image set
become a non-photo standard testset for compressor performance test?
> http://www.manga109.org/en/
> and Scope lossless compare sheet
|
|
|
_wb_
|
2022-01-28 09:38:23
|
Good test sets are useful, very often test sets only include photos
|
|
|
Scope
|
2022-01-28 09:39:16
|
It is still not very convenient in terms of use
> When using parts of the dataset within academic papers or videos, please note the author’s copyright notice as “© Author’s Name” and note that the work was cited from the Manga109 dataset. In addition, for use in academic papers, please cite the related papers shown below as well
but probably better than nothing, especially if the quality of the images is acceptable (not some bad scans and exJpegs)
|
|
|
_wb_
|
2022-01-28 09:39:56
|
I am co-chairing a new jpeg AhG called GMIS, which is looking to do something related to multi-image use cases, e.g. multi-page comics
|
|
2022-01-28 09:40:36
|
We are now looking for test sets (i.e. sets of sets)
|
|
2022-01-28 09:43:30
|
Copyright notices are OK I think, just need to collect them properly. More importantly the license does need to allow any kind of use, not just non-commercial or something.
|
|
2022-01-28 09:46:08
|
It's most convenient if it's CC-BY or something like that
|
|
2022-01-28 09:47:25
|
> under the condition that it will be used for academic purposes at non-profit organizations, for research-related uses such as experiments and publishing academic papers
|
|
|
w
|
2022-01-28 09:47:41
|
my issue with manga109 is that it doesnt contain anything from the current moe generation
|
|
|
Koromaru Korüko
|
2022-01-28 09:47:45
|
wouldn't a good image, be pure raw png, comprising of 4 different core types of image.
IE top right corner is say manga/cartoonistic, bottom right is fractal, top left is a photo with moderate photo distortion, bottom left is then a hi range rather abstract image.
|
|
|
_wb_
|
2022-01-28 09:47:46
|
That's a problem, e.g. Cloudinary and Google are not non-profit oeganizations
|
|
|
Koromaru Korüko
|
2022-01-28 09:48:24
|
that way with one image you can quickly reference a codecs ability to encode different forms of media, and different quality senario's
|
|
2022-01-28 09:48:53
|
only issue would be if its block encoding, the edges between the different sub images
|
|
|
Scope
|
2022-01-28 09:48:58
|
And the downloads are not freely accessible and require asking for a password
(also Manga109 contains comics which are approximately 40 years old)
|
|
|
_wb_
|
2022-01-28 09:51:41
|
It's quite rare that a single image has such very different types of content, and it is likely that lossless encoding of the composite image will be worse than doing it as separate images.
|
|
|
lithium
|
2022-01-28 10:01:34
|
`lossless encoding of the composite image will be worse than doing it as separate images`
What about lossy encoding? slight lossy but not mathematically lossless.
|
|
|
|
Deleted User
|
|
_wb_
I am co-chairing a new jpeg AhG called GMIS, which is looking to do something related to multi-image use cases, e.g. multi-page comics
|
|
2022-01-28 10:01:38
|
Nice! But can't this already be done with JXL? ^^
|
|
|
_wb_
|
2022-01-28 10:10:21
|
We have multi-frame/multi-layer in jxl, so it could be a potential payload codec for GMIS. GMIS is more about the metadata/container info of how the different images are related and stored with payload codecs
|
|
|
Scope
|
2022-01-28 10:28:50
|
Hmm, from what I could find some manga109 examples, these are mostly ex-JPEGs with typical artifacts <:SadOrange:806131742636507177>
|
|
|
lithium
|
2022-01-28 10:40:03
|
It's really hard keep all image on lossless format, even in 2022 still can find a lot of manga use jpg,
I understand lossless is great, but I hope jxl can implement some slight lossy method for non-photo content.
|
|
|
w
|
2022-01-28 10:41:59
|
lossless jxl works for me
|
|
2022-01-28 10:42:24
|
yesterday i got more than a 60% reduction on a doujin in png
|
|
2022-01-28 10:45:25
|
lossless music is fine
|
|
2022-01-28 10:45:28
|
lossless hi res music is dumb
|
|
|
Scope
|
|
w
yesterday i got more than a 60% reduction on a doujin in png
|
|
2022-01-28 10:49:50
|
Btw, what if use `-e 9 -E 3 -I 1 -g 3`, of course if the encoding time is not that important, some disadvantage of `-g 3` is that less threads will be used to decode a single image, but for browsers and manga there are usually many other images for parallel decoding
Otherwise, I got better total compression for manga content with such settings
|
|
|
w
|
2022-01-28 10:50:46
|
i currently only have -q 100 -e 9
|
|
2022-01-28 10:51:01
|
and i view the images on my phone so it's at most decoding 2 images at a time
|
|
|
_wb_
|
2022-01-28 10:52:24
|
One regret I have is not pushing for a -g 4 or higher, the bitstream is limited to -g 3 but parallel en/decode is not useful in all use cases so it might have been better not to force a max group size of 1 megapixel
|
|
|
Fox Wizard
|
2022-01-28 10:53:05
|
Jxl2 when? :p
|
|
|
Scope
|
|
w
and i view the images on my phone so it's at most decoding 2 images at a time
|
|
2022-01-28 10:53:35
|
I think this is also acceptable for the phone, because it's just a larger group size, so there will be less groups/tiles per image, but with enough resolution it's still fairly enough
|
|
|
w
|
2022-01-28 10:53:51
|
yeah i'll try it on the one from yesterday
|
|
|
_wb_
|
2022-01-28 10:53:53
|
There's always a tension between making the bitstream as expressive as possible (for better compression) and making it as non-expressive as possible (for faster decode)
|
|
|
Koromaru Korüko
|
|
w
yesterday i got more than a 60% reduction on a doujin in png
|
|
2022-01-28 10:54:36
|
oh my
|
|
|
_wb_
|
2022-01-28 10:55:58
|
1 MP group size means multithreading is still going to help as much as with the default 64 kilopixel group size, if you have an image that is [nb of cores] megapixels
|
|
|
Scope
|
|
_wb_
One regret I have is not pushing for a -g 4 or higher, the bitstream is limited to -g 3 but parallel en/decode is not useful in all use cases so it might have been better not to force a max group size of 1 megapixel
|
|
2022-01-28 10:56:10
|
Yes, I also wanted to suggest such a feature when the format was not yet finalized, as I remember WebP2 also uses tiles, but they can be the size of the width of the image or something like that
|
|
|
_wb_
|
2022-01-28 10:57:21
|
Then again having a _guarantee_ that parallel decode can be used is nice to have
|
|
2022-01-28 10:59:15
|
Also puts an upper bound on the memory needs of a decoder
|
|
|
Scope
|
|
_wb_
1 MP group size means multithreading is still going to help as much as with the default 64 kilopixel group size, if you have an image that is [nb of cores] megapixels
|
|
2022-01-28 11:03:13
|
Btw, how difficult is it to change the group size in FJXL code for the tests, I think that if the compression is not much worse, like 1-3%, then using the smallest group size and therefore increasing the number of used threads would also be good for even higher speeds or it also affects the optimization and SIMD or something else?
|
|
|
w
yeah i'll try it on the one from yesterday
|
|
2022-01-28 11:07:56
|
It is also better to do the comparison on some set of images rather than just a single image, because the compression is usually better on average, but may be worse on a specific image
|
|
|
w
|
2022-01-28 11:08:38
|
im doing it on the 50 pages from yesterday
|
|
|
Scope
|
2022-01-28 11:10:38
|
Then it's good and also better if these images are not from the same manga
|
|
|
w
|
2022-01-28 11:11:10
|
well it's just an apples to apples comparison
|
|
|
_wb_
|
|
Scope
Btw, how difficult is it to change the group size in FJXL code for the tests, I think that if the compression is not much worse, like 1-3%, then using the smallest group size and therefore increasing the number of used threads would also be good for even higher speeds or it also affects the optimization and SIMD or something else?
|
|
2022-01-28 11:14:24
|
Not very hard at all, just need to change some 256 in the code to 1024 and adjust the header that gets written
|
|
2022-01-28 11:15:18
|
Btw talking about manga... https://twitter.com/MichaelDBruton/status/1486741220751814656?t=zFwspQz8p27CXeAG2-kQDg&s=19
|
|
2022-01-28 11:16:16
|
Will be fun when I have to renew my passport
|
|
|
Scope
|
2022-01-28 11:18:22
|
So maybe I can make these changes in the code myself, although it might be useful to have this option in FJXL if it doesn't complicate the code too much
|
|
|
w
|
|
w
im doing it on the 50 pages from yesterday
|
|
2022-01-28 11:18:28
|
in total 80984 bytes smaller, 38443379 -> 38362395
|
|
|
Scope
|
2022-01-28 11:19:06
|
And if without -g 3, but with other options?
|
|
|
_wb_
|
2022-01-28 11:20:30
|
Larger group size is not necessarily better for compression, e.g. in fjxl, the RLE can be multiple rows, and you might get longer runs with smaller groups than with large ones
|
|
2022-01-28 11:21:09
|
And in slow cjxl, local palettes can be better with smaller groups than with larger ones
|
|
|
Scope
So maybe I can make these changes in the code myself, although it might be useful to have this option in FJXL if it doesn't complicate the code too much
|
|
2022-01-28 11:23:25
|
Should be easy to make it a compile option, probably a runtime option could be done too but not sure if that would affect performance
|
|
|
Scope
|
|
_wb_
Larger group size is not necessarily better for compression, e.g. in fjxl, the RLE can be multiple rows, and you might get longer runs with smaller groups than with large ones
|
|
2022-01-28 11:23:27
|
Yes, that's why I wanted to decrease the group size for FJXL instead of increasing it, to make more threads work and therefore faster encoding speed
|
|
|
_wb_
|
2022-01-28 11:23:48
|
How many cores do you have?
|
|
2022-01-28 11:24:50
|
Because a 1 MP image is already 16 groups with the current default group size
|
|
|
Scope
|
2022-01-28 11:24:57
|
There are 8 for now, but it may be possible to access up to 32
And these are just theoretical tests to compare how much compression can be worse or it does not really affect
|
|
|
_wb_
|
2022-01-28 11:27:49
|
Also: the palette detection and huffman code sampling is sequential, and I can't think of an effective way to avoid that for palette detection
|
|
2022-01-28 11:36:44
|
(one thing perhaps worth considering is doing palette detection per group and doing local palette instead of global. That would of course parallelize easily)
|
|
|
Scope
|
2022-01-28 11:42:53
|
Will it have a small effect on speed, outside of parallelization?
Because it is also likely to be better for compression
|
|
|
w
|
|
Scope
And if without -g 3, but with other options?
|
|
2022-01-28 11:44:32
|
-e 9
38443379
-e 9 -E 3 -I 1 -g 3
38362395
-e 9 -E 3 -I 1
38167988
|
|
|
Scope
|
2022-01-28 11:47:07
|
Hmm, yeah, `-g 3` didn't help on these sets, I had the similar thing on some of the manga sets, but overall it improved the result by like an extra 5-8%, so it really depends on the content
|
|
2022-01-28 11:48:11
|
But, `-E 3 -I 1` almost always helps, at the expense of some extra encoding time
|
|
|
_wb_
|
2022-01-28 12:07:09
|
Also decode time, for -E 3...
|
|
|
Scope
|
2022-01-28 12:57:28
|
However, not so much compared to only -e 9, but, yes, slow lossless modes in general are still quite slow also for decoding, especially on large images even using multithreading (which is also not enabled in Chromium engines)
|
|
|
lithium
|
2022-01-28 02:28:47
|
I totally agree jpeg xl lossless is great for non-photo content, 🙂
but for some use case, need use lossy method to get more compression,
(high quality lossy, near-lossless, high fidelity lossy, but not mathematically lossless),
In my test, av1(aomenc) DCT lossy mode and palette lossy mode on q7 s3,
can get good compression for my non-photo test set and picture still look very good,
but for some picture, av1 reduce too much detail and noise.
jxl(cjxl) varDCT lossy mode is very great on d1.0~0.5 e8,
can preserve grain,detail,noise better than av1,
but I still feel too much tiny artifacts on specific area for non-photo content,
and don't have auto palette mode to avoid DCT worst case.
I think if jxl can preserve grain,detail,noise and preserve high contrast sharp edge clear on vardct,
and have auto palette mode to avoid DCT worst case,
that will be very great.
|
|
|
Scope
|
2022-01-28 02:39:40
|
<https://github.com/BinomialLLC/basis_universal/wiki/Release-Notes>
> Except for Zstandard, all 3rd party code dependencies have been removed from the repo to simplify certification and code licensing. PNG reading/writing is now handled by new code (pvpngreader.cpp) **instead of lodepng**, Android's ASTC block unpacker is no longer required to build the encoder (we instead unpack the UASTC pixels directly to 24/32bpp pixels), and BMP loading has been temporarily removed.
it is strange that there may be some law problems with lodepng and wuffs and they are no longer used (because devs aren't from the U.S.) 🤔
|
|
2022-01-28 02:40:28
|
Jpeg XL as well? 🤔
|
|
|
_wb_
|
2022-01-28 02:44:54
|
That image isn't in my default test sets, in any case.
|
|
|
fab
|
2022-01-28 03:02:51
|
|
|
2022-01-28 03:03:07
|
<@!461421345302118401> look at the files youself
|
|
2022-01-28 03:03:48
|
this s 7 new heusitics fom 24 janua
|
|
2022-01-28 03:03:57
|
i used lates build fom today
|
|
2022-01-28 03:04:20
|
is not cjxlng that is incomplete and nobody has compiled latest cjxlng fo me
|
|
2022-01-28 03:05:05
|
brotlidec.dll is missing on my compute
|
|
2022-01-28 03:05:57
|
this in nomal heuistics is exatcly 1 bpp
|
|
2022-01-28 03:06:06
|
640 kb
|
|
|
lithium
|
2022-01-28 03:11:30
|
I haven't find encoder quality tag Pull requests at 2022,
maybe I miss something?
|
|
|
fab
|
2022-01-28 03:24:07
|
Yes there is an important ans improvement on 22th january
|
|
2022-01-28 03:24:24
|
And on 18 january jaimaika on doom9 compiled cjxlng
|
|
2022-01-28 03:24:34
|
That is incomplete
|
|
|
lithium
I haven't find encoder quality tag Pull requests at 2022,
maybe I miss something?
|
|
2022-01-28 03:25:53
|
I'll advice to refuse svt av1 0.9.0 normal
|
|
2022-01-28 03:26:12
|
There isnt bug fixed that it looks blocky on open movement
|
|
2022-01-28 03:26:21
|
More blocky than closed One
|
|
2022-01-28 03:26:53
|
And bitrate is like 756kb vs 1100 kb for complex HD footage
|
|
2022-01-28 03:27:02
|
Use latest pipeline
|
|
2022-01-28 03:27:09
|
On gitlab
|
|
2022-01-28 03:27:21
|
There is m12 idfa
|
|
2022-01-28 03:27:28
|
Idap
|
|
2022-01-28 03:28:04
|
Is a substantial change 500 Lines of code for av1
|
|
2022-01-28 03:28:17
|
Still It doesnt look Good perfrpmsncd wose
|
|
|
monad
|
|
Scope
Jpeg XL as well? 🤔
|
|
2022-01-28 11:07:12
|
Note that "developed without Lena" is deceptively broad, as Lena was previously part of their test corpus. <https://github.com/phoboslab/qoi/issues/35#issuecomment-980522411>
|
|
|
190n
|
2022-01-28 11:11:19
|
is it really possible to have a codec "developed without Lena"? you're still drawing on knowledge from previous codecs that were developed with Lena
|
|
|
Scope
|
2022-01-28 11:11:30
|
I think they are talking about other products of their company
|
|
|
monad
|
2022-01-28 11:23:18
|
I guess technically so. Still ironic. 🤷♂️
|
|
|
Scope
|
|
Scope
Also for the sake of interest, while reading some blogs, does JXL use only rANS?
Something from FSE/tANS is not very suitable for such cases or does it not give any benefits?
<https://fgiesen.wordpress.com/2015/12/21/rans-in-practice/>
|
|
2022-01-29 12:34:17
|
Meanwhile, in PIK there were FSE/tANS experiments/usage
|
|
2022-01-29 07:28:28
|
🤔
<http://cbloomrants.blogspot.com/2018/10/oodle-lossless-image.html>
|
|
2022-01-29 07:29:14
|
> Oodle Lossless Image is all about speed, but still achieves very high compression ratios - equaling or bettering WebP, FLIF, JPEG2000, and of course way more than PNG.
>
> But unlike other compressors that accept a trade-off for slower speeds, Oodle Lossless Image is still super fast - its decode speed is 5-10x faster than PNG and 200-500x faster than FLIF! It's just massively faster than anything else at these compression levels.
|
|
2022-01-29 07:30:24
|
>
> **fgiesen**
> The speedup is mostly from replacing zlib with the Oodle codecs and some high-level changes to filtering to get more parallelism. The basic architecture is very similar to PNG, i.e. apply lossless filters then hand over to a LZ backend. The filters are the standard PNG filters plus a few new ones, namely 3 different types of gradient predictors (sorely missing in stock PNG) and a parametric linear predictor (fixed-point filter coeffs are determined at encode time and stored)
> Images are usually chopped into independent tiles that can then be predicted simultaneously (regular PNG filters are very serial).
|
|
2022-01-29 07:33:38
|
What is the parametric linear predictor, is it useful?
Or does JXL have something similar or just as efficient and fast?
Also about MRP (Minimum Rate Predictor) there are plenty of research papers about it, mostly for grayscale images, but currently it is not so actual?
|
|
2022-01-29 07:37:39
|
However, Oodle Lossless Image is not easy to test and get, although it seems to be free for those who use Unreal Engine
<https://www.unrealengine.com/en-US/blog/oodle-now-free-to-use-in-unreal-engine-via-github>
|
|
2022-01-29 07:45:59
|
And as I wrote before, some mode for JXL with relatively good compression but very fast decompression would be very useful (I think it's possible to be faster at decoding than WebP, with the same or better compression, if consider using multithreading)
|
|
|
_wb_
|
2022-01-30 08:36:35
|
Yes, faster lossless decode should be possible, with some specialized paths for up to 14-bit and limited use of transforms
|
|
|
Scope
|
2022-01-31 05:31:29
|
On the one hand it is interesting and PNG is already a common format, but on the other hand, perhaps it would be better to spend months of work and research in some modern formats, especially the game industry is not so dependent on standardized and common formats as the Web and the using of even some custom/proprietary is quite common
https://twitter.com/richgel999/status/1487961655279591427
|
|
2022-01-31 05:35:46
|
Although RDO can be useful for any format, but this tuning is mostly only for Deflate and PNG filters
|
|
2022-01-31 06:18:03
|
But still, something new for old formats is always good
https://twitter.com/richgel999/status/1487963294417760256
|
|
2022-01-31 12:33:36
|
<:monkaMega:809252622900789269>
https://twitter.com/richgel999/status/1488124880679755776
|
|
2022-01-31 01:21:37
|
Free <:Thonk:805904896879493180>
Also, I'm not sure that using copyrighted images, photos and arts makes them free after adding a transparent background
|
|
2022-01-31 02:11:25
|
Yeah, but it's like, it's not us, it's users uploading copyrighted material
|
|
2022-01-31 02:24:23
|
I also thought about using this for tests/comparisons, but, what I see doesn't look like CC/PD images
|
|
|
_wb_
|
2022-01-31 02:54:17
|
it does look like they aim for CC0 originals, not sure how thorough they check for it though
|
|
|
Scope
|
2022-02-03 09:52:22
|
https://twitter.com/richgel999/status/1489164478113587201
|
|
2022-02-04 05:26:26
|
Also about suggestions from various people that JXL needs a different extension for lossless, because everyone knows that PNG is only lossless
https://twitter.com/richgel999/status/1489594494748176385
|
|
|
_wb_
|
2022-02-04 06:15:29
|
Replied in that thread: https://twitter.com/jonsneyers/status/1489660057356804096?t=MzP7CRei1s6J-1aT42qFDw&s=19
|
|
2022-02-04 06:17:18
|
I don't think lossy png is a particularly good idea. Interesting maybe, to see how far it can be pushed. And there is some compatibility argument to be made: it's still the only universally supported format that does alpha.
|
|
2022-02-04 06:17:33
|
But any other modern codec will absolutely beat png in lossy encoding
|
|
|
Nova Aurora
|
|
Scope
Also about suggestions from various people that JXL needs a different extension for lossless, because everyone knows that PNG is only lossless
https://twitter.com/richgel999/status/1489594494748176385
|
|
2022-02-05 12:12:19
|
A different extension for animated could be useful in case of putting an animated jxl through an application that only supports still images, (Although I know it would just use the first frame IIRC).
|
|
|
Eugene Vert
|
2022-02-05 02:24:49
|
Can some kind of file extension/mime for multi-page jxl also be useful?
Taking tiff as an example, it's a bit inconvenient to constantly have to switch between image and document viewer, as a few image viewers support multi-page tiff.
|
|
|
190n
|
2022-02-05 02:30:54
|
do you mean like an extension other than .jxl, or an extension to the format? i thought the format already supported multiple pages
|
|
|
Eugene Vert
|
2022-02-05 02:33:27
|
Something like '.mjxl' for multipage-jxl
|
|
|
190n
|
2022-02-05 02:34:02
|
well, if motion jxl becomes a thing they might want .mjxl
|
|
2022-02-05 02:34:30
|
but i think in general the extension is always .jxl, and perhaps document viewers could add support for jxl files whether or not they have multiple pages
|
|
|
w
|
2022-02-05 03:32:46
|
isn't the idea that the jxl is tagged with headers for stuff like that
|
|
|
diskorduser
|
2022-02-05 05:16:32
|
It's just people want to recognise jxl type without opening the file. It would be better on Linux to identify the jxl type and assign specific icon to single layer jxl and multilayer jxl. But on windows that's not possible I guess.
|
|
|
Eugene Vert
|
|
w
isn't the idea that the jxl is tagged with headers for stuff like that
|
|
2022-02-05 05:26:55
|
Even with different mime type it will require OS parse not only signature, but also pretty complex ImageMetadata header and AnimationHeader bundle :(
|
|
|
w
|
2022-02-05 05:29:49
|
well it's not in the spec
|
|
2022-02-05 05:29:55
|
so you will be making an extension/your own spec
|
|
2022-02-05 05:30:11
|
as it always has been with jpeg etc
|
|
2022-02-05 05:31:14
|
it's not like your custom usage of jxl will be supported by libjxl
|
|
2022-02-05 05:32:19
|
and file extensions are just file extensions
|
|
2022-02-05 05:32:39
|
your program and os better well be reading the headers
|
|
|
190n
|
2022-02-05 05:32:42
|
oh is multipage not in the spec? i thought it might be
|
|
|
w
|
2022-02-05 05:33:00
|
idk about multi pages
|
|
2022-02-05 05:33:05
|
i think there's layers
|
|
|
The_Decryptor
|
2022-02-05 05:51:29
|
I think the layers serve dual purpose, either for animaiton or for blending (e.g. modular patch layer over a vardct layer)
|
|
|
w
|
2022-02-05 05:52:02
|
animation frames can be used for pages
|
|
|
Eugene Vert
|
2022-02-05 05:55:27
|
As I understood,
have_animation: false && multiple frames => layers
have_animation: true && multiple frames => animation
have_animation: true && multiple frames && max frame duration => multipage
|
|
|
w
|
2022-02-05 05:56:46
|
that mainly sounds like an implementation specific kind of thing
|
|
2022-02-05 05:56:53
|
since it's not like my windows photos will support multiple pages
|
|
|
Koromaru Korüko
|
|
diskorduser
It's just people want to recognise jxl type without opening the file. It would be better on Linux to identify the jxl type and assign specific icon to single layer jxl and multilayer jxl. But on windows that's not possible I guess.
|
|
2022-02-05 06:03:32
|
I mean, for that we just have 3 extensions that are all functionally the same.
.ijxl .ajxl .mjxl
image jxl, animated jxl, motion jxl.
along with just standard jxl.
all functionally the same, just with different extensions.
the issue with that would then be, someone without relative know how wants to restrict say, animated jxls then you have the issue of them making a poor implementation, just restricting the extension of ajxl.
|
|
2022-02-05 06:04:08
|
so yes, it would be nice to have windows properly display icons for all the different types.
but realistically it won't really serve any benefit.
|
|
2022-02-05 06:05:02
|
ontop of that, this can be something implemented by the user and not the standard.
as it has 0 impact on decoding and encoding
|
|
|
w
|
2022-02-05 06:05:26
|
i recognize the jxl type by looking at the filename containing the extension .jxl
|
|
|
Koromaru Korüko
|
2022-02-05 06:05:35
|
as you should
|
|
2022-02-05 06:06:13
|
currently my method of file detection is checking it against all supported magic numbers.
then just returning a generic file not supported error for anything not found.
|
|
|
w
|
2022-02-05 06:06:44
|
if there's no extension on an image, i drag the file into firefox to see if it opens
|
|
|
Koromaru Korüko
|
2022-02-05 06:06:50
|
||APNG IS A FUCKING BITCH||
|
|
2022-02-05 06:07:36
|
na, i use it for an image board.
so extensions that I support but need special handling, that have 0 magic numbers are ... anoying
|
|
|
VEG
|
|
diskorduser
It's just people want to recognise jxl type without opening the file. It would be better on Linux to identify the jxl type and assign specific icon to single layer jxl and multilayer jxl. But on windows that's not possible I guess.
|
|
2022-02-05 09:22:12
|
On Windows, shell extensions allow to show icons depending on file contents. For example, Visual Studio solution files show their Visual Studio version on icon, even though the file extension is always the same.
|
|
2022-02-05 09:26:10
|
|
|
|
monad
|
|
Eugene Vert
As I understood,
have_animation: false && multiple frames => layers
have_animation: true && multiple frames => animation
have_animation: true && multiple frames && max frame duration => multipage
|
|
2022-02-05 09:29:26
|
Animations can include series of zero-duration frames, which I'd guess is indistinct from "layers" here. Max frame duration to signal "pages" was just a suggested convention.
|
|
|
VEG
|
2022-02-05 09:35:07
|
Telegram implemented animated video stickers based on VP9 with alpha channel somehow 🤔
|
|
2022-02-05 09:35:39
|
https://telegram.org/blog/video-stickers-better-reactions
|
|
2022-02-05 09:36:09
|
APNG is used for the same purpose by Steam and iMessage
|
|
2022-02-05 09:36:21
|
But I guess VP9 must be more effective
|
|
2022-02-05 09:43:13
|
Yeah, it's just webm files with alpha channel. Didn't know that VP9 supports alpha channel. Cool.
|
|
|
DZgas Ж
|
|
VEG
Telegram implemented animated video stickers based on VP9 with alpha channel somehow 🤔
|
|
2022-02-05 12:10:12
|
it's funny because VP9 Profile 1 is NOT supported anywhere as hardware decoding
|
|
2022-02-05 12:10:55
|
it just lags on my smartphone 2018
|
|
2022-02-05 12:13:30
|
remains only to wait for the support of AV1 and then we will gread live
|
|
2022-02-05 12:15:25
|
although without hardware support we have only reached the Power to play 1080p HEVC....2013
|
|
2022-02-05 12:17:55
|
telegram supports HEVC for a long time but I encode it only with the FASTDECODE key and level 3.1 (720p 30fps max or 540p 60 fps max) because otherwise Most smartphones Won’t Play it
|
|
2022-02-05 12:19:58
|
how to optimize av1
This is problem
the world is not ready
|
|
|
VEG
|
|
DZgas Ж
it just lags on my smartphone 2018
|
|
2022-02-05 01:01:58
|
It works perfectly fine on my old 2014 PC, but yeah, it is a bit slower than expected on a smartphone
|
|
2022-02-05 01:02:14
|
Probably, just bad implementation, and it can be optimized?
|
|
|
DZgas Ж
|
|
VEG
Probably, just bad implementation, and it can be optimized?
|
|
2022-02-05 01:08:24
|
no
|
|
2022-02-05 01:08:51
|
single videos work well
|
|
|
diskorduser
|
2022-02-05 01:09:05
|
It should be okay for stickers. Lower resolution
|
|
|
DZgas Ж
|
2022-02-05 01:09:52
|
but when the total videos play exceeds 2 megapixels, problems begin
|
|
2022-02-05 01:10:42
|
a lot of stickers and gifs, for a telegram this is a maximum of 8 stickers at a time
|
|
2022-02-05 01:11:49
|
it would be better if the size of the stickers was not 512 but 256 pixels
|
|
2022-02-05 01:13:42
|
probably the decision was also made because in the VP9 codec size 512 is the minimum size at which two-theard encode and decode is possible
|
|
|
diskorduser
|
|
DZgas Ж
telegram supports HEVC for a long time but I encode it only with the FASTDECODE key and level 3.1 (720p 30fps max or 540p 60 fps max) because otherwise Most smartphones Won’t Play it
|
|
2022-02-05 01:14:26
|
Does tg avoid re encoding when sending level 3.1 hevc videos ?
|
|
|
DZgas Ж
|
2022-02-05 01:15:16
|
telegram does not change original videos at all
|
|
2022-02-05 01:16:05
|
only if you're on a smartphone can you compress your gigantic videos quickly
|
|
2022-02-05 01:16:28
|
low quality
|
|
|
diskorduser
|
2022-02-05 01:16:34
|
So you mean, it doesn't transcode on tg desktop
|
|
|
DZgas Ж
|
|
diskorduser
So you mean, it doesn't transcode on tg desktop
|
|
2022-02-05 01:16:59
|
doesn't transcode on all tg
|
|
2022-02-05 01:18:25
|
I want to say that VP9 is a terrible format that works well exclusively on YouTube
|
|
|
diskorduser
|
2022-02-05 01:19:01
|
But when I send videos on telegram on smartphone, it re encodes the file to x264.
|
|
|
DZgas Ж
|
|
DZgas Ж
I want to say that VP9 is a terrible format that works well exclusively on YouTube
|
|
2022-02-05 01:19:25
|
the main problem is multi-threaded coding
|
|
|
diskorduser
But when I send videos on telegram on smartphone, it re encodes the file to x264.
|
|
2022-02-05 01:19:52
|
what video are you sending?
|
|
|
diskorduser
|
2022-02-05 01:20:26
|
Any vp9 and x265
|
|
|
DZgas Ж
|
|
diskorduser
But when I send videos on telegram on smartphone, it re encodes the file to x264.
|
|
2022-02-05 01:20:52
|
if your video weighs a lot, it sets the default setting for its compression, because no one wants to download 200 megabytes for 10 seconds of 4k video from a smartphone
|
|
|
diskorduser
Any vp9 and x265
|
|
2022-02-05 01:22:03
|
vp9 is of course not supported, but hevc... is actually a smart solution, because my smartphone will not be able to play 1080p 60 fps
|
|
2022-02-05 01:22:44
|
but compressing in hevc is too expensive even with not the most minimal parameters
|
|
|
diskorduser
|
2022-02-05 01:22:54
|
Your phone doesn't have vp9 hw decode?
|
|
|
DZgas Ж
|
|
diskorduser
Your phone doesn't have vp9 hw decode?
|
|
2022-02-05 01:23:10
|
my have
|
|
2022-02-05 01:23:26
|
telegram have not
|
|
|
w
|
|
DZgas Ж
|
2022-02-05 01:25:52
|
<:Android:806136610642853898>
|
|
|
diskorduser
|
|
w
|
2022-02-05 01:26:23
|
i dont get it
|
|
|
DZgas Ж
|
2022-02-05 01:27:18
|
I wonder if there will animated AVIF (just av1 non-sound)
|
|
|
w
|
2022-02-05 01:27:52
|
dont you mean
|
|
2022-02-05 01:27:54
|
just av1 without sound
|
|
|
DZgas Ж
|
2022-02-05 01:28:26
|
but like gif
|
|
2022-02-05 01:28:49
|
finally
0 kb gifs
|
|
|
w
|
2022-02-05 01:29:04
|
what makes gif different from a video
|
|
|
DZgas Ж
|
2022-02-05 01:29:12
|
sound
|
|
2022-02-05 01:29:18
|
a
|
|
|
w
|
2022-02-05 01:29:24
|
sound is completely separate
|
|
|
DZgas Ж
|
2022-02-05 01:29:29
|
gif is video
|
|
2022-02-05 01:29:38
|
today
|
|
2022-02-05 01:30:17
|
in telegram any video without sound is a gif (10 mb max)
|
|
|
diskorduser
|
|
DZgas Ж
in telegram any video without sound is a gif (10 mb max)
|
|
2022-02-05 01:44:42
|
🤔🤔🤔
|
|
2022-02-05 01:45:24
|
I just sent one video without audio. It didn't convert to gif.
|
|
|
Scope
|
2022-02-05 01:50:59
|
Maybe it's just a naming, a lot of image hosting sites and even in Discord short animations are shown as GIF, but in fact it is H264 video or something like that
|
|
|
DZgas Ж
|
|
diskorduser
I just sent one video without audio. It didn't convert to gif.
|
|
2022-02-05 02:04:55
|
do not convert
|
|
2022-02-05 02:05:08
|
gif is not .gif
|
|
|
Scope
Maybe it's just a naming, a lot of image hosting sites and even in Discord short animations are shown as GIF, but in fact it is H264 video or something like that
|
|
2022-02-05 02:05:46
|
Discord is outdated.
|
|
2022-02-05 02:06:09
|
it still uses gif is .gif
|
|
|
Cool Doggo
|
2022-02-05 02:18:23
|
because it uses what you give it
|
|
|
DZgas Ж
|
|
Cool Doggo
because it uses what you give it
|
|
2022-02-05 02:22:13
|
can you use mp4 without sound? no.
|
|
|
Koromaru Korüko
|
|
DZgas Ж
can you use mp4 without sound? no.
|
|
2022-02-05 02:35:07
|
Discord will accept any chromium supported format with 0 conversions
|
|
2022-02-05 02:35:39
|
it will also support any non-chromium supported format, but will only allow you to download it,
with 0 conversions
|
|
|
DZgas Ж
|
2022-02-05 02:36:20
|
what?
|
|
|
Koromaru Korüko
|
2022-02-05 02:38:05
|
discord allows anything your browser will and it will display it.
discord does not do any behind the scenes conversions or transcoding.
as far as Im aware discord will however compress all uploaded files internally.
|
|
2022-02-05 02:39:04
|
also gif is not in any means close to a video format.
|
|
|
DZgas Ж
|
2022-02-05 02:39:15
|
the Discord just can't play it as a gif, although it's a matter of one fix from the developers, just like support for any new codec like AV1 or JPEG XL
It's just that the developers haven't made any innovations for many years.
|
|
|
Koromaru Korüko
|
2022-02-05 02:39:38
|
because they don't need to.
|
|
|
DZgas Ж
|
2022-02-05 02:39:55
|
i need
|
|
|
Koromaru Korüko
|
2022-02-05 02:40:02
|
and they dont support AV1 and JPEG XL because, its not supported on every browser
|
|
2022-02-05 02:40:17
|
then do the conversion yourself
|
|
|
DZgas Ж
|
|
Koromaru Korüko
and they dont support AV1 and JPEG XL because, its not supported on every browser
|
|
2022-02-05 02:40:30
|
av1 now support in all
|
|
2022-02-05 02:40:40
|
and avif
|
|
|
Koromaru Korüko
|
2022-02-05 02:41:07
|
|
|
2022-02-05 02:41:10
|
no it isn't
|
|
|
DZgas Ж
|
|
Koromaru Korüko
|
|
2022-02-05 02:41:37
|
its no browser
|
|
|
Koromaru Korüko
|
2022-02-05 02:42:25
|
|
|
2022-02-05 02:42:25
|
again
|
|
2022-02-05 02:42:33
|
AV1 is not supported by every browser
|
|
2022-02-05 02:42:48
|
please google it yourself, if you still don't believe me.
|
|
2022-02-05 02:43:46
|
and this is the reason that discord like quite a few other platforms still choose to not natively support it.
as it would mean writing special case scenarios just for supporting browsers.
|
|
|
DZgas Ж
|
|
Koromaru Korüko
|
|
2022-02-05 02:44:02
|
safari only
|
|
2022-02-05 02:44:05
|
bruh
|
|
|
_wb_
|
2022-02-05 02:44:19
|
Safari is also every browser on iOS
|
|
2022-02-05 02:44:46
|
Chrome and firefox on iOS are Safari with a skin
|
|
|
DZgas Ж
|
2022-02-05 02:44:52
|
It seems that discord is used on smartphones Not through a browser
|
|
|
Koromaru Korüko
|
2022-02-05 02:45:09
|
yes it is
|
|
2022-02-05 02:45:22
|
discord is ran on what is called an embedded browser container
|
|
|
Scope
|
2022-02-05 02:45:28
|
About the GIF, I think because it will replace stickers and Tenor (as their special feature), but, for example, this is a video (although shown as a GIF)
https://discord.com/channels/794206087879852103/805007255061790730/939105391940354068
|
|
|
_wb_
|
|
DZgas Ж
It seems that discord is used on smartphones Not through a browser
|
|
2022-02-05 02:45:36
|
Probably same issue though: they're going to want to rely on Apple CoreMedia for image/video rendering
|
|
|
Koromaru Korüko
|
2022-02-05 02:45:49
|
its in a sense the exact same as a browser, just with a few extra features on the js interface.
|
|
|
DZgas Ж
|
2022-02-05 02:46:28
|
this is strange because they made API for mp4-gif only with Tenor
|
|
|
Koromaru Korüko
|
2022-02-05 02:46:51
|
that would be something that happens on the server-side of things within tenor
|
|
|
Scope
|
|
Scope
About the GIF, I think because it will replace stickers and Tenor (as their special feature), but, for example, this is a video (although shown as a GIF)
https://discord.com/channels/794206087879852103/805007255061790730/939105391940354068
|
|
2022-02-05 02:46:54
|
And most likely the same reason why APNG and animated WebP features are disabled
|
|
|
DZgas Ж
|
2022-02-05 02:47:39
|
animated WebP is stillborn
|
|
2022-02-05 02:48:40
|
I have seen Microsoft use APNG on their websites
|
|
|
Koromaru Korüko
|
2022-02-05 02:49:26
|
thats because its practically supported everywhere
|
|
|
DZgas Ж
|
2022-02-05 02:49:34
|
But of course, Discord does not support it.
|
|
|
diskorduser
|
2022-02-05 02:49:52
|
Does discord on iOS runs on safari ?
|
|
|
Koromaru Korüko
|
2022-02-05 02:50:19
|
I'm pretty sure due to the nature of apng, you can just upload it as png and it will work all the same.
|
|
2022-02-05 02:50:42
|
the point was, that only the browser needs to support it, not the platform
|
|
|
Cool Doggo
|
2022-02-05 02:50:48
|
you have to open it in a browser for it to work
|
|
2022-02-05 02:50:54
|
doesnt work on discord
|
|
|
Koromaru Korüko
|
2022-02-05 02:51:12
|
that would be down to the embed container not supporting it then
|
|
|
DZgas Ж
|
2022-02-05 02:51:31
|
the discord app runs on "electron JS" and compiles in its own mini "browser"
|
|
|
Koromaru Korüko
|
2022-02-05 02:53:15
|
`discord/1.0.44 Chrome/91.0.4472.164 Electron/13.6.6`
|
|
2022-02-05 02:53:23
|
its Electron 13
|
|
2022-02-05 02:53:32
|
Electron is dated and bad
|
|
2022-02-05 02:53:37
|
and I hate working with it
|
|
|
DZgas Ж
|
2022-02-05 02:53:45
|
in theory, they could do an aggressive PR campaign by adding codecs to their application that are still missing in the browser... but they have not added absolutely anything since the very beginning of discord
|
|
|
Koromaru Korüko
|
2022-02-05 02:53:45
|
but no, Electron does not support APNG
|
|
2022-02-05 02:54:16
|
not in theory, as most of the time 1. no one cares, 2. its a lot of developmental work
|
|
|
Cool Doggo
|
2022-02-05 02:54:58
|
(discord's stickers are apng/png)
|
|
|
Koromaru Korüko
|
2022-02-05 02:54:58
|
christ the only reason i got into making the wasm interface for libjxl was so I can more easily make native jxl decoding in the browser
|
|
|
Scope
|
2022-02-05 02:56:01
|
As I said, this is done on purpose so as not to compete with the paid and other (like a collaboration with Tenor) functionality, not for technical or other reasons
|
|
|
DZgas Ж
|
|
Cool Doggo
(discord's stickers are apng/png)
|
|
2022-02-05 02:57:56
|
hahaha yes
|
|
2022-02-05 02:57:59
|
https://media.discordapp.net/stickers/891173091802234920.png
|
|
2022-02-05 02:58:27
|
that is, the developers simply banned another apng
|
|
|
Scope
|
2022-02-05 02:59:35
|
Unlike, for example, AV1, because full support for such videos would require conversion to more compatible formats, which requires additional costs for servers and other things, so AV1 support is a technical reason
|
|
|
DZgas Ж
|
|
Scope
Unlike, for example, AV1, because full support for such videos would require conversion to more compatible formats, which requires additional costs for servers and other things, so AV1 support is a technical reason
|
|
2022-02-05 03:02:36
|
this is not a problem, no conversion is needed, just give support for the codec, and the users themselves will use it
|
|
2022-02-05 03:03:57
|
everyone can't wait to compress full anime series into 8 mb for one series
|
|
2022-02-05 03:06:39
|
(if you have a threadripper)
|
|
|
Scope
|
2022-02-05 03:06:42
|
This is a very small percentage of enthusiasts who really need it, most users are more concerned about making sure everything works properly or they will be angry and spam the support about why some videos do not work
|
|
|
Cool Doggo
|
2022-02-05 03:07:23
|
vp9 doesnt work on ios or mac
|
|
2022-02-05 03:07:35
|
and they dont convert it
|
|
|
DZgas Ж
|
|
Scope
This is a very small percentage of enthusiasts who really need it, most users are more concerned about making sure everything works properly or they will be angry and spam the support about why some videos do not work
|
|
2022-02-05 03:07:57
|
I think it will be easy to make an inscription that the video is not supported by the browser, but most users still sit from the application on a PC or smartphone
|
|
|
Scope
|
2022-02-05 03:09:44
|
VP9 is a much older format, I don't know about Discord, but Apple said they added VP9 support at least for YouTube (so theoretically it's supported)
|
|
|
Cool Doggo
|
2022-02-05 03:10:10
|
yes, and it doesnt work on discord
|
|
2022-02-05 03:11:45
|
just like hevc doesnt work on all platforms on discord, but does for some
|
|
2022-02-05 03:12:00
|
do they convert it to make it more compatible? no
|
|
|
DZgas Ж
|
2022-02-05 03:19:19
|
nobody converts anything
|
|
2022-02-05 03:20:32
|
keep vp9
|
|
|
_wb_
|
2022-02-05 03:21:01
|
Discord does downscale uploaded images (poorly btw, it ignores icc profiles and assumes everything is sRGB)
|
|
|
DZgas Ж
|
|
_wb_
Discord does downscale uploaded images (poorly btw, it ignores icc profiles and assumes everything is sRGB)
|
|
2022-02-05 03:22:26
|
yes for preview
|
|
2022-02-05 03:24:11
|
I would like the previews to be in avif format
|
|
|
Scope
|
2022-02-09 07:33:24
|
https://twitter.com/richgel999/status/1491301580766728193
|
|
2022-02-09 07:51:53
|
I do not think that these speeds are really needed, but I guess it is possible for JXL, something similar to LZ4 (for example LZSSE even faster and denser) or even if take some Huffman variations, they are slower by less than 2 times, which is also pretty fast
Perhaps it was also worth keeping Brotli for pixel data compression as it was before, or does that not make sense when LZ77 was added?
Pure Brotli isn't really effective for image/pixel data, but if using just some parts for experiments, maybe it would make sense
|
|
2022-02-09 08:20:52
|
Also, this is not the first time the LZ4 has been mentioned as something unbeatable in terms of speed
|
|
2022-02-09 08:22:52
|
Btw, I have a gigabit internet for about 10 years, but I'm still worried about the size
So again two polarities, some people want maximum compression even for lossy and something like AVIF or even AI codecs is the most needed evolution of formats (even with a significant difference from the original, but if they look pleasant), others don't really care about good compression even for lossless
<:Thonk:805904896879493180>
https://twitter.com/richgel999/status/1491303414898528257
|
|
|
190n
|
2022-02-09 08:25:24
|
oh my god <:kekw:808717074305122316>
|
|
|
_wb_
|
2022-02-09 08:46:47
|
I think the whole spectrum from maximum compression to maximum speed is interesting and there are use cases for every trade-off
|
|
2022-02-09 08:47:50
|
(for lossless)
|
|
2022-02-09 08:49:13
|
there's also lossy where you have the extra dimension of loss/quality/distance — there too there are use cases for every trade-off
|
|
2022-02-09 08:51:17
|
imo, JXL covers a good chunk of the spectrum for both lossless and lossy, in the sense that it is Pareto optimal in a good chunk of the (speed,density,quality) space
|
|
2022-02-09 08:53:17
|
but sure there are extremes where something else will be better: if you want extreme speed (no matter the compression), something else will be better; if you want extreme lossless compression (no matter the speed), something else will be better; if you want extreme lossy compression (no matter the quality), something else will be better.
|
|
|
fab
|
2022-02-09 08:53:34
|
when next change in quality
|
|
|
_wb_
|
2022-02-09 08:54:35
|
probably after the 1.0 release there will be more time to go back to encoder improvements
|
|
|
Scope
|
2022-02-09 09:02:06
|
Yep, also, I think it's better to make implementations for specific use cases in a single flexible format than to integrate many different QOI-like formats just for some specific purpose (unless it's significantly better for that)
|
|
|
_wb_
|
2022-02-09 09:32:08
|
I guess it depends on how interoperable things need to be — if it's some internal format that is used by a game or inside some hardware, it's easier tot have application specific formats, even if they only bring marginal advantages compared to standard formats.
|
|
2022-02-09 09:33:33
|
But in many use cases, interoperability is very important and useful, which is why PNG and JPEG are still relevant even though there are formats that beat them in all technical aspects (but not in software support)
|
|
|
fab
|
2022-02-09 09:39:23
|
jpeg xl don't wok on pix 2.11 why
|
|
2022-02-09 09:41:23
|
avif not
|
|
|
Scope
|
2022-02-09 10:42:37
|
Also, even in games the existing software format has been adapted for hardware decoding instead of making a completely new one, this also helps its widespread and universality even where there is no such hardware decoder
https://cbloomrants.blogspot.com/2020/09/how-oodle-kraken-and-oodle-texture.html
|
|
|
VEG
|
2022-02-09 01:05:35
|
I didn't get if Oodle compressors source code was released with UE source code, or it is included as a binary only?
|
|
2022-02-09 01:06:24
|
https://github.com/EpicGames/UnrealEngine/search?q=oodle
|
|
2022-02-09 01:07:22
|
There are some headers related to Oodle, but I don't see the source code of the libraries
|
|
2022-02-09 01:09:53
|
https://github.com/EpicGames/UnrealEngine/blob/99b6e203a15d04fc7bbbf554c421a985c1ccb8f1/Engine/Plugins/Developer/TextureFormatOodle/Source/Private/TextureFormatOodle.cpp
|
|
|
Scope
|
2022-02-09 01:11:27
|
There are private repositories for UE subscribers, but as far as I looked, not all Oodle compressors have source code
And for example some private repo clone
<https://github.com/hxhb/oodle-compression>
|
|
|
VEG
|
2022-02-09 01:12:50
|
https://github.com/EpicGames/UnrealEngine/ is actually public
|
|
2022-02-09 01:13:02
|
You just need to tie your Epic Games account to your GitHub account to get access
|
|
2022-02-09 01:13:26
|
https://www.unrealengine.com/en-US/ue4-on-github
|
|
|
Scope
|
2022-02-09 01:15:34
|
And still, Oodle Lossless Image Compression does not yet have open sources
|
|
|
VEG
|
2022-02-09 01:16:13
|
Yeah, would be nice if it were released
|
|
|
cucumber
|
2022-02-11 01:01:49
|
https://deepmind.com/blog/article/MuZeros-first-step-from-research-into-the-real-world
|
|
|
Scope
|
2022-02-11 01:51:07
|
https://twitter.com/richgel999/status/1492061428127342600
|
|
2022-02-11 01:58:57
|
But, if it is not something like RDO-PNG and completely new non-compatible codec, how will it be better than any other modern lossy format?
I think from modern formats it is possible to get very high decoding speed too, if using only fast for decoding features (at least for high bpps)
|
|
|
_wb_
|
2022-02-11 02:48:05
|
Things like DCT and color transform can be done very fast using general-purpose very-parallel hardware like GPUs or DSPs
|
|
2022-02-11 03:36:55
|
Also, why do we need extremely fast lossy? There is a limit on how fast humans can process images...
|
|
|
Fraetor
|
2022-02-11 03:47:30
|
The main use case I can think of is computer graphics, and games especially.
|
|
|
_wb_
|
2022-02-11 05:08:51
|
Texture formats is not just about being fast though - encode can be slow, and decode mostly has to be something that can be done on the fly in the gpu, i.e. you need fixed block sizes
|
|
|
Koromaru Korüko
|
2022-02-11 05:55:58
|
I think people are thinking that if their image can decode 1ms faster, they'll somehow "feel" it
|
|
2022-02-11 05:57:13
|
and even then with the current state of the reference decoder, its more then fast enough for VarDCT decodes.
on all my current test image ranging from 8K down to 720P its been roughly ~130ms to 50ms
|
|
2022-02-11 05:57:34
|
which for a webpage is fast enough at those sizes
|
|
|
_wb_
|
2022-02-11 07:43:22
|
Webpages nowadays are layers and layers of javascript frameworks, often taking several seconds before the browser even gets to make an image request
|
|
|
Koromaru Korüko
|
2022-02-11 07:54:35
|
I was more thinking for when scrolling content scenarios, where the user is loading more and more content as they scroll.
then it would matter if the image takes a second or 100ms to load.
|
|
2022-02-11 07:54:53
|
but most users excuse the 1-2 second delay for scrolling.
|
|
|
w
|
2022-02-11 07:55:32
|
just turn off animations
|
|
2022-02-11 07:55:38
|
now browser feels super snappy
|
|
2022-02-11 07:55:45
|
???
|
|
|
diskorduser
|
2022-02-12 12:35:16
|
Without animations, everything is janky
|
|
|
_wb_
|
2022-02-12 06:00:06
|
https://twitter.com/jonsneyers/status/1492558805921636354?s=20&t=7lHHpdu2s7GF1GpT_oteb-cq1yc-ohFjuR8-wvpEOXw
|
|
2022-02-12 06:01:55
|
I'm basically saying that 8-bit YCbCr is a racist colorspace and we should all use XYB
|
|
|
lithium
|
2022-02-12 06:05:39
|
I think this features also work for non-photo content?
> In JPEG XL, we finally got rid of the old YCbCr colorspace, and instead a new colorspace, XYB, is used, which is more accurately based on how the human system actually works. As a result, it's less likely to produce compression artifacts, also in dark tones. (10/14)
|
|
|
Scope
|
2022-02-12 06:06:48
|
I think non-photos usually have much more limited and artificial colors
|
|
|
_wb_
|
2022-02-12 06:09:49
|
XYB is also suitable for non-photo, but perhaps less so than for photo. A lot of non-photo material does get created in RGB, so there are certainly cases where it's a better idea (for compression) to stay in RGB or something close to RGB (like YCoCg).
|
|
|
lithium
|
2022-02-12 06:36:51
|
Probably can implement lossy varDCT YCoCg for non-photo content?
|
|
|
_wb_
|
2022-02-12 06:45:08
|
I think (var)DCT is only really suitable for photo and "photo-like" non-photo, like realistic paintings or renders, fps games, drawings with pencil, charcoal, chalk etc. For "really non-photographic" non-photo, like screenshots with mostly text and UI elements, logos, charts, and digital illustrations with hard edges, I think DCT is not the most effective approach. Lossless compression techniques (with lossy preprocessing, e.g. (delta)-palettization) will work better for that imo.
|
|
2022-02-12 06:47:35
|
We already do that for patches of text (it's encoded losslessly after doing color quantization in XYB, and subtracted from the DCT image so if the color quantization introduced some error, there's still a chance for the DCT part to fix it)
|
|
|
BlueSwordM
|
|
_wb_
https://twitter.com/jonsneyers/status/1492558805921636354?s=20&t=7lHHpdu2s7GF1GpT_oteb-cq1yc-ohFjuR8-wvpEOXw
|
|
2022-02-12 06:51:23
|
What AVIF encoder did you use for those comparisons?
|
|
2022-02-12 06:56:44
|
Because the difference can be kind of drastic(my own encode vs yours):
https://slow.pics/c/pg6F7aE0
|
|
2022-02-12 06:57:36
|
Now, it still fails where I expect it fails of course.
|
|
|
lithium
|
|
_wb_
I think (var)DCT is only really suitable for photo and "photo-like" non-photo, like realistic paintings or renders, fps games, drawings with pencil, charcoal, chalk etc. For "really non-photographic" non-photo, like screenshots with mostly text and UI elements, logos, charts, and digital illustrations with hard edges, I think DCT is not the most effective approach. Lossless compression techniques (with lossy preprocessing, e.g. (delta)-palettization) will work better for that imo.
|
|
2022-02-12 06:58:17
|
So I guess delta palette will implement on next improvement for "really non-photographic" non-photo?
and have heuristic to switch delta palette and varDCT? (like opus have SILK and CELT)
|
|
|
_wb_
|
|
BlueSwordM
What AVIF encoder did you use for those comparisons?
|
|
2022-02-12 07:00:31
|
This one is Aurora, since I just used Cloudinary to convert to avif
|
|
2022-02-12 07:00:57
|
Libaom and SVT will most likely do the same thing though
|
|
|
lithium
So I guess delta palette will implement on next improvement for "really non-photographic" non-photo?
and have heuristic to switch delta palette and varDCT? (like opus have SILK and CELT)
|
|
2022-02-12 07:03:46
|
I'll probably just start by doing simple quantization like for text. The tricky thing is to find a way to subtract without introducing border artifacts. With text that's easy because we only detect text on solid background, so we know what the "DC" of the patch has to be
|
|
|
BlueSwordM
|
|
_wb_
This one is Aurora, since I just used Cloudinary to convert to avif
|
|
2022-02-12 07:03:49
|
Wow, I didn't think Aurora would be worse than aomenc in this scenario.
I don't know if my settings are just better, but the difference is actually kind of insane.
|
|
|
_wb_
|
2022-02-12 07:04:20
|
Well we don't have latest version of Aurora in production, and we do use a fast encode setting
|
|
|
BlueSwordM
|
2022-02-12 07:04:50
|
Oh really? I see.
|
|
2022-02-12 07:04:58
|
That might be why then.
|
|
2022-02-12 07:05:08
|
It'd be lovely if I could have access to it, even if for just a month 😛
|
|
2022-02-12 07:09:01
|
Anyway, you make a great point JB.
|
|
2022-02-12 07:09:06
|
YCbCr has run its course.
|
|
|
lithium
|
|
_wb_
I'll probably just start by doing simple quantization like for text. The tricky thing is to find a way to subtract without introducing border artifacts. With text that's easy because we only detect text on solid background, so we know what the "DC" of the patch has to be
|
|
2022-02-12 07:09:21
|
I understand, Thank you for your reply,
I really look forward can use jxl for non-photo content 🙂
|
|
|
190n
|
|
_wb_
https://twitter.com/jonsneyers/status/1492558805921636354?s=20&t=7lHHpdu2s7GF1GpT_oteb-cq1yc-ohFjuR8-wvpEOXw
|
|
2022-02-12 07:12:39
|
https://twitter.com/jonsneyers/status/1492558856756637696 in this one, i thought the right one was based on a different photo at first because of all the fuzziness
|
|
|
_wb_
|
|
BlueSwordM
It'd be lovely if I could have access to it, even if for just a month 😛
|
|
2022-02-12 07:14:32
|
Well you can use Cloudinary to do encodes, e.g. fetch a url like res.cloudinary.com/jon/image/fetch/f_avif,q_80/https://url/to/image.png
|
|
2022-02-12 07:14:59
|
(or just make a free account and use your own account)
|
|
|
|
Deleted User
|
|
_wb_
(or just make a free account and use your own account)
|
|
2022-02-12 11:32:00
|
<@!321486891079696385> But ask someone for a ref link before you create an accout. :D
|
|
|
w
|
2022-02-13 12:51:44
|
i happened to be a cloudinary user before i ever heard about jxl
|
|
2022-02-13 12:52:15
|
but i never used the image stuff
|
|
|
190n
|
2022-02-13 12:52:59
|
wait what else can you use cloudinary for?
|
|
2022-02-13 12:53:18
|
video?
|
|
|
w
|
2022-02-13 12:53:27
|
i use it to serve binary assets/fonts
|
|
|
Scope
|
2022-02-13 12:01:46
|
https://github.com/NVIDIA/nvcomp
|
|
|
Jyrki Alakuijala
|
|
190n
https://twitter.com/jonsneyers/status/1492558856756637696 in this one, i thought the right one was based on a different photo at first because of all the fuzziness
|
|
2022-02-16 02:29:16
|
Something strange happened to the cloth (different more one-dimensional texture) and to the skin (upper lip/jaw oversmoothed) in AVIF
|
|
2022-02-16 02:29:58
|
possible the cloth is spoiled by over-aeger directional prediction
|
|
2022-02-16 02:30:22
|
and skin by just too much smoothing, or controlling smoothing with too large blocks (64x64 pixels in AVIF, 8x8 pixels in JXL)
|
|
2022-02-16 02:30:52
|
Jon, could you show if Aurora codec can overcome those weaknesses for AVIF?
|
|
|
_wb_
|
2022-02-16 03:40:31
|
this _is_ Aurora
|
|
|
BlueSwordM
|
2022-02-16 03:40:38
|
I'd say honestly bad default settings on the encoder's part if this is aomenc.
|
|
|
_wb_
|
2022-02-16 03:42:02
|
aomenc at the speed we need (which I guess is s8 or s9) will be even worse
|
|
|
fab
|
2022-02-16 03:42:51
|
https://discord.com/channels/794206087879852103/803645746661425173/943531950939971644
|
|
2022-02-16 03:43:05
|
how does this image look with latest jyki pr
|
|
2022-02-16 04:02:09
|
Ill wait until merge
|
|
|
BlueSwordM
|
|
_wb_
aomenc at the speed we need (which I guess is s8 or s9) will be even worse
|
|
2022-02-16 07:48:53
|
You'd be surprised actually:
https://slow.pics/c/iTuUCRIT
Settings used:
s9:
`avifenc -j 16 -s 9 --min 0 --max 63 -a end-usage=q -a cq-level=28 -a tune=ssim -a color:enable-qm=1 -a color:deltaq-mode=4`
s8:
`avifenc -j 16 -s 8 --min 0 --max 63 -a end-usage=q -a cq-level=30 -a tune=ssim -a color:enable-qm=1 -a color:deltaq-mode=4`
|
|
|
fab
|
2022-02-16 07:50:25
|
hoiible quality fo me
|
|
2022-02-16 07:54:15
|
|
|
2022-02-16 07:54:23
|
|
|
2022-02-16 07:57:50
|
but it has contast
|
|
|
BlueSwordM
You'd be surprised actually:
https://slow.pics/c/iTuUCRIT
Settings used:
s9:
`avifenc -j 16 -s 9 --min 0 --max 63 -a end-usage=q -a cq-level=28 -a tune=ssim -a color:enable-qm=1 -a color:deltaq-mode=4`
s8:
`avifenc -j 16 -s 8 --min 0 --max 63 -a end-usage=q -a cq-level=30 -a tune=ssim -a color:enable-qm=1 -a color:deltaq-mode=4`
|
|
2022-02-16 07:58:18
|
on what vesion do you ae
|
|
2022-02-16 07:58:20
|
https://ci.appveyor.com/project/louquillio/libavif/history
|
|
|
BlueSwordM
|
2022-02-16 07:58:33
|
Latest.
|
|
|
fab
|
2022-02-16 07:58:51
|
380d91a6
|
|
2022-02-16 08:00:35
|
to me it don't change anything
|
|
2022-02-16 08:00:40
|
is a month i don't see changes
|
|
2022-02-16 08:01:15
|
<@!321486891079696385>
|
|
2022-02-16 08:01:20
|
what i'm doing wong
|
|
2022-02-16 08:01:30
|
for %i in (C:\Users\Utente\Pictures\video\pi\a\*.jpg) do avifenc "%i" -o "%i.avif"
|
|
|
BlueSwordM
|
|
fab
for %i in (C:\Users\Utente\Pictures\video\pi\a\*.jpg) do avifenc "%i" -o "%i.avif"
|
|
2022-02-16 08:06:42
|
Settings:
`for %i in (C:\Users\Utente\Pictures\video\pi\a*.jpg) do avifenc "%i" -s 8 --min 0 --max 63 -a end-usage=q -a cq-level=30 -a tune=ssim -a color:enable-qm=1 -a color:deltaq-mode=4 -o "%i.avif"`
|
|
|
fab
|
2022-02-16 08:06:59
|
yes but with libavif it looks the same
|
|
2022-02-16 08:07:03
|
has same filesize
|
|
2022-02-16 08:07:23
|
libavif hasn't changed in a month
|
|
2022-02-16 08:07:27
|
fo filesize
|
|
2022-02-16 08:07:33
|
why
|
|
2022-02-16 08:07:53
|
https://ci.appveyor.com/project/louquillio/libavif/history
|
|
2022-02-16 08:07:57
|
i always use this
|
|
2022-02-16 08:08:05
|
i don't tust othee methods
|
|
2022-02-16 08:08:22
|
i think this is the only method
|
|
2022-02-16 08:08:29
|
aom is to ban
|
|
|
_wb_
|
2022-02-16 09:20:28
|
Enable qm and deltaq-mode 4, they should make that the default if it gives better results
|
|
2022-02-16 09:22:02
|
The command line options for avifenc are really not very user friendly
|
|
|
BlueSwordM
|
2022-02-16 09:22:33
|
Indeed. Sadly, it's obvious that JXL still curbstomps the AV1 encoders in this instance, particularly in darker high frequency areas.
Even going 10-bit doesn't fix this. Even x264 and x265 struggle in this scenario: arguably more than aomenc AVIF.
|
|
|
_wb_
|
2022-02-16 09:25:08
|
Jyrki's theory is that the signaling for the filtering in avif is too coarse, forcing it to either smooth out detail or get artifacts, and basically it always has to do the former or else you'll see 64x64 macroblocks with different filtering
|
|
2022-02-16 09:27:41
|
x265 has similar behavior where you can sometimes see macroblocks that are smoothed out that become quite obvious if they are neighboring macroblocks that didn't get smoothed
|
|
2022-02-16 09:28:26
|
I think both have 1:64 control fields for their main filters
|
|
|
BlueSwordM
|
2022-02-16 09:29:07
|
How could this be fixed? Would an AC energy threshold bias work to preserve more detail in areas with lower luma higher frequency patterns at the cost of DC quantization?
|
|
|
_wb_
|
2022-02-16 09:31:08
|
I wouldn't take bits away from DC in avif, it's already banding a bit too much as it is imo
|
|
|
|
veluca
|
2022-02-16 11:01:59
|
my personal guess for banding in AVIF is that it's more due to too small blocks than to low DC precision
|
|
2022-02-16 11:02:57
|
AFAIK there's no attempt to reduce banding at all in the libaom encoder, and in some sense one could say it's even encouraged
|
|
|
BlueSwordM
|
|
veluca
my personal guess for banding in AVIF is that it's more due to too small blocks than to low DC precision
|
|
2022-02-17 12:41:23
|
How are too small blocks a problem? Isn't it usually too large blocks that are the issue?
|
|
|
|
veluca
|
2022-02-17 12:42:17
|
small blocks with 0 AC are great to get lots of banding 😄
|
|
|
BlueSwordM
|
2022-02-17 01:54:55
|
I see. I'll take that into considerations when making my modifications.
|
|
|
fab
|
2022-02-17 08:20:46
|
|
|
2022-02-17 08:20:53
|
with commit of veluca i see shapenss
|
|
2022-02-17 08:21:15
|
at d 0.3 s seven
|
|
2022-02-17 08:23:54
|
|
|
2022-02-17 08:24:07
|
hthough s 8 d 0.6 theae ae evident atifacts
|
|
2022-02-17 08:33:36
|
|
|
2022-02-17 08:33:42
|
s nine d 0,6
|
|
2022-02-17 08:33:56
|
on pitbull ten cuidado thumbnail though it impoved
|
|
2022-02-17 08:36:47
|
i'll move on benchmaks
|
|
|
perk
|
2022-02-17 01:38:50
|
Someone make a gofundme to buy fab a keyboard with a functioning r key.
|
|
|
|
Deleted User
|
|
perk
Someone make a gofundme to buy fab a keyboard with a functioning r key.
|
|
2022-02-17 01:43:50
|
🤯 and I always thought he is illiterate
|
|
|
DZgas Ж
|
2022-02-17 11:01:59
|
<:YEP:808828808127971399> i do it
|
|
2022-02-17 11:04:50
|
this is just one of the reasons why I was disappointed in the codec in the first month when the first decoders appeared, I started coding - and encoder print to me, the speed was 0.00032 frames per second
|
|
2022-02-17 11:09:14
|
this means that of the new codecs for "Normal power" people, only "EVC"(not done) remains, which is a competitor for HEVC because it is not more Compressed than AV1 or VVC, but it should be better than VP9 and HEVC at the same speeds and THE free
|
|
|
BlueSwordM
|
2022-02-22 08:12:59
|
https://cdn.discordapp.com/attachments/816072365698973726/945773550923567174/unknown.png
|
|
|
_wb_
|
|
BlueSwordM
|
|
_wb_
Yay!
|
|
2022-02-22 08:36:07
|
Now, I just want JXL support in ffmpeg 🙏
|
|
2022-02-22 08:36:18
|
Or rather, libavcodec.
|
|
2022-02-22 08:36:45
|
It would allow for much easier integration of JXL in popular programs, especially on portable Android/iOS devices.
|
|
|
_wb_
|
2022-02-22 08:53:53
|
Isn't there a patch for that already in the pipeline?
|
|
|
BlueSwordM
|
|
_wb_
Isn't there a patch for that already in the pipeline?
|
|
2022-02-22 08:58:15
|
Yes 🙂
Mainly worked on by Bombzen.
|
|
2022-02-22 08:58:31
|
I'm patiently excited of when it'll get merged 🙂
|
|
|
_wb_
|
2022-02-22 09:01:55
|
If we can get the fast lossless encoder integrated in libjxl, it would also make an interesting format for lossless video
|
|
|
BlueSwordM
|
2022-02-23 05:29:20
|
Are there any studies that test lossless WebP performance vs PNG?
|
|
2022-02-23 05:29:39
|
I have someone who doubts the general proficiency of lossless WebP vs PNG.
|
|
|
_wb_
|
2022-02-23 06:51:04
|
There's one on Google's webp page
|
|
2022-02-23 06:51:47
|
For 8-bit, lossless webp basically consistently beats png
|
|
2022-03-05 11:35:15
|
|
|
2022-03-05 11:36:38
|
People use "PNG" to mean "has alpha channel", like they use "GIF" for "short animation"
|
|
|
Fraetor
|
2022-03-05 12:41:59
|
A <:JXL:805850130203934781> file is both a PNG and a GIF. 😎
|
|
|
Fox Wizard
|
2022-03-05 12:49:03
|
Gif
|
|
2022-03-05 12:49:28
|
~~With normie logics <:KekDog:884736660376535040>~~
|
|
2022-03-05 12:50:42
|
Has transparency: PNG
Has no transparency: JPEG
Animated without audio: GIF
Animated with audio: video
|
|
|
spider-mario
|
2022-03-07 05:07:22
|
~~video~~ MP4
|
|
2022-03-07 05:07:36
|
(nah I don’t know)
|
|
|
190n
|
2022-03-09 08:54:47
|
https://github.com/OmarShehata/jpeg-sandbox
|
|
|
WoofinaS
|
|
BlueSwordM
I have someone who doubts the general proficiency of lossless WebP vs PNG.
|
|
2022-03-09 01:20:40
|
While yes, webp and jxl are *usually* better then png, there are weird cases where png (using ect) can outperform cwebp `z9` and cjxl `e9`.
I've personally posted images where the only thing that beat png (ect) was cjxl `e9` and a few other high effort custom arguments.
It seems stacked anime images preform particularly poor with cwebp and cjxl. I'd image jxl patches would help significantly but it does not seem to work? (Needs citation)
|
|
|
_wb_
|
2022-03-09 01:53:27
|
Patches work but the current encoder heuristics are limited to detecting repeated patterns in the neighborhood of 4x4 areas of single-color background.
|
|
|
DZgas Ж
|
2022-03-09 09:21:46
|
JXL vs WebP2 triangle preview ?
|
|
2022-03-09 09:22:10
|
https://chromium.googlesource.com/codecs/libwebp2/
|
|
2022-03-09 09:24:22
|
someone to compile a new version WEBP2 with mk_preview and without AVX instructions for windows<:Cheems:890866831047417898>
|
|
|
The_Decryptor
|
2022-03-20 02:05:06
|
I've seen the Nvidia screenshot overlay use it for HDR screenshots
|
|
|
190n
|
2022-03-20 04:20:54
|
xbox game bar on windows also produces jxr for hdr gameplay
|
|
|
Traneptora
|
2022-03-20 04:52:03
|
JXR?
|
|
2022-03-20 04:52:08
|
like Jpeg XR, the thing nobody uses?
|
|
2022-03-20 04:52:25
|
<:kek:857018203640561677>
|
|
|
Nova Aurora
|
2022-03-20 09:28:52
|
HDR. AFAIK that's all it's used for
|
|
|
BlueSwordM
|
2022-03-20 09:41:54
|
HDR screenshots on Windows.
|
|
|
Reddit • YAGPDB
|
2022-03-25 08:16:07
|
|
|
2022-03-27 04:29:37
|
|
|
|
_wb_
|
2022-03-28 07:24:16
|
Encoder bug in zlib found: https://twitter.com/taviso/status/1508438583484452866?t=LbkvbhdDvMHmFS6KOOA7YA&s=19
|
|
2022-03-28 07:35:19
|
Imagine how much stuff is out there that uses zlib encode
|
|
2022-03-28 07:36:10
|
It's probably doable to make an image that will hit that bug when encoded with libpng
|
|
2022-03-28 07:38:10
|
So opening such an image and saving it again as png in some editor that is using libpng for that could possibly be an attack vector
|
|
|
|
veluca
|
2022-03-28 07:49:59
|
you do seem to need a non-default configuration, so there's that
|
|
|
yurume
|
2022-03-28 08:40:41
|
it requires very low memLevel so I'm not as worried atm, but holy cow it is crazy to find such a bug
|
|
|
Reddit • YAGPDB
|
|
improver
|
|
Traneptora
|
2022-03-30 03:15:23
|
patent-encumbered <:PauseChamp:755852977574510632>
|
|
|
190n
|
2022-04-01 06:39:48
|
ugh i'm still annoyed there's not a separate mime for animated avif
|
|
|
WoofinaS
|
2022-04-01 06:51:07
|
If you adopt Mozilla view on it there is no point in `.avifs` <:doge_kekw:852675429851987972>
|
|
|
190n
|
2022-04-01 06:52:08
|
i mean considering firefox has already had a bug on a major site because of this...
|
|
|
WoofinaS
If you adopt Mozilla view on it there is no point in `.avifs` <:doge_kekw:852675429851987972>
|
|
2022-04-01 06:52:30
|
idc about the extension just a separate mime type so firefox can send a correct `Accept` header
|
|
|
WoofinaS
|
2022-04-01 06:53:05
|
I just used `.avifs` to denote animated, ik extensions don't matter
|
|
|
_wb_
|
2022-04-01 07:30:51
|
You don't need a separate media type, a media type can have qualifiers with more detail about what exactly is supported
|
|
2022-04-01 07:31:27
|
All browsers lie in their Accept headers, it's kind of annoying
|
|
2022-04-01 07:32:12
|
Iirc they all say they can deal with image/*
|
|
|
190n
|
2022-04-01 08:00:10
|
is there any standard way to do that for animated avifs?
|
|
|
_wb_
|
2022-04-01 08:42:23
|
Not that I know
|
|
2022-04-01 08:51:51
|
It's kind of annoying that you need both User Agent and Accept header to know what you can send. But at least if you do it server-side, it can still be done. If you have dumb hosting and need to rely on the picture tag, I dunno what happens if you have an animated avif with a gif fallback. Will firefox pick the avif and then show a broken image, or will it fall back to the gif when the avif decode fails?
|
|
|
Reddit • YAGPDB
|
|
_wb_
|
2022-04-02 12:36:16
|
https://www.reddit.com/r/place/?cx=9&cy=711&px=28
|
|
2022-04-02 12:36:32
|
I added a green pixel for av1
|
|
2022-04-02 12:36:55
|
Can we put jxl somewhere? 😛
|
|
2022-04-02 12:59:20
|
|
|
2022-04-02 12:59:44
|
Added some more pixels for av1, it's still a mess though
|
|
2022-04-02 12:59:57
|
Can we change .org to .jxl?
|
|
2022-04-02 01:05:18
|
I guess it takes a coordinated effort to change anything there
|
|
2022-04-02 01:14:31
|
```
X X X X
X X X
XX X X XX
```
|
|
2022-04-02 01:14:57
|
I guess that's the smallest jxl
|
|
|
fab
|