|
KAGAMI
|
2021-05-22 02:05:23
|
Heh, the last commit strongly suggests the private repo is in GitHub
|
|
2021-05-22 02:10:57
|
Thanks, did a quick search and that's: https://discord.com/channels/794206087879852103/822105409312653333/844555374999765022
|
|
|
|
veluca
|
2021-05-22 02:12:01
|
I don't want to promise anything, but I think somewhere around next week we'll have a github repo ๐
|
|
|
KAGAMI
|
2021-05-22 02:12:44
|
Will the sync to GitLab stop then?
|
|
|
|
veluca
|
2021-05-22 02:13:01
|
nah, they'll be mirrored AFAIU
|
|
|
KAGAMI
|
|
|
veluca
|
2021-05-22 02:13:30
|
and I think we'll keep mirroring it to the private gitlab 'til we figure out how to run the full CI on github
|
|
2021-05-22 02:14:07
|
probably github, but I think we'll either migrate the bugs or just disallow opening new ones and close the old ones as they get fixed
|
|
|
KAGAMI
|
2021-05-22 02:15:04
|
BTW, why move to github when started in gitlab? ๐
|
|
|
|
veluca
|
2021-05-22 02:21:23
|
because of stuff that I don't fully understand but it makes it easier to accept external contributions
|
|
2021-05-22 02:21:39
|
it started in gitlab because at the time github didn't have free private repos and ISO needed that
|
|
2021-05-22 02:24:11
|
I ran into a bug in the Chromium development tools that was caused by branch name renaming -_-
|
|
2021-05-22 02:24:26
|
made me lose one hour or so
|
|
|
fab
|
2021-05-22 02:26:06
|
like what is the thing more difficult to get right?
|
|
2021-05-22 02:26:43
|
why is the development a bit slow
|
|
2021-05-22 02:26:51
|
other than the decoder
|
|
2021-05-22 02:26:57
|
and the patches
|
|
2021-05-22 02:27:05
|
talking about the lossy encoder
|
|
2021-05-22 02:27:24
|
what is the problems you run up with?
|
|
|
|
veluca
|
2021-05-22 02:28:23
|
You don't have to convince me
|
|
|
fab
what is the problems you run up with?
|
|
2021-05-22 02:29:07
|
Just a lot of complicated logic
|
|
2021-05-22 02:29:47
|
It's not hard per se, just complex to get right
|
|
|
_wb_
|
2021-05-22 02:39:05
|
It looks like a question but I have no idea how to parse it
|
|
2021-05-22 02:39:54
|
When you go higher than oddly specific q 63.52 -> you mean set a higher quality?
|
|
2021-05-22 02:40:49
|
You'll get jpg looking artificial -> you mean you somehow get more artifacts at a higher quality setting than at a lower one?
|
|
2021-05-22 02:42:32
|
At the moment at least there is no difference between jpg or png input if you pick a specific lossy quality: it will start from the pixels and do the same thing
|
|
2021-05-22 02:42:41
|
Only lossless jpg is something else
|
|
2021-05-22 02:43:35
|
I suppose we could do something at the dct coefficients level too to do lossy jpg recompression, but we currently don't and there are no plans to implement that anytime soon
|
|
2021-05-22 02:44:10
|
New heuristics is an experimental thing that is for now just for testing
|
|
2021-05-22 02:45:04
|
We aim to keep the meaning of d X or q X the same when we do optimizations
|
|
|
fab
|
2021-05-22 02:45:12
|
yes i know; usually you make the table
|
|
2021-05-22 02:45:18
|
to choose an heuristic
|
|
2021-05-22 02:45:26
|
the one with those colored squares
|
|
|
_wb_
|
2021-05-22 02:46:16
|
At faster speeds, more things are heuristics based so there is less guarantee that the quality target is actually reached
|
|
2021-05-22 02:47:13
|
At slower speeds, more things are search based so there is more guarantee that the target is reached
|
|
2021-05-22 02:47:49
|
BUT the target is only an objective metric, a good one but still, no objective metric is perfect.
|
|
|
fab
|
2021-05-22 02:48:07
|
yes but digiting only q 65 s 9
|
|
2021-05-22 02:48:10
|
is simpler to do
|
|
2021-05-22 02:48:14
|
than a whole long command
|
|
|
_wb_
|
2021-05-22 02:48:37
|
So reaching the objective metric target is not a guarantee that subjectively it will be perfect
|
|
|
fab
|
|
_wb_
|
2021-05-22 02:49:09
|
For now, default speed, default options is the best tested and most reliable way to encode
|
|
|
fab
|
2021-05-22 02:49:13
|
as long it looks good with png
|
|
|
_wb_
|
2021-05-22 02:49:32
|
Just cjxl -q 80 or whatever target you like
|
|
|
fab
|
2021-05-23 04:33:40
|
-Q 94.3 --dots=0 --intensity_target=194 --use_new_heuristics
|
|
|
_wb_
|
2021-05-25 03:20:57
|
I want to add something faster than -s falcon, what should I call it?
|
|
2021-05-25 03:21:04
|
there are no animals faster than a falcon
|
|
2021-05-25 03:21:15
|
-s airplane ?
|
|
|
Nova Aurora
|
2021-05-25 03:21:49
|
-s helicopter?
|
|
2021-05-25 03:22:16
|
-s peregrine? (that could get confusing though)
|
|
|
_wb_
|
2021-05-25 03:24:32
|
I was thinking airplane for -e 2 and maybe later rocket for -e 1 or something
|
|
2021-05-25 03:24:53
|
<@!532010383041363969> opinions please ๐
|
|
|
Scope
|
2021-05-25 03:25:48
|
I think that the choice of non-animal names would create more confusion
|
|
|
BlueSwordM
|
|
_wb_
-s airplane ?
|
|
2021-05-25 03:26:02
|
`-s tesla`
|
|
|
Nova Aurora
|
|
Scope
I think that the choice of non-animal names would create more confusion
|
|
2021-05-25 03:26:15
|
Then we would have to rename current options though
|
|
2021-05-25 03:26:44
|
I said helicopter to open up airplane and rocket for further evolution
|
|
|
improver
|
2021-05-25 03:27:44
|
photon-in-vacuum
|
|
|
Nova Aurora
|
2021-05-25 03:28:50
|
Alcubierre-drive
|
|
|
Scope
|
2021-05-25 03:29:55
|
Or shift names so the hawk is still the fastest
|
|
|
_wb_
|
2021-05-25 03:31:11
|
Shifting names might be confusing, at least if everything changes meaning
|
|
2021-05-25 03:31:55
|
Maybe if it's only falcon that shifts and there's an animal between falcon and cheetah it could be ok
|
|
2021-05-25 03:32:26
|
Still, I prefer to keep falcon to tortoise as they are, and have new names for new things
|
|
|
Scope
|
2021-05-25 03:38:28
|
Yep, but if making this changes, it is better to do it earlier while JXL is not so much used and also I am not sure that the names are very often chosen for scripts and other things (so there is little chance that it will break something)
|
|
|
|
veluca
|
2021-05-25 03:39:24
|
-s unicorn? ๐
|
|
|
_wb_
|
2021-05-25 03:40:07
|
Are unicorns fast?
|
|
2021-05-25 03:40:13
|
Pegasus?
|
|
2021-05-25 03:41:21
|
Shadowfax? That's Gandalf's horse, should be quite fast
|
|
|
|
veluca
|
2021-05-25 03:41:24
|
I guess it depends on the mythology/fantasy world you subscribe to ๐
|
|
2021-05-25 03:41:44
|
like with harry potter you can go -s phoenix since they teleport
|
|
|
Scope
|
2021-05-25 03:42:58
|
We also need names for the other fast speeds: 0(?), 1, 2 (even if they do not exist, so as not to have problems later)
|
|
|
|
veluca
|
2021-05-25 03:48:13
|
phoenix can be 0, unicorn 1 or 2, and I don't know about the middle ๐
|
|
|
Scope
|
2021-05-25 03:50:10
|
Pegasus is also ok, the only problem is knowing which of these creatures is faster
Shadowfax is complicated, not everyone and everywhere remembers this name (in other languages it may be in translation)
|
|
|
Crixis
|
2021-05-25 03:50:20
|
pegaso >> unicorn
|
|
2021-05-25 03:50:38
|
damn 1 moment early
|
|
|
|
veluca
|
2021-05-25 03:52:58
|
https://github.com/libjxl/libjxl keep an eye here! ๐
|
|
|
_wb_
|
2021-05-25 04:01:10
|
For VarDCT, s 3 is already about as fast as it gets, so I will propose to shift that to s 2 and make s 3 something in between the current s 3 and s 4
|
|
2021-05-25 04:01:31
|
For Modular, a faster s 2 is possible
|
|
2021-05-25 04:02:26
|
If you just want to use jxl as a temporary local storage format (a mildly compressed ppm with embedded icc profile, basically) then s 2 will be nice
|
|
2021-05-25 04:02:39
|
(or maybe s 1)
|
|
|
BlueSwordM
|
|
veluca
https://github.com/libjxl/libjxl keep an eye here! ๐
|
|
2021-05-25 04:04:03
|
How come you people uploaded a new build to Github?
|
|
2021-05-25 04:04:16
|
What advantages does doing stuff on Github give over Gitlab?
|
|
|
|
veluca
|
2021-05-25 04:06:39
|
tldr: CLA
|
|
2021-05-25 04:07:02
|
also it gives us an excuse to not put it under wg1/, but that's minor ๐
|
|
2021-05-25 04:07:47
|
and I think it also has some "more internally approved" ways to publish binaries for releases, but don't quote me on that
|
|
|
Scope
|
2021-05-25 04:09:16
|
-s 1/2 supersonic, -s 0/1 light? <:Thonk:805904896879493180> (not animals, but easier to remember)
At least it is something not technological, for example the speed of vehicles, trains, planes, rockets became faster over time and the speed of mythological creatures is difficult to understand
|
|
|
diskorduser
|
2021-05-25 05:01:22
|
Just Sonic? He is fast enough.
|
|
|
_wb_
|
2021-05-25 05:04:31
|
-s hedgehog
|
|
|
improver
|
2021-05-25 05:06:26
|
sanic
|
|
|
diskorduser
|
|
Scope
|
2021-05-25 05:08:09
|
The names of superheroes or game characters is cool, but then there can be problems, since they usually have copyrights and stuff
|
|
|
|
Deleted User
|
|
Scope
The names of superheroes or game characters is cool, but then there can be problems, since they usually have copyrights and stuff
|
|
2021-05-25 05:09:42
|
But why not "sonic" as a reference to audio waves? Technically they're faster than animals... ๐
|
|
|
Scope
|
2021-05-25 05:12:29
|
Because there is another Sonic that people usually imagine and there will be confusion with him (also the game character Sonic can be faster than light)
|
|
|
monad
|
2021-05-25 05:16:08
|
What's the utility of the animal names anyway? I don't find them intuitive myself.
|
|
|
Nova Aurora
|
|
monad
What's the utility of the animal names anyway? I don't find them intuitive myself.
|
|
2021-05-25 05:16:34
|
To give an intuitive sense of the speed of their numerical equivalents
|
|
|
_wb_
|
2021-05-25 05:16:57
|
numerical is fine, animals are a bit more fun
|
|
|
diskorduser
|
2021-05-25 05:17:10
|
Sonic is both sound and animal. Also can't be copyrighted
|
|
|
BlueSwordM
|
|
_wb_
numerical is fine, animals are a bit more fun
|
|
2021-05-25 05:17:31
|
Oh, I've got an idea for the fastest speed name
|
|
2021-05-25 05:17:33
|
Supersonic <:megapog:816773962884972565>
|
|
|
Nova Aurora
|
2021-05-25 05:17:37
|
Sonic is copyrighted, sonic isn't
|
|
|
BlueSwordM
Supersonic <:megapog:816773962884972565>
|
|
2021-05-25 05:17:46
|
hypersonic
|
|
2021-05-25 05:17:58
|
Orbital veloticty
|
|
|
BlueSwordM
|
2021-05-25 05:18:02
|
Hypersonic is mach 5+. That would be reserved for `-s 1`
|
|
|
Nova Aurora
|
2021-05-25 05:18:06
|
Lightspeed
|
|
2021-05-25 05:18:17
|
Ludicrous speed
|
|
2021-05-25 05:18:45
|
Alcubierre-drive (FTL)
|
|
2021-05-25 05:19:20
|
Space stone
|
|
2021-05-25 05:19:26
|
Police telephone box
|
|
|
|
veluca
|
|
Nova Aurora
Police telephone box
|
|
2021-05-25 05:24:39
|
๐ nice reference
|
|
|
Scope
|
2021-05-25 05:36:35
|
-s 2 (supersonic), -s 1 (hypersonic), -s 0 (light)
|
|
2021-05-25 05:42:12
|
-s 12 (rock), 12 years of encoding and progress will move one percent
|
|
|
Crixis
|
2021-05-25 05:44:15
|
And is a progression in a while true loop
|
|
|
improver
|
2021-05-25 05:45:13
|
it'll come closer to 100% but will quite never hit it
|
|
|
_wb_
|
2021-05-25 05:45:13
|
-s 2 (airplane), -s 1 (rocket), -s 0 (light)?
|
|
|
improver
it'll come closer to 100% but will quite never hit it
|
|
2021-05-25 05:45:45
|
I've seen Windows progress bars that do that
|
|
2021-05-25 05:46:04
|
Zeno paradox progress bars
|
|
|
Crixis
|
|
_wb_
I've seen Windows progress bars that do that
|
|
2021-05-25 05:46:23
|
Windows 98 installation
|
|
2021-05-25 05:47:00
|
Was a geometric succession 1/2 1/4 1/8
|
|
|
Scope
|
|
_wb_
-s 2 (airplane), -s 1 (rocket), -s 0 (light)?
|
|
2021-05-25 05:53:09
|
If there were animal names already, I would prefer not technological things, but rather characteristics/descriptions of speed or something natural like a storm, hurricane (but it doesn't fit, just an example)
https://discord.com/channels/794206087879852103/804324493420920833/846781980682354760
Like the speed of an airplane may be different depending on the model and design and some animals may be faster, rockets can also be for example homemade and the speed of all of this is not obvious
|
|
|
_wb_
|
2021-05-25 06:02:56
|
-s thunder, -s lightning?
|
|
2021-05-25 06:03:32
|
https://c.tenor.com/EVJo-FdHf9AAAAAM/zeus-thunder.gif
|
|
|
Scope
|
2021-05-25 06:05:11
|
Yep, something like that
|
|
|
_wb_
|
2021-05-25 06:11:59
|
https://c.tenor.com/evwQTrVO080AAAAM/queen-bohemian-rhapsody.gif
|
|
|
monad
|
2021-05-25 06:23:20
|
There is also variation in animals. I'd think if the animal ordering is obvious, then 'rocket is faster than falcon' should be obvious under similar reasoning.
|
|
|
Scope
|
2021-05-25 06:29:12
|
Rockets can be like this
|
|
2021-05-25 06:29:16
|
Also, not all airplanes can be faster than a falcon
|
|
|
monad
|
2021-05-25 06:31:42
|
Kittens can be like this.
|
|
|
|
paperboyo
|
|
veluca
https://github.com/libjxl/libjxl keep an eye here! ๐
|
|
2021-05-25 06:33:11
|
๐ฅณ Is there a plan to migrate issues too?
|
|
|
Scope
|
2021-05-25 06:37:17
|
Yes, but in some categories of animals the maximum speed is relatively unchanged if they are healthy, unlike technical things, which are always progressing, once cars were slower than horses, trains could not be supersonic, etc.
|
|
|
monad
|
2021-05-25 06:40:34
|
Maybe in the future we have artificially-enhanced kittens that run faster than falcons fly.
|
|
|
_wb_
|
2021-05-25 06:40:52
|
A typical airplane can go faster than a falcon now already, and it is unlikely to get slower in the future
|
|
|
Pieter
|
2021-05-25 07:05:42
|
But maybe falcons will evolve to compete with airplanes?
|
|
|
Scope
|
2021-05-25 07:08:16
|
https://tenor.com/view/sam-wilson-falcon-gif-10597370
|
|
|
monad
|
|
Pieter
But maybe falcons will evolve to compete with airplanes?
|
|
2021-05-25 07:13:57
|
By growing cabins to facilitate human transportation?
|
|
|
_wb_
|
2021-05-25 07:27:22
|
A sleeping falcon is also much slower than a tortoise
|
|
|
Scope
|
2021-05-25 07:28:27
|
https://tenor.com/view/mcconnell-turtle-sprint-gif-7799343
|
|
|
|
Deleted User
|
|
_wb_
A sleeping falcon is also much slower than a tortoise
|
|
2021-05-25 07:28:32
|
That's some proper motivational thought... Have you ever thought about entering philosophy?
|
|
|
Scientia
|
2021-05-25 07:32:30
|
We can go off of connotation and not denotation
|
|
2021-05-25 07:32:46
|
Most people associate these animals with speeds
|
|
|
190n
|
2021-05-25 07:39:06
|
so is the new github repo getting commits as they are written, instead of syncing occasionally?
|
|
|
|
veluca
|
|
_wb_
|
2021-05-26 09:27:54
|
Why do people want the full commit history?
|
|
|
improver
|
2021-05-26 09:29:26
|
I don't.
|
|
|
Kleis Auke
|
2021-05-26 10:37:46
|
I think for `git bisect` / debugging purposes.
|
|
2021-05-26 10:38:50
|
BTW, is it necessary to add myself to `AUTHORS`, even for small changes?
|
|
|
|
veluca
|
2021-05-26 10:39:08
|
I don't think it's *necessary*, no
|
|
|
Kleis Auke
|
2021-05-26 10:40:06
|
Ah OK, fwiw, there's a welcome bot for that. See e.g. <https://github.com/emscripten-core/emscripten/pull/14224#issuecomment-843783370>.
|
|
|
|
veluca
|
2021-05-26 10:41:04
|
I don't know though ๐ I'll ask today during the team meeting
|
|
|
_wb_
|
2021-05-26 11:00:59
|
as far as I understand, AUTHORS is for the purpose of authorship in the copyright sense. Consider it like a book. If you write a chapter, you're an author. If you fix a typo, you're not. In between those extremes there is a spectrum and basically you can choose yourself as far as I'm concerned.
|
|
|
Scope
|
2021-05-26 11:31:10
|
<:Stonks:806137886726553651>
|
|
|
Scientia
|
|
_wb_
Why do people want the full commit history?
|
|
2021-05-26 05:41:23
|
We just want an up to date repo that's synced in real time rather than having to wait a week or two for batches of commits
|
|
|
_wb_
|
2021-05-26 05:43:52
|
You got it since yesterday
|
|
|
Pieter
|
|
Scientia
We just want an up to date repo that's synced in real time rather than having to wait a week or two for batches of commits
|
|
2021-05-26 06:02:36
|
I think <@794205442175402004> was asking whether people wanted the full commit *history*; not just the new commits now.
|
|
|
Scientia
|
2021-05-26 06:16:07
|
I don't think the full commit history is needed
|
|
2021-05-26 06:16:31
|
If someone needs all the commits or whatever they contained for something they can ask
|
|
|
Scope
|
2021-05-26 06:16:44
|
So if Github has become main, might as well change it here?
|
|
|
|
veluca
|
2021-05-26 06:25:37
|
yes please!
|
|
|
|
Deleted User
|
2021-05-26 08:06:47
|
__**Ye Ultimate Updated (Once Again) One-Liner for Compiling JPEG XL in Bash:**__
`mv libjxl/build/tools/ ~; rm -rf libjxl; git clone https://github.com/libjxl/libjxl.git --recursive; cd libjxl; git revert -n 96e1f432595669ab9912934ec4d8b4d24d3f8eab; mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=Release -DJPEGXL_ENABLE_DEVTOOLS=ON -DBUILD_TESTING=OFF ..; cmake --build . -- -j$(nproc); mv -n ~/tools/* tools/; rm -r ~/tools/`
|
|
|
|
veluca
|
2021-05-26 08:09:31
|
`git revert -n 96e1f432` ๐
|
|
2021-05-26 08:09:43
|
at some point you'll start getting conflicts ๐
|
|
2021-05-26 08:10:00
|
(you know you can do parallel recursive clone?)
|
|
|
|
Deleted User
|
|
veluca
at some point you'll start getting conflicts ๐
|
|
2021-05-26 08:12:15
|
Joke's on you, I've just updated it ๐
|
|
|
|
veluca
|
2021-05-26 08:13:12
|
I mean at some point we'll change something in c/djxl that will make the revert not work
|
|
|
|
Deleted User
|
2021-05-26 08:13:50
|
Better ASCII art? ๐
|
|
|
Scope
|
2021-05-26 08:17:02
|
One-hour color fullscreen ASCI animation before start of each encoding
|
|
|
BlueSwordM
|
|
__**Ye Ultimate Updated (Once Again) One-Liner for Compiling JPEG XL in Bash:**__
`mv libjxl/build/tools/ ~; rm -rf libjxl; git clone https://github.com/libjxl/libjxl.git --recursive; cd libjxl; git revert -n 96e1f432595669ab9912934ec4d8b4d24d3f8eab; mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=Release -DJPEGXL_ENABLE_DEVTOOLS=ON -DBUILD_TESTING=OFF ..; cmake --build . -- -j$(nproc); mv -n ~/tools/* tools/; rm -r ~/tools/`
|
|
2021-05-26 09:32:00
|
Weak.
|
|
2021-05-26 09:32:02
|
Here's mine.
|
|
2021-05-26 09:32:52
|
```export CFLAGS="-O3 -march=native" CXXFLAGS="-O3 -march=native"
export CC=/usr/bin/clang && export CXX=/usr/bin/clang++
git clone https://gitlab.com/wg1/jpeg-xl.git --recursive
cd jpeg-xl && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -march=native" -DCMAKE_C_FLAGS="-O3 -march=native" -DJPEGXL_ENABLE_PLUGINS=ON -DJPEGXL_ENABLE_GIMP_SAVING=1 -DJPEGXL_ENABLE_DEVTOOLS=ON -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTING=OFF -DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=1 -DJPEGXL_ENABLE_SJPEG=OFF ..
cmake --build . -- -j 16
sudo make install```
|
|
|
|
veluca
|
|
BlueSwordM
```export CFLAGS="-O3 -march=native" CXXFLAGS="-O3 -march=native"
export CC=/usr/bin/clang && export CXX=/usr/bin/clang++
git clone https://gitlab.com/wg1/jpeg-xl.git --recursive
cd jpeg-xl && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -march=native" -DCMAKE_C_FLAGS="-O3 -march=native" -DJPEGXL_ENABLE_PLUGINS=ON -DJPEGXL_ENABLE_GIMP_SAVING=1 -DJPEGXL_ENABLE_DEVTOOLS=ON -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTING=OFF -DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=1 -DJPEGXL_ENABLE_SJPEG=OFF ..
cmake --build . -- -j 16
sudo make install```
|
|
2021-05-26 09:44:07
|
I doubt you get much out of either -O3 or -march=native ๐
|
|
|
BlueSwordM
|
|
veluca
I doubt you get much out of either -O3 or -march=native ๐
|
|
2021-05-26 09:44:17
|
It mostly helps in modular ๐
|
|
|
|
veluca
|
2021-05-26 09:44:27
|
oh, it does?
|
|
2021-05-26 09:44:31
|
that's very useful to know
|
|
2021-05-26 09:44:33
|
how much?
|
|
2021-05-26 09:44:41
|
also, decoding or encoding?
|
|
|
BlueSwordM
|
2021-05-26 09:45:07
|
Yeah, the benefit is not negligible.
It's been a while since I've tested encoding, but I guess I could rebuilt the latest without compiler opts and profile the difference.
|
|
|
|
veluca
|
2021-05-26 09:45:23
|
does it help encoding speed mostly?
|
|
2021-05-26 09:45:35
|
'cause in that case I don't care *as much* ๐
|
|
|
Scope
|
2021-05-26 09:53:14
|
Btw, I can't compile JXL with Clang and LTO in MinGW for some reason (and maybe PGO would help as well)
If encoding takes weeks, even a small speed gain would be helpful
|
|
|
|
veluca
|
2021-05-26 10:00:14
|
surprising, I remember trying LTO and succeeding but not on win
|
|
2021-05-26 10:00:34
|
but yeah, an LTO + PGO build for the modular encoder is likely a very good idea
|
|
2021-05-26 10:01:08
|
just make sure to profile on a mix of -I 0 -s 9 -E 3 graphics and -I 1 -s 9 -E 3 non-graphics files ๐
|
|
2021-05-26 10:02:13
|
eh, not bad
|
|
2021-05-26 10:02:17
|
decoding?
|
|
2021-05-26 10:02:45
|
`0.80 MP/s [0.72, 0.72]` wait, what?
|
|
|
BlueSwordM
|
2021-05-26 10:02:53
|
Oops, wrong one.
|
|
2021-05-26 10:03:10
|
You know, perhaps I should make sure I copy paste the right ones <:Thonk:805904896879493180>
|
|
2021-05-26 10:05:07
|
Wait, a minute. <:Thonk:805904896879493180>
`time /home/bluezakm/jpeg-xl_no_opt/build/tools/cjxl /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9.png /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s7_noopt.png -d 0.0 -s 7`
`time /home/bluezakm/jpeg-xl_no_opt/build/tools/cjxl /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9.png /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s7_noopt.png -d 0.0 -s 7`
Something seems to have messed up my numbers, because I was getting the same times. That's why.
|
|
|
|
veluca
|
2021-05-26 10:05:52
|
isn't that the same build? ๐
|
|
|
BlueSwordM
|
|
veluca
isn't that the same build? ๐
|
|
2021-05-26 10:06:17
|
Yep. It was just the fact that I decided to do a `sudo dnf upgrade` in the background that resulted in the different numbers.
|
|
|
|
veluca
|
2021-05-26 10:06:40
|
ahah ok
|
|
|
BlueSwordM
|
|
veluca
ahah ok
|
|
2021-05-26 10:08:32
|
Wrong numbers sorry ๐
That doesn't matter: looks like it is margin of error anyway :/
O3+march znver2
```time /home/bluezakm/jpeg-xl_opt/build/tools/cjxl /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9.png /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9_opt.jxl -d 0.0 -s 7
J P E G \/ |
/\ |_ e n c o d e r [v0.3.7 | SIMD supported: AVX2]
Read 6668x3840 image, 67.2 MP/s
Encoding [Modular, lossless, squirrel], 8 threads.
Compressed to 10028832 bytes (3.133 bpp).
6668 x 3840, 0.74 MP/s [0.74, 0.74], 1 reps, 8 threads.
real 0m35.035s
user 0m44.726s
sys 0m0.697s```
```time /home/bluezakm/jpeg-xl_no_opt/build/tools/cjxl /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9.png /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9_noopt.jxl -d 0.0 -s 7
J P E G \/ |
/\ |_ e n c o d e r [v0.3.7 | SIMD supported: AVX2,SSE4,Scalar]
Read 6668x3840 image, 68.0 MP/s
Encoding [Modular, lossless, squirrel], 8 threads.
Compressed to 10028832 bytes (3.133 bpp).
6668 x 3840, 0.72 MP/s [0.72, 0.72], 1 reps, 8 threads.
real 0m35.869s
user 0m45.426s
sys 0m0.747s```
|
|
|
|
veluca
|
2021-05-26 10:09:05
|
you can do multiple reps (--num_reps=5) to get more consistency (and perhaps also --num_threads=0)
|
|
|
BlueSwordM
|
2021-05-26 10:09:31
|
Eh, I don't think it would be really necessary looking at these numbers.
I'm more interesting in decoding anyway, like you ๐
|
|
|
|
veluca
|
2021-05-26 10:10:08
|
I think we did enough manual optimization that -O3 barely helps in the hot parts for decoding ๐
|
|
|
BlueSwordM
|
|
veluca
I think we did enough manual optimization that -O3 barely helps in the hot parts for decoding ๐
|
|
2021-05-26 10:18:38
|
Small difference for decoding though:
```time /home/bluezakm/jpeg-xl_opt/build/tools/djxl /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9_opt.jxl --num_reps=5
Read 10028832 compressed bytes [v0.3.7 | SIMD supported: AVX2]
No output file specified.
Decoding will be performed, but the result will be discarded.
Decoded to pixels.
6668 x 3840, geomean: 35.92 MP/s [35.57, 35.97], 5 reps, 8 threads.
Allocations: 8339 (max bytes in use: 9.718959E+08)
real 0m3.577s
user 0m26.298s
sys 0m1.697s```
```time /home/bluezakm/jpeg-xl_no_opt/build/tools/djxl /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9_noopt.jxl --num_reps=5
Read 10028832 compressed bytes [v0.3.7 | SIMD supported: AVX2,SSE4,Scalar]
No output file specified.
Decoding will be performed, but the result will be discarded.
Decoded to pixels.
6668 x 3840, geomean: 34.44 MP/s [34.19, 34.52], 5 reps, 8 threads.
Allocations: 8339 (max bytes in use: 9.718937E+08)
real 0m3.729s
user 0m27.480s
sys 0m1.678s```
|
|
|
|
veluca
|
2021-05-26 10:19:13
|
can you do it with 0 threads?
|
|
2021-05-26 10:19:52
|
I wonder what the compiler is doing, that 0.3% might be something worth doing manually...
|
|
|
BlueSwordM
|
|
veluca
I wonder what the compiler is doing, that 0.3% might be something worth doing manually...
|
|
2021-05-26 10:30:09
|
O3+march```ime /home/bluezakm/jpeg-xl_opt/build/tools/djxl /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9_opt.jxl --num_reps=5 --num_threads=0
Read 10028832 compressed bytes [v0.3.7 | SIMD supported: AVX2]
No output file specified.
Decoding will be performed, but the result will be discarded.
Decoded to pixels.
6668 x 3840, geomean: 5.24 MP/s [5.22, 5.24], 5 reps, 0 threads.
Allocations: 8129 (max bytes in use: 9.464126E+08)
real 0m24.465s
user 0m24.170s
sys 0m0.276s```No optimizations(release profile, which is O3)```time /home/bluezakm/jpeg-xl_no_opt/build/tools/djxl /home/bluezakm/Pictures/SNCE8P_2021-03-13_21-45-41_s9_noopt.jxl --num_reps=5 --num_threads=0
Read 10028832 compressed bytes [v0.3.7 | SIMD supported: AVX2,SSE4,Scalar]
No output file specified.
Decoding will be performed, but the result will be discarded.
Decoded to pixels.
6668 x 3840, geomean: 5.02 MP/s [4.99, 5.02], 5 reps, 0 threads.
Allocations: 8129 (max bytes in use: 9.464126E+08)
real 0m25.554s
user 0m25.263s
sys 0m0.272s```
4,38% is certainly not negligible...
|
|
|
|
veluca
|
2021-05-26 10:30:25
|
very interesting
|
|
2021-05-26 10:30:37
|
I'll try to see a profile of it at some point
|
|
|
Scope
|
2021-05-26 10:40:14
|
O3+march haswell
```Read 12792752 compressed bytes [v0.3.7 | SIMD supported: AVX2]
No output file specified.
Decoding will be performed, but the result will be discarded.
Decoded to pixels.
3359 x 2267, geomean: 2.97 MP/s [2.87, 2.97], 5 reps, 0 threads.
Allocations: 1104 (max bytes in use: 3.081844E+08)```
O3
```Read 12792752 compressed bytes [v0.3.7 | SIMD supported: AVX2,SSE4,Scalar]
No output file specified.
Decoding will be performed, but the result will be discarded.
Decoded to pixels.
3359 x 2267, geomean: 2.89 MP/s [2.81, 2.90], 5 reps, 0 threads.
Allocations: 1104 (max bytes in use: 3.081844E+08)```
|
|
|
BlueSwordM
|
|
veluca
I'll try to see a profile of it at some point
|
|
2021-05-26 10:40:17
|
No problem.
Here are my perf profiles in the meantime
|
|
|
|
veluca
|
2021-05-26 10:44:49
|
I'm not sure if those are useful without a binary
|
|
2021-05-26 10:45:24
|
ah, I thought they were the perf.data files
|
|
2021-05-26 10:46:20
|
mh, ok, that's enough info anyway
|
|
2021-05-26 10:46:27
|
it likely optimizes the weighed predictor
|
|
2021-05-26 10:48:04
|
which is not really a surprise tbh
|
|
2021-05-26 10:48:48
|
there's a few things I already know we could do better there, just never has been at the top of the "what should I do next" list
|
|
|
|
Deleted User
|
|
BlueSwordM
```export CFLAGS="-O3 -march=native" CXXFLAGS="-O3 -march=native"
export CC=/usr/bin/clang && export CXX=/usr/bin/clang++
git clone https://gitlab.com/wg1/jpeg-xl.git --recursive
cd jpeg-xl && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -march=native" -DCMAKE_C_FLAGS="-O3 -march=native" -DJPEGXL_ENABLE_PLUGINS=ON -DJPEGXL_ENABLE_GIMP_SAVING=1 -DJPEGXL_ENABLE_DEVTOOLS=ON -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTING=OFF -DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_FORCE_SYSTEM_BROTLI=1 -DJPEGXL_ENABLE_SJPEG=OFF ..
cmake --build . -- -j 16
sudo make install```
|
|
2021-05-26 11:08:04
|
> ISN'T A ONELINER IN THE FIRST PLACE
> no `cjxl` ASCII art
> still points to GitLab instead of more recent GitHub
> still uses `jpeg-xl` directory instead of `libjxl`
|
|
|
|
tufty
|
2021-05-27 08:58:17
|
oss-fuzz has found a -ve shift in libjxl (undefined behaviour), shall I open a bug report?
(it's not a very interesting bug, but should probably be fixed)
|
|
|
tufty
oss-fuzz has found a -ve shift in libjxl (undefined behaviour), shall I open a bug report?
(it's not a very interesting bug, but should probably be fixed)
|
|
2021-05-27 09:06:33
|
... issue here https://github.com/libjxl/libjxl/issues/29
|
|
|
|
veluca
|
2021-05-27 09:09:46
|
I wonder how it can happen at all ๐
|
|
|
|
tufty
|
2021-05-27 09:16:23
|
hehe ... the wonder of C
(we all love it really)
|
|
|
|
veluca
|
2021-05-27 10:39:44
|
I'd have thought that it was mathematically impossible for that number to be negative, really xD
|
|
2021-05-27 10:39:53
|
oh well, <@!794205442175402004> will figure it out
|
|
|
_wb_
|
2021-05-27 11:01:40
|
Must be somehow uninitialized, I suppose.
|
|
2021-05-27 02:44:18
|
Found the bug
|
|
|
Kleis Auke
|
2021-05-27 03:16:17
|
I can confirm that PR #35 resolves issue #29. Tested with both unminimized (which gave `-5`) and minimized (i.e. the one in that issue) testcases from OSS-Fuzz.
|
|
|
_wb_
|
2021-05-27 03:25:35
|
ah the unminimized probably just did it on a larger image, where the hshift would go to 5 after squeeze, then became 0 due to buggy inv palette, and then became 0-5 = -5 after inv squeeze (instead of the 5-5 = 0 it should have been)...
|
|
|
|
tufty
|
2021-05-27 03:31:29
|
another oss-fuzz report, sorry https://github.com/libjxl/libjxl/issues/37
|
|
|
|
Deleted User
|
2021-05-27 03:35:09
|
https://i1.wp.com/gifrific.com/wp-content/uploads/2015/03/Liar-Liar-Drinking-Water-Oh-Come-On-in-Courtroom.gif
|
|
|
Kleis Auke
|
2021-05-27 03:58:59
|
<@!310374889540550660> OSS-Fuzz issue 34186 and 34269 can be reproduced using their Docker images. It's a floating-point division by zero, which is a no-op unless you actively checking them.
|
|
|
Pieter
|
2021-05-27 04:04:23
|
Something is wrong with my discord app, it shows incorrect previews...
|
|
|
krkk
|
2021-05-27 08:51:04
|
github repo doesn't have tags pushed
|
|
|
|
veluca
|
2021-05-27 08:52:46
|
you mean the old versions?
|
|
2021-05-27 08:52:51
|
please file an issue ๐
|
|
|
krkk
|
2021-05-27 09:21:20
|
done.
|
|
|
|
veluca
|
2021-05-27 09:24:09
|
thanks!
|
|
|
Jyrki Alakuijala
|
|
_wb_
<@!532010383041363969> opinions please ๐
|
|
2021-05-28 03:58:13
|
The fastest animal would be --speed tartigrade-shot-from-gun
|
|
2021-05-28 03:59:12
|
-s unicorn is great -- there is a utf symbol for it U+1F984
|
|
2021-05-28 04:00:47
|
if we add airplane and rocket, it will reduce the cuteness of the animal categories
|
|
2021-05-28 04:01:15
|
human constructs are still rather inferior to what biology has created -- it is a common mistake to celebrate them over animals ๐
|
|
2021-05-28 04:04:15
|
we should ideally add ๐๐ฆ๐ฆ and other cute animals and shift the others around
|
|
2021-05-28 04:08:09
|
we could add swift between cheetah and eagle, but swift is such a boring and confusing name in computer environments
|
|
|
_wb_
|
2021-05-28 04:12:03
|
For now I have called the two new speeds thunder and lightning
|
|
2021-05-28 04:12:18
|
Feel free to do a renaming ๐
|
|
|
Jyrki Alakuijala
|
2021-05-28 05:39:17
|
๐
|
|
2021-05-28 05:39:26
|
I'm fine with those
|
|
|
_wb_
|
2021-05-28 06:00:03
|
https://c.tenor.com/evwQTrVO080AAAAM/queen-bohemian-rhapsody.gif
|
|
2021-05-28 06:01:04
|
Now just have to make lightning actually do something useful ๐
|
|
2021-05-28 06:03:06
|
Maybe just YCoCg + Gradient predictor + RLE? That might still beat fast png encoding...
|
|
|
Jyrki Alakuijala
|
2021-05-28 06:21:29
|
there is something that is more frightening than thunder and lighting, it is 'huutajat'
|
|
2021-05-28 06:22:33
|
https://www.youtube.com/watch?v=iv4IoQXWSXQ
|
|
2021-05-28 06:22:45
|
it is a choir from the town where I was born
|
|
2021-05-28 06:23:06
|
it cannot unfortunately be recorded, shouting doesn't work through a video as well as it works in person
|
|
2021-05-28 06:26:39
|
https://www.youtube.com/watch?v=HtpQI07MlP4
|
|
|
_wb_
|
2021-05-28 06:32:37
|
Reminds me of https://en.m.wikipedia.org/wiki/Geographical_Fugue
|
|
2021-05-28 06:33:22
|
I once participated in a choir that did that one, it's quite fun
|
|
2021-05-28 06:35:21
|
Der Popocatepetl liegt nicht in Kanada,
sondern in Mexiko, Mexiko, Mexiko.
Kanada, Malaga, Rimini, Brindisi,
Kanada, Malaga, Rimini, Brindisi.
Ja! Athen, Athen, Athen, Athen,
Nagasaki, Yokohama,
Nagasaki, Yokohama,
|
|
|
|
veluca
|
2021-05-28 08:21:47
|
so I now have an (apparently working) JPEG to JXL nginx plugin transcoder ๐
|
|
2021-05-28 08:23:29
|
it just takes any JPEG you are about to serve, and transcodes it on the fly to JXL if the client supports it
|
|
2021-05-28 08:24:15
|
of course it takes a nonzero amount of time, so one would need caching or a (relatively) slow network for this to be a win
|
|
|
_wb_
|
2021-05-28 08:30:01
|
The opposite would also be nice, going forward. Store jxl'd jpeg on server, serve directly if supported, convert back to jpeg otherwise
|
|
|
|
veluca
|
2021-05-28 08:31:55
|
shouldn't be too hard either
|
|
|
_wb_
|
2021-05-28 08:32:00
|
Jxl to jpeg should in theory be faster too, maybe
|
|
|
|
veluca
|
2021-05-28 08:32:06
|
very likely
|
|
|
_wb_
|
2021-05-28 08:32:48
|
Of course if 99% of visitors need the jpeg, it will hurt latency
|
|
2021-05-28 08:34:21
|
But from the server storage pov, and going towards a future where the majority can use the jxl, it would be the best thing to store the jxl and restore jpeg when needed
|
|
2021-05-28 08:36:18
|
(and then at some point you can start using arbitrary jxl and do a lossy decode to q85 or whatever jpeg as a fallback for the minority who needs one - or could use webp as a fallback then, maybe)
|
|
|
The Fylkir
|
2021-05-28 09:12:10
|
I imagine for many use cases, the bandwidth savings are more significant than storage savings
|
|
|
|
veluca
|
2021-05-28 09:12:52
|
depends on how often people access files
|
|
2021-05-28 09:12:59
|
for CDNs, likely yes
|
|
2021-05-28 09:13:25
|
for things like facebook, probably not
|
|
|
The Fylkir
|
2021-05-28 09:15:23
|
I'm thinking for a site with little-to-no user content
|
|
|
|
veluca
|
2021-05-28 09:18:26
|
then yes ๐
|
|
|
|
Deleted User
|
2021-05-29 12:42:29
|
<@&803357352664891472> wake up samurais, you have a PR to merge ๐
https://github.com/libjxl/libjxl/pull/45
|
|
|
_wb_
|
2021-05-29 12:45:59
|
Ugh, this group ping enabled-by-default 'feature'...
|
|
2021-05-29 12:47:16
|
Ok I am not going to disable that one, but please don't abuse it for non-urgent stuff
|
|
|
|
Deleted User
|
|
_wb_
Ok I am not going to disable that one, but please don't abuse it for non-urgent stuff
|
|
2021-05-29 12:47:48
|
Ok, I'll remember that.
|
|
2021-05-29 12:54:20
|
Thanks for quick review!
|
|
|
_wb_
|
2021-05-29 12:57:45
|
Important bugs (not necessarily security), maybe big news like apple or adobe saying something about jxl, I dunno. Things you think all core devs would certainly like to get a notification for ๐
|
|
|
|
veluca
|
2021-05-29 01:08:54
|
abuse of pinging will result in retaliatory abuse *via* pinging ๐
|
|
2021-05-29 01:09:56
|
<@!794205442175402004> maybe we could make a channel that is rate-limited for lower priority things one might want to bring to our attention?
|
|
|
|
Deleted User
|
|
veluca
<@!794205442175402004> maybe we could make a channel that is rate-limited for lower priority things one might want to bring to our attention?
|
|
2021-05-29 01:11:30
|
Its "natural" rate is limited anyway, most of the traffic already goes to other channels
|
|
|
_wb_
|
2021-05-29 01:12:28
|
Rate limiting is useful to avoid discussions start there
|
|
2021-05-29 01:12:37
|
Suggestions for a channel name?
|
|
|
|
veluca
|
2021-05-29 01:14:12
|
contact-devs?
|
|
|
_wb_
|
2021-05-31 10:57:57
|
Added it
|
|
2021-05-31 10:59:01
|
I made the fast lossless encoding quite a bit faster, especially in the HDR case where it was unnecessarily slow: https://github.com/libjxl/libjxl/pull/47
|
|
2021-05-31 11:02:44
|
probably 0.5.0, I guess
|
|
2021-05-31 11:03:05
|
0.4.x is a separate branch where only bugfixes get cherry-picked
|
|
2021-05-31 11:05:33
|
the git version shouldn't be that risky, we don't make changes in the main branch that break stuff
|
|
|
Crixis
|
2021-05-31 11:57:28
|
But why use new heuristics? They are not developing it
|
|
|
_wb_
|
2021-05-31 12:00:19
|
Options that are not in the default (non-verbose) --help of cjxl are experimental. They could disappear at any time, and they are not guaranteed to do anything useful or even work.
|
|
2021-05-31 12:15:37
|
That's not the intention. The goal is to have a "no manual tweaking required" encoder where you basically only have to choose a fidelity target, an effort, and maybe progressiveness, and it does something that makes sense.
|
|
2021-05-31 12:16:16
|
The experimental options are for experimentation, to try things out in order to make the default behavior better.
|
|
2021-05-31 01:54:03
|
basically cjxl was overriding some settings in the specific case of .gif to .jxl with no options, but not in the case of .gif to .jxl with options (like -q 100)
|
|
2021-05-31 01:54:46
|
overriding the settings was not particularly useful, it's better to let the encoder figure it out instead of assuming things like a specific predictor being best and whatnot
|
|
|
Scope
|
2021-05-31 02:04:29
|
With these changes `-s 3` could also be better on non-photographic images?
https://github.com/libjxl/libjxl/pull/47
|
|
|
|
veluca
|
2021-05-31 02:07:00
|
nope
|
|
2021-05-31 02:07:12
|
-s 2 probably is though
|
|
|
fab
|
2021-05-31 02:25:43
|
yes but losing accuracy at q70 compared to older version of the encoder
|
|
2021-05-31 02:26:09
|
isn't good for the encoder
|
|
|
_wb_
|
2021-05-31 02:44:39
|
what are you talking about, Fabian? this is about lossless
|
|
|
fab
|
2021-05-31 03:01:55
|
like if you make new heuristics and you have regression in medium qualities like they looks less accurate or more distorted blurred less beautified
|
|
2021-05-31 03:02:00
|
is not always better
|
|
2021-05-31 03:02:21
|
jxl needs also to look good to the users
|
|
2021-05-31 03:02:49
|
even if most will not notice as they don't know the accuracy jpeg xl can give
|
|
|
|
veluca
|
2021-05-31 03:09:56
|
I'm pretty sure we didn't change much recently in the encoder
|
|
|
fab
|
2021-05-31 03:12:02
|
but the 12052021 version
|
|
2021-05-31 03:12:20
|
at
|
|
2021-05-31 03:12:21
|
for %i in (C:\Users\User\Documents\bn2*.jpg) do cjxl -j -s 6 -q 63.52 --epf=2 -p --gaborish=1 --patches=0 --dots=1 --use_new_heuristics %i %i.jxl
|
|
2021-05-31 03:12:24
|
has great accuracy
|
|
2021-05-31 03:12:29
|
great beautify effect
|
|
2021-05-31 03:12:46
|
like for jxl art but even for other images it greatly reduces file size
|
|
2021-05-31 03:12:57
|
but the problem is whatever encoder you use
|
|
2021-05-31 03:13:01
|
if you go up
|
|
2021-05-31 03:13:07
|
you don't get same accuracy
|
|
2021-05-31 03:13:16
|
it looks less precise
|
|
|
|
veluca
|
2021-05-31 03:13:17
|
don't use new heuristics
|
|
|
fab
|
2021-05-31 03:13:34
|
like is modular that could be optimized
|
|
2021-05-31 03:19:48
|
|
|
2021-05-31 03:20:31
|
i'll encode at less quality
|
|
2021-05-31 03:20:38
|
q 67 and q 66
|
|
2021-05-31 03:22:54
|
|
|
2021-05-31 03:23:09
|
suprisingly q 66 it does a far good job
|
|
2021-05-31 03:23:19
|
but it blurs totally the triangle at bottom
|
|
2021-05-31 03:26:56
|
particularly q 75 blurs in up the photo
|
|
2021-05-31 03:27:05
|
the center is totally blurred in q75
|
|
2021-05-31 03:27:37
|
|
|
2021-05-31 03:31:38
|
i think if with a newer build it looks sharper at -q 78,97356 -s 7 --use_new_heuristics --dots=1 --gaborish=0
|
|
2021-05-31 03:31:58
|
it's a sign that is more fixed the problem
|
|
2021-05-31 03:37:40
|
obviously you could try to get a q70 or q 66 sharp picture but it would be too much work
|
|
2021-05-31 03:37:48
|
save it for release
|
|
2021-05-31 03:37:54
|
or for improving low bpp
|
|
2021-05-31 03:41:58
|
I THINK IT DOESN'T SOLVE ANYTHING
|
|
2021-05-31 03:42:07
|
Q 78 is still high quality
|
|
2021-05-31 03:42:26
|
because is new heuristics so is like doing a q 82 with more modular effort
|
|
2021-05-31 03:42:42
|
so it's an illusion
|
|
2021-05-31 03:42:49
|
medium quality still looks blurred
|
|
|
Pieter
|
2021-05-31 03:43:32
|
This is maybe more for <#840831132009365514> ?
|
|
|
fab
|
|
Pieter
This is maybe more for <#840831132009365514> ?
|
|
2021-05-31 03:44:49
|
I removed some duplicates from 12:56
|
|
|
|
tufty
|
2021-05-31 04:45:46
|
ouch nasty libjxl crash possibly found by oss-fuzz (write after free)
github doesn't seem to have a "keep this private" option for issues, is it OK to open it there anyway?
|
|
|
_wb_
|
2021-05-31 04:52:18
|
I think it's ok to open it publicly, wdyt <@179701849576833024> ?
|
|
2021-05-31 04:52:49
|
It's probably something we will then fix quickly anyway and the fix will be public anyway
|
|
|
|
veluca
|
2021-05-31 05:03:02
|
probably OK for now (til we have a proper security process)
|
|
2021-05-31 05:03:19
|
you can also email it I guess, but issue is likely good
|
|
|
|
tufty
|
2021-05-31 05:39:19
|
hello, OK to report security issues on github libjxl?
there doesn't seem to be a "keep private" option in the new issue page
|
|
|
|
veluca
|
|
_wb_
|
2021-05-31 05:54:00
|
A zero day exploit targeting specifically chrome with the enable-jxl flag enabled is probably not a huge problem? Considering likely the only thing they can do is make a website that makes a tab get killed...
|
|
|
|
tufty
|
2021-05-31 06:00:55
|
ok, opened here: https://github.com/libjxl/libjxl/issues/66
|
|
2021-05-31 06:02:40
|
could probably use it to run arbitrary asm code in a chrome tab
|
|
2021-05-31 06:03:28
|
well ... possibly anyway heh
|
|
|
_wb_
|
2021-05-31 06:04:30
|
Thanks for the find!
|
|
|
|
Deleted User
|
|
tufty
well ... possibly anyway heh
|
|
2021-05-31 06:08:28
|
https://i.kym-cdn.com/photos/images/newsfeed/001/401/347/312.jpg
|
|
2021-05-31 08:23:38
|
I've just updated my compiling one-liner. Now you won't loose any of the additional files you've kept in `libjxl/build/tools` (e.g. all of those `.jxl`, `.png` or `.jpg` you've processed, `jxl_from_tree` designs etc.)
**Make sure you don't have `tools` directory in your home folder!**
https://discord.com/channels/794206087879852103/804324493420920833/847204142589018132
|
|
2021-06-01 01:58:14
|
Whoaaaa, I only wanted to make some slight modifications to the command from `README.md`...
|
|
2021-06-01 04:21:27
|
Another thing is I'm not knowledgeable enough to know `cmake`'s settings and I just trust devs to give the right command that I won't modify
|
|
|
_wb_
|
2021-06-01 05:14:20
|
It's a decoder-only library. In many applications you don't need an encoder...
|
|
2021-06-01 10:41:06
|
I guess because if you link dynamically, you can probably just depend on libjxl and link to the full library. The decoder-only libjxl_dec would be more for something like a game that uses jxl sprites and wants to do static linking to have a self-contained executable without dependencies.
|
|
|
Scope
|
|
improver
|
2021-06-01 11:36:42
|
static libs increase binary size, dynamic ones not to significant degree. though i think it could just discard encoding stuff which isn't used at all?
|
|
2021-06-01 11:37:04
|
probably needs sufficiently smart compiler/linker for that
|
|
|
|
Deleted User
|
2021-06-01 09:22:58
|
What do you think of such commits?
https://github.com/ziemek99/libjxl/commit/7b4c2dda9eeafe690a76cbf5b22c7a3607c71093
|
|
2021-06-01 09:23:19
|
I'm asking you for an opinion, because I don't want to make pull request only to be rejected...
|
|
|
|
veluca
|
2021-06-01 09:26:42
|
no reason not to ๐
|
|
|
Scope
|
2021-06-01 09:33:05
|
Also, not really important, but
```=0|1
force enable/disable```
but, "enable" is usually `1`, although `0` comes first
|
|
2021-06-01 09:34:35
|
more clearly it's something like
```=0|1
force disable/enable```
or
```=1|0
force enable/disable```
|
|
|
|
Deleted User
|
2021-06-01 09:34:50
|
I only followed core devs' convention
|
|
|
Scope
|
2021-06-01 09:36:16
|
It's in the descriptions of all the other options, not just this commit/option
|
|
|
|
veluca
|
2021-06-01 09:39:19
|
feel free to change nonsensical stuff in the CLI
|
|
2021-06-01 09:39:20
|
๐
|
|
|
|
Deleted User
|
|
Scope
It's in the descriptions of all the other options, not just this commit/option
|
|
2021-06-01 09:43:01
|
That's the effect I wanted. I put the edited gaborish option under unedited ones, now you can't discern which one was changed and which ones were "original".
|
|
|
Scope
|
2021-06-01 09:43:44
|
Also
``` -N max_d, --near-lossless=max_d
[modular encoding] apply near-lossless preprocessing with maximum delta = max_d```
but it is not clear what the maximum and minimum numbers could be (like 1, 1000, 0.01, -1?)
|
|
|
That's the effect I wanted. I put the edited gaborish option under unedited ones, now you can't discern which one was changed and which ones were "original".
|
|
2021-06-01 09:45:01
|
Yep, but I'm talking about options in general, not this commit (it just reminded me of these descriptions)
|
|
|
|
Deleted User
|
2021-06-01 09:51:31
|
There's probably nothing a force-push won't do ๐ Better now?
https://github.com/ziemek99/libjxl/commit/1c81d8d4070c7220315e6378e32f35e93c93765d
|
|
|
Scope
|
2021-06-01 09:56:19
|
Yep, because I think it's better to make more changes that apply to one thing than to create a lot of commits with very small changes (such as adding a word, missing a comma, etc.)
|
|
|
|
Deleted User
|
2021-06-01 09:57:55
|
It's not like I wanted to make multiple commits, it simply was outside of my *scope* (pun intended)
|
|
|
Scope
Also, not really important, but
```=0|1
force enable/disable```
but, "enable" is usually `1`, although `0` comes first
|
|
2021-06-01 09:58:27
|
I made the first commit before this message
|
|
2021-06-01 09:59:10
|
I'm also against "micro-commits", I just didn't think I could do it while I'm at it
|
|
|
Scope
|
2021-06-01 09:59:21
|
Yes, if they are necessary, change for the sake of change is also not good
|
|
|
|
Deleted User
|
2021-06-01 10:00:51
|
But this change should actually make sense, you were right about pointing it out
|
|
|
|
veluca
|
2021-06-01 10:47:31
|
pro tip: even if you have multiple commits in your local branch, they'll be squashed when the PR is accepted
|
|
|
|
Deleted User
|
2021-06-01 10:54:33
|
How will be the new squashed commit named?
|
|
|
|
veluca
|
2021-06-01 11:45:02
|
I think the one that does the squash decides
|
|
|
Jake Archibald
|
2021-06-02 09:38:46
|
I'm taking a look at some options to expose in Squoosh and could do with some advice.
`middleout` - is this worth exposing? Does it only apply to progressive images?
`progressive_ac`/`qprogressive_ac` - are these worth exposing? If so, what's the difference between them?
`progressive_dc` - worth exposing? If so, what range of values?
|
|
|
|
Deleted User
|
|
Jake Archibald
I'm taking a look at some options to expose in Squoosh and could do with some advice.
`middleout` - is this worth exposing? Does it only apply to progressive images?
`progressive_ac`/`qprogressive_ac` - are these worth exposing? If so, what's the difference between them?
`progressive_dc` - worth exposing? If so, what range of values?
|
|
2021-06-02 09:53:50
|
`middleout` IMHO it's an option the most worth exposing from that list. Essentially it reorders AC coeffs so they get enhanced from the middle in a spiral pattern instead of usual top-down progression.
|
|
|
_wb_
|
2021-06-02 10:30:55
|
Middleout applies to all images, even lossless modular ones, and does what <@456226577798135808> just said
|
|
2021-06-02 10:34:10
|
qprogressive_ac is the default progressive AC
|
|
2021-06-02 10:34:20
|
(what you get with -p)
|
|
2021-06-02 10:35:13
|
progressive_ac is a different scan script, one that is closer to what libjpeg does, I think
|
|
2021-06-02 10:37:40
|
Progressive_dc=1 makes sense, higher values probably don't work well
|
|
2021-06-02 10:39:07
|
Currently neither djxl nor chrome have a way to show previews of the progressive dc loading though
|
|
|
Kornel
|
2021-06-02 10:44:45
|
I would like to speak to the manager of C++!
```
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/memory:671:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/new:326:12: error: 'operator delete' is unavailable: introduced in macOS 10.12
return __builtin_operator_delete(__ptr, __a1);
^
```
|
|
2021-06-02 10:44:51
|
I'm trying to build the lib on macOS 11, via jpegxl-sys.
|
|
|
_wb_
|
|
|
veluca
|
|
_wb_
|
2021-06-02 11:55:44
|
https://tenor.com/view/supervisor-speak-to-the-manager-manager-bubble-gum-princess-adventure-time-gif-9822847
|
|
|
|
Deleted User
|
|
_wb_
https://tenor.com/view/supervisor-speak-to-the-manager-manager-bubble-gum-princess-adventure-time-gif-9822847
|
|
2021-06-02 01:51:03
|
*ahem* <@178524721023811584>
|
|
|
bonnibel
|
2021-06-02 01:54:05
|
hii!
|
|
2021-06-02 01:54:30
|
i cant believe youve discovered my secret identity as the manager of c++
|
|
|
|
Deleted User
|
|
bonnibel
i cant believe youve discovered my secret identity as the manager of c++
|
|
2021-06-02 01:55:47
|
YOU CAN'T HIDE ANYMORE, MUAHAHAHAHAHAAAA
|
|
|
bonnibel
|
2021-06-02 01:56:26
|
you may think it to be ISO/IEC JTC1 SC22 WG21 but really it was i all along
|
|
2021-06-02 01:56:44
|
clang and gcc are but pawns in my shadow war of mysterious motive
|
|
|
_wb_
|
2021-06-02 01:57:22
|
I _knew_ it
|
|
|
|
Deleted User
|
2021-06-02 02:10:07
|
<@794205442175402004> do you think that such small tweaks *really* require adding myself to the authors list?
|
|
|
_wb_
|
2021-06-02 02:13:22
|
not the contributors list, only the authors list
|
|
|
|
Deleted User
|
|
_wb_
not the contributors list, only the authors list
|
|
2021-06-02 02:15:56
|
Sorry, my mistake. Fixed the message.
|
|
|
_wb_
|
2021-06-02 02:17:56
|
I'm not a lawyer but I guess there's a good reason for being exhaustive on the authors list
|
|
|
Lastrosade
|
2021-06-02 02:31:44
|
So ugg I updated my system and it broke cjxl, it seems to have to do with openexr
|
|
2021-06-02 02:32:51
|
Can't compile
|
|
2021-06-02 02:36:41
|
I see, thanks
|
|
2021-06-02 02:51:44
|
welp the patch fails
|
|
|
improver
|
2021-06-02 02:53:10
|
should probably try libjpeg-xl-git
|
|
|
Lastrosade
|
2021-06-02 02:53:19
|
Both fail
|
|
|
improver
|
2021-06-02 02:53:28
|
o. rip
|
|
|
Lastrosade
|
2021-06-02 02:53:37
|
also its odd, none of the code that the patch tries to change is present in codec_exr.cc
|
|
2021-06-02 02:55:31
|
the patch tries to change `OpenEXR::Int64` to `uint64_t` but the file has `ExrInt64`
|
|
2021-06-02 03:01:19
|
This patch works with upstream on gitlab
|
|
|
zebefree
|
2021-06-02 05:11:19
|
If it says ExrInt64 then it is the version that should already be fixed. The old OpenEXR needs OpenEXR::Int64 and the new OpenEXR needs uint64_t, so to work with both versions libjxl now sets ExrInt64 to the appropriate type for the version of OpenEXR that you're using and uses that.
|
|
2021-06-02 05:12:44
|
<@!132637059327328256> Your error message says OpenEXR::Int64 so it looks like you were compiling an older libjxl from before it was changed to ExrInt64.
|
|
|
Lastrosade
|
2021-06-02 05:14:38
|
damn the aur package points to the gitlab repo
|
|
|
zebefree
|
2021-06-02 05:16:42
|
It looks like the master branch on the gitlab repo says ExrInt64 so it should work. https://gitlab.com/wg1/jpeg-xl/-/blob/main/lib/extras/codec_exr.cc#L115
|
|
|
|
veluca
|
|
Lastrosade
damn the aur package points to the gitlab repo
|
|
2021-06-02 05:25:53
|
you might want to cleanbuild ๐
|
|
|
Lastrosade
|
2021-06-02 05:37:29
|
both libjpeg-xl and libjpeg-xl-git point to the gitlab repo
|
|
|
zebefree
|
2021-06-02 05:39:48
|
The gitlab and github repos are in sync, so the main branch is the same.
|
|
2021-06-02 05:42:01
|
Oh gitlab has both a main branch and a master branch, and they are different... <:WTF:805391680538148936>
|
|
|
|
veluca
|
2021-06-02 05:56:43
|
that *might* be my fault
|
|
|
|
Deleted User
|
2021-06-02 06:00:32
|
And why do automated GitHub checks fail after merging with main but not in pull requests?
|
|
|
_wb_
|
2021-06-02 06:15:05
|
More exhaustive checks are done after merge, too much effort to run them at every pull request update
|
|
|
|
Deleted User
|
2021-06-02 08:08:38
|
Oh, msan builds are passing again, nice
|
|
|
|
veluca
|
2021-06-02 08:51:25
|
it's actually nondeterministic...
|
|
2021-06-02 08:53:35
|
you have no idea how much I'm hating that bug ๐
|
|
2021-06-03 12:02:41
|
I dunno about a description
|
|
2021-06-03 12:03:15
|
but it corresponds to something like being visually lossless when zoomed
|
|
|
_wb_
|
2021-06-03 12:54:34
|
-d 1.0 is strictly speaking not quite visually lossless, it is 1 unit of just-noticeable-difference so basically in the worst part of the image, half of the people should just barely see a difference when flipping between original and compressed
|
|
2021-06-03 12:54:58
|
half of a just-noticeable-difference should be a not-noticeable-difference ๐
|
|
2021-06-03 12:56:02
|
of course in practice it depends a lot on how much effort you are spending on spotting a difference, and even -d 2.0 can be "visually lossless" according to some definitions
|
|
2021-06-03 12:58:15
|
if you define "visually lossless" as "confidence interval of MOS score is overlapping with the confidence interval of the MOS score of the original", then probably for some images even -d 3.0 is "visually lossless"
|
|
|
fab
|
2021-06-03 01:00:50
|
-d 2.92394 -s 8
|
|
2021-06-03 01:00:55
|
should be good for web use
|
|
2021-06-03 01:01:09
|
but i don't know what compression achieves
|
|
2021-06-03 01:11:59
|
is good
|
|
2021-06-03 01:13:03
|
33065 kb
|
|
2021-06-03 01:14:23
|
s 9 is still not particularly on this (low bitrate)
|
|
2021-06-03 01:14:51
|
but for medium quality compression density has improved
|
|
2021-06-03 01:15:04
|
by very much
|
|
2021-06-03 01:16:15
|
so i think even for artwork
|
|
|
improver
|
2021-06-03 03:09:29
|
what CFLAGS you're using
|
|
2021-06-03 03:09:36
|
in `/etc/makepkg.conf`
|
|
2021-06-03 03:11:16
|
iirc archlinux recently changed their stuff and new compilation flags made things fail for me so I'm using something less rigid
|
|
|
|
veluca
|
2021-06-03 03:21:57
|
mhhh, weird, it works for me...
|
|
|
improver
|
2021-06-03 03:23:30
|
it did fail for me too when I tried transfering CFLAGS from `/etc/makepkg.conf.pacnew` to `/etc/makepkg.conf`
|
|
|
Kleis Auke
|
|
Kleis Auke
BTW, is it necessary to add myself to `AUTHORS`, even for small changes?
|
|
2021-06-03 05:28:51
|
Oh, I noticed that <https://github.com/libjxl/libjxl/pull/24> landed after <https://github.com/libjxl/libjxl/pull/23> and <https://github.com/libjxl/libjxl/pull/16>. Should I open a PR to add myself to `AUTHORS` for copyright purposes?
|
|
|
lithium
|
2021-06-03 05:34:44
|
I like this distance description from Jyrki Alakuijala.
> -d 4.1 means that you accept errors that are 4.1x what I consider just-noticeable-error.
> at -d 1.0 you would get exactly what I consider just-noticeable-errors.
And this from old version jxl
> Usage: cjpegXL_jxl.exe [OPTIONS]
> 100 = mathematically lossless. Default for already-lossy input (JPEG/GIF)
> 95 = visually lossless (flicker-test).
> 90 = visually lossless (side by side). Default for generic input.
|
|
|
Petr
|
|
_wb_
not the contributors list, only the authors list
|
|
2021-06-04 06:41:45
|
OK, but I'll need to learn something first. I started with "Fetch and merge" in my fork. What should I do next? Edit AUTHORS in my fork and make another PR?
|
|
|
_wb_
|
2021-06-04 06:44:55
|
`git commit AUTHORS --amend`
|
|
|
Petr
|
2021-06-04 06:48:41
|
And what if I (try to) contribute only from a web browser? ๐
|
|
|
Pieter
|
2021-06-04 06:49:49
|
On github you can create edits in pull requests directly from the web interface
|
|
2021-06-04 06:50:00
|
I've never used it myself though.
|
|
|
Petr
|
2021-06-04 07:33:25
|
I couldn't figure out how to modify an existing PR. So I created a new one. I hope it's how it should be. If not, let me knowโฆ๐
|
|
|
|
veluca
|
2021-06-04 07:57:43
|
you don't need to modify the commit, github will happily squash multiple commits if you have >1
|
|
|
_wb_
|
2021-06-04 05:33:30
|
Cool, a PR for better lossy palette? https://github.com/libjxl/libjxl/pull/108/files
|
|
|
lithium
|
2021-06-04 05:43:00
|
Hope pingo dev can provide some code, pingo lossy palette implement(RGB24, RGBA32) is work very well on pixel art content.
https://css-ig.net/pingo
|
|
|
_wb_
|
2021-06-04 05:52:14
|
<@826537092669767691> is also very familiar with that kind of thing
|
|
2021-06-04 05:53:12
|
In jxl you can do funkier stuff than just a color palette though, you can also have delta palette entries which is kind of a game changer
|
|
2021-06-04 05:55:32
|
It means you don't have to resort to dithering to do slow gradients in palette mode, you can use deltas and get actual smooth gradients.
|
|
|
Scope
|
2021-06-04 05:57:31
|
Perhaps the Rust version of JXL will motivate new experiments
|
|
|
|
veluca
|
2021-06-04 05:58:33
|
no pressure there, huh?
|
|
2021-06-04 05:58:34
|
๐
|
|
|
Crixis
|
2021-06-04 06:00:09
|
No rust no adoption
|
|
|
|
veluca
|
2021-06-04 06:00:38
|
I'm not sure what to start with on that rust reimplementation - both a fully featured, but possibly not so fast decoder and just a simple JPEG-to-JXL transcoder seem pretty interesting...
|
|
2021-06-04 06:00:50
|
<@!826537092669767691> <@!239702523559018497> any opinions there? ๐
|
|
|
_wb_
|
2021-06-04 06:05:22
|
Both are interesting from a spec validation pov - a full decoder is more useful than a partial encoder, but both are good to find spec bugs
|
|
|
Kornel
|
2021-06-04 06:52:42
|
I'd love a Rust version
|
|
2021-06-04 06:53:59
|
I'm stretched thin between too many projects, so don't wait for me to write one
|
|
2021-06-04 06:55:11
|
From security perspective of course the most important part is parsing in the decoder
|
|
|
|
veluca
|
2021-06-04 06:55:44
|
unfortunately I'm not exactly overflowing with free time either ๐ but it's fun, so I do try to find the time ๐
|
|
|
Kornel
|
2021-06-04 06:56:03
|
But OTOH for deployment server-side, decoders are irrelevant.
|
|
2021-06-04 06:57:06
|
So for me it'd be important to have an encoder which can guarantee it won't leak uninitialised memory in the file, or do anything silly like that
|
|
|
|
veluca
|
2021-06-04 06:57:25
|
fair enough, fair enough
|
|
|
Kornel
|
2021-06-04 06:57:46
|
Just a JPEG transcoder may be fine for a start
|
|
|
|
veluca
|
2021-06-04 06:57:51
|
since you're the Rust expert here ๐ - are you aware of any library that is able to do low level parsing of JPEGs?
|
|
2021-06-04 06:58:13
|
well, I guess crate is the correct word
|
|
|
Kornel
|
2021-06-04 06:58:28
|
https://lib.rs/jpeg-decoder
|
|
|
|
veluca
|
2021-06-04 06:59:05
|
yeah, I had seen that one, but IIRC it doesn't expose things like DCT coefficients or quantization tables
|
|
|
Kornel
|
2021-06-04 06:59:16
|
I've hacked this one to build https://lib.rs/crates/cloudflare-soos
|
|
|
|
veluca
|
2021-06-04 06:59:32
|
I believe I even opened an issue about that
|
|
|
Kornel
|
2021-06-04 06:59:33
|
It exposes its source code ๐
|
|
|
|
veluca
|
2021-06-04 06:59:40
|
ok, fair enough ๐
|
|
2021-06-04 07:01:41
|
I guess a JPEG recompressor would be a much easier task than a full-featured decoder too...
|
|
|
_wb_
|
2021-06-04 07:44:36
|
Should there be any Rust coder who wants to do part of a decoder (or encoder), I am happy to (try to) explain any part of the spec / reference code
|
|
|
|
veluca
|
2021-06-04 07:49:16
|
me too, but I can also help with the coding itself (if you're willing to deal with my lacking Rust knowledge)
|
|
|
Pieter
|
2021-06-04 07:55:51
|
so you could say your Rust knowledge is... rusty ๐
|
|
|
|
veluca
|
2021-06-04 07:57:01
|
yes ๐
|
|
|
Nova Aurora
|
|
Pieter
so you could say your Rust knowledge is... rusty ๐
|
|
2021-06-04 07:57:18
|
Hasn't been tempered yet .... rusty means it has decreased over time, rather than needing to be built up
|
|
|
|
veluca
|
2021-06-04 07:57:36
|
I did actually write some Rust code ~3 years ago
|
|
2021-06-04 07:58:28
|
I don't remember *what* I wrote, I thought it was this https://github.com/edomora97/task-maker-rust but apparently not
|
|
2021-06-04 08:00:12
|
ah, it was a rewrite of this https://github.com/algorithm-ninja/cmsocial in rust but it never got to see the light of day ๐
|
|
|
Jyrki Alakuijala
|
|
_wb_
Cool, a PR for better lossy palette? https://github.com/libjxl/libjxl/pull/108/files
|
|
2021-06-07 07:45:57
|
Finally we get delta palettization to produce occasionally better results than jxl:d1, i.e., lower bpp, lower butteraugli max, lower p norm
|
|
2021-06-07 07:46:26
|
for example the graphics example image from squoosh.app falls into this category
|
|
2021-06-07 07:46:39
|
also images with some gradients have worked
|
|
2021-06-07 07:47:04
|
next up with Iulia we will possibly try to add k means clustering of deltas -- that should improve the delta palettization further
|
|
|
lithium
Hope pingo dev can provide some code, pingo lossy palette implement(RGB24, RGBA32) is work very well on pixel art content.
https://css-ig.net/pingo
|
|
2021-06-07 07:48:06
|
Delta palette is a different animal where different compromises make sense
|
|
|
`middleout` IMHO it's an option the most worth exposing from that list. Essentially it reorders AC coeffs so they get enhanced from the middle in a spiral pattern instead of usual top-down progression.
|
|
2021-06-07 07:52:27
|
middle-out is great -- but if there are very frequent updates then the visual activity will be confusing -- with middle-out you need Chrome to throttle (like it naturally does) the progressive updates, if you make a video of each tile update (the way progression is sometimes demonstrated), the viewer will get hypnotized or has an epilepsy stroke half way down the image.
|
|
2021-06-07 07:53:26
|
the middle-out episode from Silicon Valley is more inappropriate than our memories of it
|
|
2021-06-07 07:53:56
|
possibly it would be good to call middle-out middle-out only inofficially, and call it center-first in the official documentation/binary
|
|
|
_wb_
That's quite a visible difference - I cannot see any banding in the dithered one, while in the nondithered one it is quite obvious
|
|
2021-06-07 06:07:21
|
It is funny that we had dithering in pik -- it got removed at some stage because of decoding speed optimizations and no obvious reduction of quality -- but I anticipated that it will get back, now happy to have it again ๐
|
|
|
_wb_
|
2021-06-07 06:24:39
|
Well it's not in libjxl atm, afaik, but it's an easy add since <@179701849576833024> has written the code for it
|
|
|
|
Deleted User
|
|
Jyrki Alakuijala
It is funny that we had dithering in pik -- it got removed at some stage because of decoding speed optimizations and no obvious reduction of quality -- but I anticipated that it will get back, now happy to have it again ๐
|
|
2021-06-07 06:38:47
|
Did you just read everything you missed during your month of absence?
|
|
|
Scope
|
2021-06-07 07:14:12
|
๐ค <https://docs.google.com/document/d/1mdvt5Q7987wfFwLypDFx7CslQMWmx7R8ytJKSMKKD80/>
|
|