|
fab
|
2022-11-08 02:53:18
|
|
|
2022-11-08 02:53:32
|
https://artifacts.lucaversari.it/libjxl/libjxl/2022-11-08T12%3A51%3A53Z_0d5f6450f6be84cf550f0a6ede8a297447a0565a/
|
|
2022-11-08 02:53:44
|
i copied 21 files
|
|
2022-11-08 02:54:01
|
all the executable as someone said
|
|
2022-11-08 02:54:09
|
in pictures/q
|
|
|
DZgas Ж
|
|
fab
|
|
2022-11-08 04:10:33
|
show output File
|
|
|
fab
|
2022-11-08 04:12:29
|
I can't open the computer, at the moment
|
|
|
DZgas Ж
|
|
fab
I can't open the computer, at the moment
|
|
2022-11-08 04:13:11
|
then can you describe what was art there?
|
|
|
fab
|
2022-11-08 04:15:58
|
Screenshot of a video
|
|
2022-11-08 04:16:07
|
YouTube
|
|
2022-11-08 04:16:11
|
Neomelodico
|
|
2022-11-08 04:16:42
|
Size 3,5mb
|
|
2022-11-08 04:16:52
|
Original jpg 6,2mb
|
|
2022-11-08 04:17:04
|
It saturated my RAM
|
|
2022-11-08 04:17:27
|
And was slow to encode
|
|
2022-11-08 04:17:43
|
Like One minute and ten
|
|
|
fab
It saturated my RAM
|
|
2022-11-08 04:18:00
|
First time at 99%
|
|
|
DZgas Ж
|
2022-11-08 04:20:32
|
<@416586441058025472> what it has to do with the fact that I need to look at the boundaries of the VarDCT Blocks
|
|
|
fab
|
2022-11-08 04:21:04
|
I don't know how to use benchmark XL
|
|
2022-11-08 04:21:13
|
Tool
|
|
2022-11-08 04:21:47
|
Of the images i used it didn't changed colours
|
|
2022-11-08 04:21:58
|
But i didn't used backgrounds
|
|
2022-11-08 04:22:09
|
You can report to jon on GitHub
|
|
|
DZgas Ж
|
2022-11-08 04:22:10
|
<:SadCheems:890866831047417898>
|
|
|
fab
|
2022-11-08 04:22:38
|
And you say you used benchmark xl
|
|
|
DZgas Ж
but it doesn't work, show what you have at the output
|
|
2022-11-08 04:22:58
|
It works
|
|
|
DZgas Ж
|
|
fab
It works
|
|
2022-11-08 04:23:48
|
I get an identical image but with a broken color profile
|
|
|
fab
|
|
DZgas Ж
I get an identical image but with a broken color profile
|
|
2022-11-08 04:24:21
|
I didn't open on xnviewmp but on Windows photo viewer on Windows 7
|
|
2022-11-08 04:24:26
|
No problem
|
|
2022-11-08 04:24:43
|
Only a background in the black borders
|
|
2022-11-08 04:24:50
|
With pinky tones
|
|
2022-11-08 04:25:13
|
But image display good
|
|
|
DZgas Ж
|
2022-11-08 04:25:29
|
I don't understand at all How this can allow me to see the VarDCT
|
|
|
fab
|
2022-11-08 04:25:38
|
It uses iccv4
|
|
2022-11-08 04:25:49
|
Color profile
|
|
|
DZgas Ж
|
2022-11-08 04:26:44
|
<@416586441058025472>I don't understand How this can allow me to see the VarDCT
|
|
|
fab
|
2022-11-08 04:27:06
|
I encoded a normal image
|
|
2022-11-08 04:27:25
|
And posted the screenshot of powershell
|
|
2022-11-08 04:27:55
|
Go in <#794206170445119489>
|
|
|
lithium
|
2022-11-08 05:14:46
|
Hello <@226977230121598977> Sorry to bother you,
This nonphoto content sample(white blank) is very interesting,
I test this sample on libjxl v0.6.0 229f574(nonphoto_separation branch)
and libavif aom [enc/dec]:3.2.0-143-gf20d487e3,
Look like libjxl nonphoto_separation experiment feature is very useful on this case.
> base png 202
> jxl
> d 0.1 e 9 211(separate=1)
> d 0.1 e 3 200(separate=1)
> d 0.5 e 9 211(separate=1)
> d 0.5 e 7 388(separate=1)
> d 1.0 e 9 207(separate=1)
> d 1.0 e 7 374(separate=1)
> d 12 e 7 379(separate=1)
>
> avif
> cq-level 7 317
> cq-level 15 321
> avifenc --min 0 --max 63 -s 4 -j 12 -d 10 -a end-usage=q -a cq-level=7
I still look forward libjxl lossy can implement more improvement and feature for nonphoto content 🙂
|
|
|
DZgas Ж
|
|
lithium
Hello <@226977230121598977> Sorry to bother you,
This nonphoto content sample(white blank) is very interesting,
I test this sample on libjxl v0.6.0 229f574(nonphoto_separation branch)
and libavif aom [enc/dec]:3.2.0-143-gf20d487e3,
Look like libjxl nonphoto_separation experiment feature is very useful on this case.
> base png 202
> jxl
> d 0.1 e 9 211(separate=1)
> d 0.1 e 3 200(separate=1)
> d 0.5 e 9 211(separate=1)
> d 0.5 e 7 388(separate=1)
> d 1.0 e 9 207(separate=1)
> d 1.0 e 7 374(separate=1)
> d 12 e 7 379(separate=1)
>
> avif
> cq-level 7 317
> cq-level 15 321
> avifenc --min 0 --max 63 -s 4 -j 12 -d 10 -a end-usage=q -a cq-level=7
I still look forward libjxl lossy can implement more improvement and feature for nonphoto content 🙂
|
|
2022-11-08 05:15:49
|
ehh
|
|
2022-11-08 05:16:46
|
<@461421345302118401> https://discord.com/channels/794206087879852103/794206087879852106/1038861311964098641 It's the second day I've been trying to figure out how to do this. can you help?
|
|
|
lithium
|
|
DZgas Ж
<@461421345302118401> https://discord.com/channels/794206087879852103/794206087879852106/1038861311964098641 It's the second day I've been trying to figure out how to do this. can you help?
|
|
2022-11-08 05:40:41
|
I haven't use benchmark_xl before,
look like I get same error on my windows 10 system.
> speed_stats.GetSummary
|
|
|
DZgas Ж
|
|
lithium
I haven't use benchmark_xl before,
look like I get same error on my windows 10 system.
> speed_stats.GetSummary
|
|
2022-11-08 05:41:12
|
I have exactly the same error
|
|
2022-11-08 05:41:17
|
<@532010383041363969>
|
|
2022-11-08 05:48:57
|
<@853026420792360980>
|
|
2022-11-08 05:52:49
|
benchmark_xl on Windows not work command --debug_image_dir and --save_decompressed
|
|
|
Traneptora
|
2022-11-08 05:53:35
|
it's a known but that I already reported
|
|
|
DZgas Ж
|
|
Traneptora
it's a known but that I already reported
|
|
2022-11-08 05:54:35
|
You on linux?
|
|
|
Traneptora
|
2022-11-08 05:54:55
|
I am, but the bug is cross-platform
|
|
2022-11-08 05:55:02
|
`--save_decompressed` doesn't work
|
|
|
DZgas Ж
|
2022-11-08 05:55:07
|
oh no
|
|
|
Traneptora
|
2022-11-08 05:55:42
|
https://github.com/libjxl/libjxl/issues/1872
|
|
|
DZgas Ж
|
2022-11-08 05:56:02
|
oohhh I absolutely can't get a grid of VarDCT blocks at the moment
|
|
2022-11-08 05:56:45
|
well so and so
|
|
|
|
ayumi
|
|
DZgas Ж
oohhh I absolutely can't get a grid of VarDCT blocks at the moment
|
|
2022-11-08 10:54:21
|
You do not need `--save_decompressed` for `benchmark_xl` to generate the `ac_strategy.png` files. It will work with just `--input` and `--debug_image_dir` (and in your case `--codec`, because you want to change the encoder speed preset). So, assuming you have a debug build of `benchmark_xl` and Graphviz tools in your PATH (`benchmark_xl` depends on Graphviz), you can try something like this:
```
$ ./benchmark_xl --input=/tmp/jxl/orig/white.png --codec=jxl:lighting,jxl:thunder:jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=/tmp/jxl/debug
```
|
|
2022-11-08 10:55:07
|
This is what I get after running this command:
|
|
2022-11-08 10:55:22
|
|
|
2022-11-08 10:57:45
|
After `benchmark_xl` finishes, the `ac_strategy.png` files should be in sub-folders of the `--debug_image_dir` you specified.
|
|
2022-11-08 11:07:34
|
The `convert` tool mentioned earlier is part of ImageMagick and would be needed for overlaying the original image with `ac_strategy.png`, which in case of your pure-white image is definitely not needed.
|
|
|
Jyrki Alakuijala
|
2022-11-09 09:43:12
|
the latest head improved jpeg1 coding further by 2 %
|
|
|
DZgas Ж
|
|
ayumi
You do not need `--save_decompressed` for `benchmark_xl` to generate the `ac_strategy.png` files. It will work with just `--input` and `--debug_image_dir` (and in your case `--codec`, because you want to change the encoder speed preset). So, assuming you have a debug build of `benchmark_xl` and Graphviz tools in your PATH (`benchmark_xl` depends on Graphviz), you can try something like this:
```
$ ./benchmark_xl --input=/tmp/jxl/orig/white.png --codec=jxl:lighting,jxl:thunder:jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=/tmp/jxl/debug
```
|
|
2022-11-09 09:47:09
|
```C:\Users\a\Desktop\jxl-x64-windows-static-1>benchmark_xl --input=13.png --codec=jxl:lighting,jxl:thunder:jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=.
benchmark_xl v0.8.0 6f8cd1b [Unknown]
D:\a\libjxl\libjxl\tools\benchmark\benchmark_codec.cc:52: JXL_ABORT: Invalid parameter lighting```
|
|
2022-11-09 09:47:43
|
I'm already tired, you all write me something and Nothing works for me
|
|
2022-11-09 09:48:47
|
<@865952699433484298> you can *just do it* for these 3 image and send the results here. https://discord.com/channels/794206087879852103/794206087879852106/1038860533325103165
|
|
|
|
afed
|
2022-11-09 09:53:52
|
maybe make a separate encoder for xyb, because I noticed that there is a cjpeg_hdr or combine hdr and xyb jpeg into one encoder?
|
|
2022-11-09 10:07:37
|
i also worry that chrome might find reasons not to accept the improved jpeg decoder as well, because it will be slower than libjpeg-turbo (and quality improvement is not a priority over speed) and because its newer and this lib has not been in production as long as libjpeg-turbo, so there are higher vulnerability risks
|
|
|
Jyrki Alakuijala
|
2022-11-09 10:07:51
|
yes, xyb should be a flag in a jpeg1 encoder -- too many systems fail with ICCv4
|
|
|
afed
i also worry that chrome might find reasons not to accept the improved jpeg decoder as well, because it will be slower than libjpeg-turbo (and quality improvement is not a priority over speed) and because its newer and this lib has not been in production as long as libjpeg-turbo, so there are higher vulnerability risks
|
|
2022-11-09 10:10:33
|
I have some positive signals from them for JPEG1 improvements, so I am hopeful -- but yes, it needs to be technically and by user experience comparable
In chrome they allow for experiments, so if there are subtle considerations, it can be first place behind a flag and the impact can be explored
It will still be like 5x faster than AVIF and 2x faster than WebP, so it shouldn't be disruptive for user experience
|
|
|
DZgas Ж
|
2022-11-09 10:10:37
|
can someone just DO IT, the unhappy 3 pictures
|
|
|
Jyrki Alakuijala
|
|
DZgas Ж
I need to find out how and why the reduced quality affects the weight of the picture, if it remains identical, I would not have a question if it were to weigh less, But WEIGHT is increasing, this is not normal, are you on linux? could you run up command?
|
|
2022-11-09 10:18:46
|
if all coefficients are zeros, they all pack very efficiently -- thus the ideal coding uses only 8x8 dct and all AC coeffs zeros
a more advanced coding might use 32x32 or 64x64s and then at the border use smaller transforms, they might insert an image for filter control and adaptive quantization -- but then not use it for the image you use because it is just flat
|
|
|
DZgas Ж
|
|
Jyrki Alakuijala
if all coefficients are zeros, they all pack very efficiently -- thus the ideal coding uses only 8x8 dct and all AC coeffs zeros
a more advanced coding might use 32x32 or 64x64s and then at the border use smaller transforms, they might insert an image for filter control and adaptive quantization -- but then not use it for the image you use because it is just flat
|
|
2022-11-09 11:22:31
|
it is I who want to look at the structure of the blocks!
|
|
|
Jyrki Alakuijala
|
2022-11-09 11:26:30
|
print it out in enc_ac_strategy.cc ?
|
|
|
DZgas Ж
|
|
ayumi
You do not need `--save_decompressed` for `benchmark_xl` to generate the `ac_strategy.png` files. It will work with just `--input` and `--debug_image_dir` (and in your case `--codec`, because you want to change the encoder speed preset). So, assuming you have a debug build of `benchmark_xl` and Graphviz tools in your PATH (`benchmark_xl` depends on Graphviz), you can try something like this:
```
$ ./benchmark_xl --input=/tmp/jxl/orig/white.png --codec=jxl:lighting,jxl:thunder:jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=/tmp/jxl/debug
```
|
|
2022-11-09 11:26:54
|
<@532010383041363969>
|
|
|
Jyrki Alakuijala
|
2022-11-09 11:30:02
|
also true, I never used that, just statistics and debug prints of ac strategy 🙂
|
|
2022-11-09 11:30:19
|
--more_columns might also help -- it can print statistics on dct use
|
|
|
DZgas Ж
|
|
DZgas Ж
I'm already tired, you all write me something and Nothing works for me
|
|
2022-11-09 11:31:56
|
<@532010383041363969>you suggest something but I don't even want to try it, nothing works
|
|
|
ayumi
You do not need `--save_decompressed` for `benchmark_xl` to generate the `ac_strategy.png` files. It will work with just `--input` and `--debug_image_dir` (and in your case `--codec`, because you want to change the encoder speed preset). So, assuming you have a debug build of `benchmark_xl` and Graphviz tools in your PATH (`benchmark_xl` depends on Graphviz), you can try something like this:
```
$ ./benchmark_xl --input=/tmp/jxl/orig/white.png --codec=jxl:lighting,jxl:thunder:jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=/tmp/jxl/debug
```
|
|
2022-11-09 11:40:20
|
not work
|
|
|
_wb_
|
|
DZgas Ж
```C:\Users\a\Desktop\jxl-x64-windows-static-1>benchmark_xl --input=13.png --codec=jxl:lighting,jxl:thunder:jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=.
benchmark_xl v0.8.0 6f8cd1b [Unknown]
D:\a\libjxl\libjxl\tools\benchmark\benchmark_codec.cc:52: JXL_ABORT: Invalid parameter lighting```
|
|
2022-11-09 11:42:43
|
It's lightNing
|
|
|
DZgas Ж
|
|
_wb_
It's lightNing
|
|
2022-11-09 11:44:24
|
What???
|
|
|
_wb_
It's lightNing
|
|
2022-11-09 11:45:07
|
```C:\Users\a\Desktop\jxl-x64-windows-static-1>benchmark_xl --input=13.png --codec=jxl:lightning,jxl:thunder:jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=.
benchmark_xl v0.8.0 6f8cd1b [Unknown]
**D:\a\libjxl\libjxl\tools\benchmark\benchmark_codec.cc:52: JXL_ABORT: Invalid parameter jxl** ```
|
|
2022-11-09 11:47:44
|
Maybe you can already tell me what to do, I haven't been able to achieve anything for the third day <@794205442175402004>
|
|
2022-11-09 11:50:08
|
```speed_stats.GetSummary(&summary)``` Error on WIndows on builds over the past YEAR
|
|
2022-11-09 11:51:22
|
i check benchmark_xl v0.7.0 09e08f8
|
|
2022-11-09 11:51:27
|
same
|
|
2022-11-09 11:52:00
|
benchmark_xl v0.7.0 3aaae25 same
|
|
|
_wb_
|
2022-11-09 11:52:59
|
```benchmark_xl --input=13.png --codec=jxl:lightning,jxl:thunder,jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=.
```
|
|
2022-11-09 11:53:17
|
You had a : instead of ,
|
|
|
DZgas Ж
|
|
_wb_
You had a : instead of ,
|
|
2022-11-09 11:53:40
|
```C:\Users\a\Desktop\jxl-x64-windows-static-1>benchmark_xl --input=13.png --codec=jxl:lightning,jxl:thunder,jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=.
benchmark_xl v0.8.0 6f8cd1b [Unknown]
4 total threads, 9 tasks, 4 threads, 0 inner threads
Error in jxl:lightning codec
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:143: JXL_CHECK: speed_stats.GetSummary(&summary)
Error in jxl:thunder codec
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:143: JXL_CHECK: speed_stats.GetSummary(&summary)
Error in jxl:cheetach codec
Error in jxl:falcon codec
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:143: JXL_CHECK: speed_stats.GetSummary(&summary)
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:143: JXL_CHECK: speed_stats.GetSummary(&summary)```
|
|
2022-11-09 11:54:44
|
Build Two Year Ago ```C:\Users\a\Desktop\jxl-x64-windows-static-2>benchmark_xl --input=13.png --codec=jxl:lightning,jxl:thunder,jxl:falcon,jxl:cheetach,jxl:hare,jxl:wombat,jxl:squirrel,jxl:kitten,jxl:tortoise --debug_image_dir=.
benchmark_xl v0.7.0 28a26e6 [Scalar]
4 cores, 9 tasks, 4 threads, 0 inner threads
Error in jxl:cheetach codec
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:133: JXL_CHECK: speed_stats.GetSummary(&summary)
Error in jxl:lightning codec
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:133: JXL_CHECK: speed_stats.GetSummary(&summary)
Error in jxl:falcon codec
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:133: JXL_CHECK: speed_stats.GetSummary(&summary)
Error in jxl:thunder codec
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:133: JXL_CHECK: speed_stats.GetSummary(&summary)```
|
|
2022-11-09 11:54:58
|
my Linux freind
|
|
2022-11-09 11:55:17
|
why did it work for you?
|
|
2022-11-09 11:56:50
|
I use exactly the same thing, and I gave my friend on linux exactly the same thing, but nothing works for both of us
|
|
2022-11-09 11:58:29
|
Thanks a lot, I've been waiting for this for a long time
|
|
2022-11-09 11:59:00
|
zsh yes
|
|
2022-11-09 11:59:55
|
I want to say that it ... shit
|
|
2022-11-09 12:00:20
|
and no, bash doesn't work either
|
|
2022-11-09 12:01:19
|
<@456226577798135808>he also tried to compile the build himself, and it doesn't work either
|
|
|
_wb_
|
2022-11-09 12:02:04
|
That's weird, that stuff should normally not be compiled in
|
|
2022-11-09 12:02:40
|
It's a debug thing to make a visualization of the MA tree
|
|
2022-11-09 12:03:33
|
Installing `dot` would help, but it shouldn't be trying to call it in the first place
|
|
|
DZgas Ж
|
2022-11-09 12:04:06
|
__jxl executes the command via system for some reason__
sh: line 1, dot: command not found
|
|
2022-11-09 12:05:23
|
ahhah really bruh
|
|
2022-11-09 12:09:03
|
<@794205442175402004><@456226577798135808><@532010383041363969> <@268284145820631040> <@853026420792360980>
*I just for fun placed the dot file near to the program
Inside it is the sh command: echo HELLO GUYS
As a result, it started and even did something
I have questions for the developers*
*1. Why jxl use external commands in it's code?
2. Why dependency is not linked as library?
3. Just why?*
|
|
|
_wb_
|
2022-11-09 12:10:51
|
https://github.com/libjxl/libjxl/blob/c391c17397d18845ea5e1b0e4b2ff997424514d4/lib/jxl/modular/encoding/enc_debug_tree.cc#L118
|
|
2022-11-09 12:11:38
|
that system call is behind a `#if JXL_ENABLE_DOT`, how did that get defined?
|
|
2022-11-09 12:12:43
|
oh it gets defined for everything except iOS, what
|
|
|
DZgas Ж
|
2022-11-09 12:12:51
|
*benchmark_xl was compiled on my machine
benchmark_xl2 was downloaded as static program*
|
|
|
_wb_
|
2022-11-09 12:13:42
|
oh but that function only gets called if kPrintTree is true, which is never the case
|
|
2022-11-09 12:13:43
|
https://github.com/libjxl/libjxl/blob/5fef3ec57452f2865a62c0e01cdcf3635f09b920/lib/jxl/modular/encoding/enc_encoding.cc#L41
|
|
|
DZgas Ж
|
2022-11-09 12:13:53
|
it's funny that it's Modular code even though I don't even use it
|
|
|
_wb_
|
2022-11-09 12:14:25
|
everything uses modular code, VarDCT uses it for the DC and control fields
|
|
2022-11-09 12:15:25
|
anyway it looks like you somehow have a build where someone changed kPrintTree
|
|
|
DZgas Ж
|
|
_wb_
anyway it looks like you somehow have a build where someone changed kPrintTree
|
|
2022-11-09 12:16:08
|
this error has been in at least all builds for 2 years now
|
|
|
_wb_
|
2022-11-09 12:16:24
|
no libjxl does not use this at all, this is just some debug instrumentation that should not end up in libjxl nor in benchmark_xl
|
|
|
Traneptora
|
|
DZgas Ж
<@794205442175402004><@456226577798135808><@532010383041363969> <@268284145820631040> <@853026420792360980>
*I just for fun placed the dot file near to the program
Inside it is the sh command: echo HELLO GUYS
As a result, it started and even did something
I have questions for the developers*
*1. Why jxl use external commands in it's code?
2. Why dependency is not linked as library?
3. Just why?*
|
|
2022-11-09 12:16:40
|
I'm not a libjxl dev, btw
|
|
|
DZgas Ж
|
|
Traneptora
I'm not a libjxl dev, btw
|
|
2022-11-09 12:17:33
|
you're dev of what?
|
|
|
Traneptora
|
2022-11-09 12:17:58
|
I wrote the FFmpeg plugin for libjxl, and I'm working on my own standalone decoder.
|
|
|
DZgas Ж
|
2022-11-09 12:18:02
|
I called you because you participated in the topic, maybe you are interested.
|
|
|
Traneptora
|
2022-11-09 12:18:20
|
that's fair. but in this case I have no idea lol
|
|
|
_wb_
|
2022-11-09 12:19:48
|
oh wait what
|
|
2022-11-09 12:19:49
|
https://github.com/libjxl/libjxl/blob/83944e4b8d389d27e3851a85403f4045ecd53015/lib/jxl/enc_modular.cc#L1093
|
|
2022-11-09 12:20:39
|
that call is not guarded by a compile-time `false`, so in the benchmark_xl case it does actually get compiled in
|
|
2022-11-09 12:20:55
|
good catch, <@226977230121598977> !
|
|
|
DZgas Ж
|
2022-11-09 12:21:10
|
<:BlobYay:806132268186861619>
|
|
|
_wb_
|
2022-11-09 12:29:33
|
https://github.com/libjxl/libjxl/pull/1881
|
|
|
Jyrki Alakuijala
|
|
_wb_
everything uses modular code, VarDCT uses it for the DC and control fields
|
|
2022-11-09 02:00:06
|
libjxl-tiny doesn't use modular -- so it is a possibility not to use it
|
|
|
Jim
|
2022-11-09 02:11:08
|
So tiny has no lossless?
|
|
|
Jyrki Alakuijala
|
2022-11-09 02:47:17
|
no lossless, it is a model implementation for HW that could be put into cameras
|
|
|
DZgas Ж
|
2022-11-09 02:49:24
|
<:FeelsReadingMan:808827102278451241> wh
|
|
|
lonjil
|
2022-11-09 02:51:38
|
I thought tiny was supposed to be good for shipping as a wasm shim until browsers support jxl
|
|
|
DZgas Ж
|
|
Jyrki Alakuijala
no lossless, it is a model implementation for HW that could be put into cameras
|
|
2022-11-09 02:53:58
|
Jpeg XL can lossless use VarDCT?
|
|
2022-11-09 02:54:15
|
-d 0.0000000~
|
|
2022-11-09 02:58:21
|
well, technically, my example with a white sheet proves that lossless is possible
|
|
2022-11-09 02:59:40
|
well well
|
|
2022-11-09 03:06:03
|
well.
|
|
|
Jim
|
2022-11-09 03:06:08
|
I would guess it's similar to setting jpg to 100% quality. Not lossless, but as close as you're gonna get.
|
|
|
DZgas Ж
|
2022-11-09 03:06:26
|
now everything is clear
|
|
|
Jim
I would guess it's similar to setting jpg to 100% quality. Not lossless, but as close as you're gonna get.
|
|
2022-11-09 03:07:54
|
the fact is that the codec creates functions. for transformations and subsequent compression. And as I understand it, the chances of using certain functions depend on the quality, for some reason
|
|
2022-11-09 03:08:25
|
And now I finally understand what they are
|
|
2022-11-09 03:09:20
|
whoooa
|
|
|
Jim
|
2022-11-09 03:09:56
|
Quality or speed?
|
|
|
DZgas Ж
|
2022-11-09 03:09:56
|
jxl:squirrel:d5.0
|
|
2022-11-09 03:10:08
|
e7
|
|
2022-11-09 03:12:26
|
no way! d0.1 and d5.0 functions is identifical
|
|
2022-11-09 03:12:51
|
But then why does it weigh 25 bytes more
|
|
2022-11-09 03:21:30
|
what? why is that? why is there a difference? what does it count that?
|
|
2022-11-09 03:22:11
|
bt_diffmap
|
|
2022-11-09 03:22:24
|
I don't know what it is
|
|
2022-11-09 03:22:49
|
but that's, problem
|
|
2022-11-09 03:23:36
|
<@794205442175402004> don't know what's the ? for some reason, there is a different method for different qualities, and the more quality is set, the better the compression comes out
|
|
2022-11-09 03:24:41
|
|
|
2022-11-09 03:24:55
|
dot in corner
|
|
|
_wb_
|
|
Jyrki Alakuijala
libjxl-tiny doesn't use modular -- so it is a possibility not to use it
|
|
2022-11-09 03:25:02
|
Technically, it does, for encoding DC and dctselect and quantweights, it just does it in an fjxl-style way where it only uses a tiny subset of what modular can do, with fixed MA trees etc
|
|
|
DZgas Ж
<@794205442175402004> don't know what's the ? for some reason, there is a different method for different qualities, and the more quality is set, the better the compression comes out
|
|
2022-11-09 03:26:16
|
What's your input image and encode settings?
|
|
|
DZgas Ж
|
|
_wb_
What's your input image and encode settings?
|
|
2022-11-09 03:27:33
|
my classic
jxl:tortoise:d0.1
jxl:tortoise:d5.0
|
|
|
DZgas Ж
my classic
jxl:tortoise:d0.1
jxl:tortoise:d5.0
|
|
2022-11-09 03:30:37
|
it also turns out that at squirrel speed formulas are built so inefficiently that the Size of the file turns out to be 3 times more than tortoise and 2 times more than lightning
|
|
|
Jyrki Alakuijala
|
2022-11-09 03:31:16
|
tortoise (speed 9) doesn't have much testing
|
|
2022-11-09 03:31:19
|
anything can happen
|
|
|
DZgas Ж
|
|
DZgas Ж
it also turns out that at squirrel speed formulas are built so inefficiently that the Size of the file turns out to be 3 times more than tortoise and 2 times more than lightning
|
|
2022-11-09 03:31:37
|
but now I want to understand why In all cases, if the same speed parameter is applied to this picture, but Different quality - the size is always different
|
|
|
Jyrki Alakuijala
|
2022-11-09 03:31:49
|
I'd use speed 7 -- perhaps consider speed 8 (which is also mostly untested but less aggressive, so less things can go very silly)
|
|
|
DZgas Ж
|
|
Jyrki Alakuijala
I'd use speed 7 -- perhaps consider speed 8 (which is also mostly untested but less aggressive, so less things can go very silly)
|
|
2022-11-09 03:33:15
|
let's look at the speed 1
|
|
2022-11-09 03:33:25
|
very simple
|
|
2022-11-09 03:34:14
|
Identical blocks, identical formulas - size difference of 6 bytes
|
|
2022-11-09 03:34:36
|
identical
|
|
2022-11-09 03:34:46
|
|
|
2022-11-09 03:35:32
|
jxl:lightning:d0.1 183 byte
jxl:lightning:d5.0 177 byte
|
|
2022-11-09 03:35:43
|
because what?
|
|
2022-11-09 03:37:06
|
<:Thonk:805904896879493180> <:Thonk:805904896879493180> <:Thonk:805904896879493180> <:Thonk:805904896879493180> <:Thonk:805904896879493180>
|
|
|
Jyrki Alakuijala
I'd use speed 7 -- perhaps consider speed 8 (which is also mostly untested but less aggressive, so less things can go very silly)
|
|
2022-11-09 03:40:31
|
jxl:squirrel:d0.1 2**8**5 byte
jxl:squirrel:d5.0 2**6**5 byte
difference of 20 bytes
all debug output is identical (I'm hash of the all output)
|
|
2022-11-09 03:41:34
|
<:JXL:805850130203934781> <:Thonk:805904896879493180>
|
|
|
_wb_
|
2022-11-09 03:58:05
|
quantization factors will be different, they're not in the debug output
|
|
|
DZgas Ж
|
|
_wb_
quantization factors will be different, they're not in the debug output
|
|
2022-11-09 03:58:48
|
but why are they different with exactly the identical output
|
|
|
_wb_
|
2022-11-09 04:00:53
|
it's like an 8-bit png being smaller than a 16-bit png even if the pixel values are identical
|
|
|
DZgas Ж
|
|
_wb_
it's like an 8-bit png being smaller than a 16-bit png even if the pixel values are identical
|
|
2022-11-09 04:03:38
|
I wanted to say that this is a bug of rounding coefficients... but there is nothing... only White in the image
|
|
2022-11-09 04:04:15
|
in general, this is not a tangible problem, but it is there.
|
|
|
_wb_
|
2022-11-09 04:07:32
|
it's too much of a special case to be worth detecting and optimizing it — it only applies to cases where doing more aggressive quantization happens to produce the exact same image, which can happen for single-color images but in general it will nearly never happen
|
|
|
DZgas Ж
|
2022-11-09 04:12:48
|
and yet this is a very strange instability
|
|
|
Jyrki Alakuijala
|
2022-11-09 04:14:03
|
Jon, perhaps we can learn something from it
|
|
|
DZgas Ж
|
|
_wb_
it's too much of a special case to be worth detecting and optimizing it — it only applies to cases where doing more aggressive quantization happens to produce the exact same image, which can happen for single-color images but in general it will nearly never happen
|
|
2022-11-09 04:14:39
|
I am sure that this can be done with much more colored if you draw on the borders of the blocks. Well, because of this, it can be noticeable on enlarged pixel-arts
|
|
|
Jyrki Alakuijala
|
2022-11-09 04:15:06
|
I am just afraid that right now we don't have capacity to look into this -- Wasm implementation and faster 16-bit lossless encoding are our top-most priorities now
|
|
2022-11-09 04:15:28
|
I think there is a good chance that every weirdness has a possibility to reveal an optimization possibility
|
|
2022-11-09 04:15:51
|
we should carefully record this into our bugs and come back to this in about 12 months
|
|
|
DZgas Ж
|
2022-11-09 04:17:06
|
I haven't said the funniest thing yet
|
|
2022-11-09 04:17:50
|
compression of this image by the VarDCT method is **20 **bytes less than Modular
|
|
2022-11-09 04:18:44
|
Encoding [Modular, lossless, effort: 9],
Compressed to 130 bytes (0.002 bpp).
Encoding [VarDCT, d25.000, effort: 9],
Compressed to 110 bytes (0.002 bpp).
|
|
|
_wb_
|
2022-11-09 04:19:57
|
$ cjxl 13.png 13.png.jxl -d 0 -g 3
JPEG XL encoder v0.8.0 [SSE4,SSSE3,Emu128]
Read 800x600 image, 202 bytes, 340.3 MP/s
Encoding [Modular, lossless, effort: 7],
Compressed to 53 bytes (0.001 bpp).
800 x 600, 1.63 MP/s [1.63, 1.63], 1 reps, 4 threads.
|
|
2022-11-09 04:21:08
|
default group size makes it 12 groups, -g 3 makes it a single group
|
|
|
DZgas Ж
|
2022-11-09 04:21:32
|
-g -1 == default --- default is how much
|
|
|
_wb_
|
2022-11-09 04:21:45
|
default is -g 1, which is 256x256 groups
|
|
|
DZgas Ж
|
2022-11-09 04:21:45
|
12 ok
|
|
|
_wb_
|
2022-11-09 04:22:04
|
-g 0 is 128x128 groups, -g 2 is 512x512 groups, -g 3 is 1024x1024 groups
|
|
|
DZgas Ж
|
2022-11-09 04:22:45
|
54 bytes if e 9
|
|
|
_wb_
|
2022-11-09 04:23:12
|
yeah, that kind of thing can happen
|
|
2022-11-09 04:23:47
|
heuristics are just heuristics, not everything can be estimated perfectly especially not to the byte
|
|
|
DZgas Ж
|
2022-11-09 04:24:56
|
eh, and how to get this in libjxl ...
|
|
|
_wb_
yeah, that kind of thing can happen
|
|
2022-11-09 04:30:06
|
I found new bug, with the parameters --modular_palette_colors=0 -P 15, a giant file is created, if you manually write -P 0, then everything is fine
|
|
2022-11-09 04:30:13
|
|
|
|
_wb_
|
2022-11-09 04:32:19
|
Strange...
|
|
|
DZgas Ж
|
2022-11-09 04:41:17
|
Last Build on Windows
```benchmark_xl --input=13.png --codec=jxl:lightning --debug_image_dir=.
benchmark_xl v0.8.0 cdf0332 [Unknown]
4 total threads, 1 tasks, 0 threads, 4 inner threads
Error in jxl:lightning codec
D:\a\libjxl\libjxl\tools\benchmark\benchmark_xl.cc:143: JXL_CHECK: speed_stats.GetSummary(&summary)```
|
|
2022-11-09 04:41:39
|
the same error as it was
|
|
|
|
afed
|
|
Jyrki Alakuijala
the latest head improved jpeg1 coding further by 2 %
|
|
2022-11-09 05:32:34
|
<@794205442175402004> is there any comparison for this new jpeg encoder and decoder for these metrics?
<https://jon-cld.s3.amazonaws.com/test/index.html>
or could it indirectly interfere with the jxl adoption, since the difference between the old jpeg may become less noticeable?
|
|
|
lithium
|
|
lithium
Hello <@226977230121598977> Sorry to bother you,
This nonphoto content sample(white blank) is very interesting,
I test this sample on libjxl v0.6.0 229f574(nonphoto_separation branch)
and libavif aom [enc/dec]:3.2.0-143-gf20d487e3,
Look like libjxl nonphoto_separation experiment feature is very useful on this case.
> base png 202
> jxl
> d 0.1 e 9 211(separate=1)
> d 0.1 e 3 200(separate=1)
> d 0.5 e 9 211(separate=1)
> d 0.5 e 7 388(separate=1)
> d 1.0 e 9 207(separate=1)
> d 1.0 e 7 374(separate=1)
> d 12 e 7 379(separate=1)
>
> avif
> cq-level 7 317
> cq-level 15 321
> avifenc --min 0 --max 63 -s 4 -j 12 -d 10 -a end-usage=q -a cq-level=7
I still look forward libjxl lossy can implement more improvement and feature for nonphoto content 🙂
|
|
2022-11-09 05:36:24
|
Look like something happened on e5~e7? or separate feature affect heuristic?
> d0.5-e3 199
> d0.5-e4 235
> d0.5-e5 308
> d0.5-e6 308
> d0.5-e7 388
> d0.5-e8 212
> d0.5-e9 211
>
> -d 0.5 -e 3~9 --separate=1 --num_threads=12
> JPEG XL encoder v0.6.0 229f574 (nonphoto_separation branch)
> input white blank, nonphoto content
Probably can do some simple palette sort and fast DCT(use target distance) to help heuristic
decide apply which lossy algorithm is suitable input pixel?
> fast DCT:true, palette sort:true
> fast DCT:true, palette sort:False
> apply varDCT
>
> fast DCT:False, palette sort:true
> apply lossy palette
>
> fast DCT:False, palette sort:False
> apply lossless
>
> fast DCT:False, palette sort:False and input format is jpeg
> apply jpeg lossless
|
|
|
DZgas Ж
|
|
lithium
Look like something happened on e5~e7? or separate feature affect heuristic?
> d0.5-e3 199
> d0.5-e4 235
> d0.5-e5 308
> d0.5-e6 308
> d0.5-e7 388
> d0.5-e8 212
> d0.5-e9 211
>
> -d 0.5 -e 3~9 --separate=1 --num_threads=12
> JPEG XL encoder v0.6.0 229f574 (nonphoto_separation branch)
> input white blank, nonphoto content
Probably can do some simple palette sort and fast DCT(use target distance) to help heuristic
decide apply which lossy algorithm is suitable input pixel?
> fast DCT:true, palette sort:true
> fast DCT:true, palette sort:False
> apply varDCT
>
> fast DCT:False, palette sort:true
> apply lossy palette
>
> fast DCT:False, palette sort:False
> apply lossless
>
> fast DCT:False, palette sort:False and input format is jpeg
> apply jpeg lossless
|
|
2022-11-09 05:54:37
|
I don't understand too
|
|
|
_wb_
it's too much of a special case to be worth detecting and optimizing it — it only applies to cases where doing more aggressive quantization happens to produce the exact same image, which can happen for single-color images but in general it will nearly never happen
|
|
2022-11-09 05:55:35
|
<@461421345302118401>there is a small answer here, and it also says below that this is not a particularly important bug right now https://discord.com/channels/794206087879852103/794206087879852106/1039936369436393613
|
|
2022-11-09 05:57:06
|
perhaps it will be necessary to create a more complex and color picture so that it would be much more revealing to demonstrate this bug, but so far I'm already tired
|
|
|
lithium
|
|
DZgas Ж
<@461421345302118401>there is a small answer here, and it also says below that this is not a particularly important bug right now https://discord.com/channels/794206087879852103/794206087879852106/1039936369436393613
|
|
2022-11-09 06:41:36
|
> 12 months
oh no...
I thought current encoder is really great for photo content,
I just hope encoder can get more quality improve and feature for nonphoto content.
Better encoder heuristic can handle different type content,
and increase encoder robustness for random input image.
|
|
|
DZgas Ж
|
|
lithium
> 12 months
oh no...
I thought current encoder is really great for photo content,
I just hope encoder can get more quality improve and feature for nonphoto content.
Better encoder heuristic can handle different type content,
and increase encoder robustness for random input image.
|
|
2022-11-09 06:46:27
|
unfortunately, we are not high-class programmers.... I mean, the source code is open. And you can do code improvements whenever you want.
|
|
2022-11-09 11:09:28
|
interesting between q4 and q5
|
|
2022-11-09 11:09:49
|
on 1 bit image
|
|
|
lf
|
2022-11-10 06:35:50
|
Is there recommendations for public reading material on jpeg XL beside the reference implementation?
|
|
|
Cool Doggo
|
|
DZgas Ж
interesting between q4 and q5
|
|
2022-11-10 07:27:34
|
distances >=20 (less than around q 4.68) have --resampling=2 by default
|
|
|
_wb_
|
|
lf
Is there recommendations for public reading material on jpeg XL beside the reference implementation?
|
|
2022-11-10 07:48:31
|
You mean technical details or high-level?
|
|
|
lf
|
|
_wb_
You mean technical details or high-level?
|
|
2022-11-10 07:56:51
|
Probably middle level. Mostly so I know what I am looking at when going into the code. This is only for hobby stuff so I don't want to spend to mutch time figuring out what's going on
|
|
2022-11-10 07:58:38
|
Or I wait until there are more writeups or the ISO/ DIN is available in my local catalog
|
|
|
DZgas Ж
|
|
Cool Doggo
distances >=20 (less than around q 4.68) have --resampling=2 by default
|
|
2022-11-10 08:18:42
|
Tricky
|
|
|
_wb_
|
|
lf
Or I wait until there are more writeups or the ISO/ DIN is available in my local catalog
|
|
2022-11-10 08:58:20
|
You can find spec drafts in this discord
|
|
|
DZgas Ж
|
2022-11-10 09:24:06
|
a new day -- new problems of encoder characteristic
|
|
2022-11-10 09:24:35
|
look at my new test picture
|
|
2022-11-10 09:25:22
|
I'll start with the strongest
|
|
|
lf
|
|
_wb_
You can find spec drafts in this discord
|
|
2022-11-10 09:25:22
|
Oh ya thank you
|
|
|
DZgas Ж
|
|
DZgas Ж
I'll start with the strongest
|
|
2022-11-10 09:26:45
|
fact that e1 size 7 times less, it is an actual LossLess. while the e7 at its size is Lossy
|
|
2022-11-10 09:28:05
|
in XOR it's noticeable
|
|
2022-11-10 09:31:02
|
I also want to say that the last build did not fix the errors on windows that were with the benchmark
|
|
|
DZgas Ж
I'll start with the strongest
|
|
2022-11-10 09:38:05
|
and e9 made it even worse
|
|
2022-11-10 09:41:39
|
resample=8 shows a completely different result than I expected
|
|
2022-11-10 09:44:06
|
and here is the difference in quality between e1 and e9 at the same size. e9 is blur, and I don't understand why he and e7 do it the same way. It's a disaster for pixel art. Okay, this is just a criticism of VarDCT. Modular still works great
|
|
|
_wb_
|
2022-11-10 10:01:52
|
We need some heuristics to avoid doing vardct by default on images like pixel art where dct is a bad idea and modular will work better. Challenge is to do this in a way that doesn't cause surprises, because it introduces a big discontinuity in encoder behavior depending on image content (changing one pixel could lead to a completely different encode mode getting used).
|
|
|
w
|
2022-11-10 10:22:25
|
there could at least be a heuristic for single color images
|
|
|
_wb_
|
2022-11-10 10:46:48
|
Yes, I guess. Feels a bit niche, but considering e.g. layered images, it might be relatively common...
|
|
|
DZgas Ж
|
|
_wb_
We need some heuristics to avoid doing vardct by default on images like pixel art where dct is a bad idea and modular will work better. Challenge is to do this in a way that doesn't cause surprises, because it introduces a big discontinuity in encoder behavior depending on image content (changing one pixel could lead to a completely different encode mode getting used).
|
|
2022-11-10 10:55:31
|
you really need the mode of determining which image is in the frame... perhaps to do this, you just need to do 2 compressions VarDCT (on q100) and Modular at e1 speed and then select the mode that size less
|
|
|
_wb_
|
2022-11-10 01:46:45
|
https://twitter.com/sketchplanator/status/1590344714360082432?t=xxYdvCo5cnVJJAI0owQCmQ&s=19
|
|
2022-11-10 01:46:59
|
Applies to image quality assessment too
|
|
|
lonjil
|
2022-11-10 01:48:54
|
Remember when a common criticism of open codecs was "since they don't have money, they rely on objective metrics, which results in worse quality than our proprietary and well funded stuff which relies on mass subjective testing"?
|
|
|
spider-mario
|
2022-11-10 01:58:22
|
somewhat relevant
|
|
2022-11-10 01:58:36
|
also https://www.discovermagazine.com/the-sciences/why-scientific-studies-are-so-often-wrong-the-streetlight-effect but I think I have already linked it in the past
|
|
|
spider-mario
somewhat relevant
|
|
2022-11-10 01:59:12
|
(“Understanding Psychology as a Science”, 2008, Zoltan Dienes)
|
|
2022-11-10 02:01:47
|
(another writing I have greatly enjoyed from that author is https://www.researchgate.net/publication/228711807_Bayesian_Versus_Orthodox_Statistics_Which_Side_Are_You_On )
|
|
|
improver
|
2022-11-10 02:31:39
|
psychology and politics start dominating all entities composed of humans if these entities get large enough. true objectiveness and intellectual motivation are already pretty scarce in general population, and they get easily lost / filtered out in bureaucratic megastructures
|
|
|
BlueSwordM
|
|
lonjil
Remember when a common criticism of open codecs was "since they don't have money, they rely on objective metrics, which results in worse quality than our proprietary and well funded stuff which relies on mass subjective testing"?
|
|
2022-11-10 04:19:23
|
<:KekDog:805390049033191445> <:KekDog:805390049033191445> <:KekDog:805390049033191445>
|
|
2022-11-10 04:19:46
|
Bro, when introducing a new standard from the likes of MPEG, they always use objective metrics like PSNR and SSIM <:KekDog:805390049033191445>
|
|
|
lonjil
|
2022-11-10 04:22:46
|
Yeah. I just remember seeing an mpeg person like, 7 years ago on HN explaining why Google's VPx codecs will always be worse than their codecs 😂
|
|
|
spider-mario
|
2022-11-10 04:39:38
|
might have been an x264 author
|
|
2022-11-10 04:39:41
|
I think I remember that post
|
|
2022-11-10 04:39:53
|
it made some good points
|
|
|
BlueSwordM
|
|
lonjil
Yeah. I just remember seeing an mpeg person like, 7 years ago on HN explaining why Google's VPx codecs will always be worse than their codecs 😂
|
|
2022-11-10 04:41:22
|
Oh, shikari was mainly complaining about poor encoder design philosophies.
|
|
|
lonjil
|
2022-11-10 04:50:26
|
I specifically remember someone singling out open source projects
|
|
|
DZgas Ж
|
|
lithium
|
|
DZgas Ж
unfortunately, we are not high-class programmers.... I mean, the source code is open. And you can do code improvements whenever you want.
|
|
2022-11-10 05:46:01
|
Thank you for your reply,
It is really sad, I think I don't have enough encoder development skill to
improvement nonphoto content quality and feature.
Current libjxl is really great,
but I guess I need find another way to process my nonphoto content.
|
|
|
DZgas Ж
|
|
lithium
Thank you for your reply,
It is really sad, I think I don't have enough encoder development skill to
improvement nonphoto content quality and feature.
Current libjxl is really great,
but I guess I need find another way to process my nonphoto content.
|
|
2022-11-10 05:46:46
|
and what kind of content do you have?
|
|
|
lithium
|
|
DZgas Ж
and what kind of content do you have?
|
|
2022-11-10 05:51:06
|
2d Art(pixiv), manga, comic,
For some source, I want use slight filter and use lossy encoder save result.
|
|
|
DZgas Ж
|
|
lithium
2d Art(pixiv), manga, comic,
For some source, I want use slight filter and use lossy encoder save result.
|
|
2022-11-10 05:53:43
|
avif speed 1-3 for all. webp q80-q90 for manga (if there is a lot of it, but if there is not lot then also AVIF)
|
|
|
lithium
|
2022-11-10 05:58:08
|
I understand mathematically lossless is best for non photo content,
but I prefer lossy but visual lossless or near lossless plan.
(tiny error is acceptable)
|
|
|
DZgas Ж
avif speed 1-3 for all. webp q80-q90 for manga (if there is a lot of it, but if there is not lot then also AVIF)
|
|
2022-11-10 06:01:57
|
I test libavif before, av1 CDEF have some benefit for non photo content,
libjxl butteraugli is great for some type 2d art(non photo content).
|
|
|
DZgas Ж
|
|
lithium
I understand mathematically lossless is best for non photo content,
but I prefer lossy but visual lossless or near lossless plan.
(tiny error is acceptable)
|
|
2022-11-10 06:03:07
|
if we talk about lossless mode only, then there is nothing better than jpeg xl
|
|
|
lithium
|
|
DZgas Ж
if we talk about lossless mode only, then there is nothing better than jpeg xl
|
|
2022-11-10 06:03:33
|
Agree
|
|
2022-11-10 06:07:26
|
I like webp near lossless(60 or 40) lossy mode,
so I still want to find a newer lossy encoder, quality near webp near lossless and higher density.
|
|
|
DZgas Ж
|
|
lithium
I like webp near lossless(60 or 40) lossy mode,
so I still want to find a newer lossy encoder, quality near webp near lossless and higher density.
|
|
2022-11-10 06:18:02
|
webp is not so good anymore... if anything, the new terminal versions have an **experimental **automatic filter adjustment function, it also makes the quality a little better
|
|
2022-11-10 06:19:14
|
I tried it, it really smooths artifacts better, and removes unnecessary smoothing more cleverly, but coding takes about 2 times longer
|
|
|
_wb_
|
2022-11-10 07:11:36
|
There's a few near-lossless approaches that could be tried in modular
|
|
|
DZgas Ж
|
2022-11-10 09:52:09
|
the difference between e6 and e7 looks funny
|
|
|
improver
|
2022-11-10 09:53:13
|
artsy
|
|
|
lonjil
|
2022-11-10 09:54:13
|
I've passed 1000 lines of code in my jxl decoder
|
|
|
improver
|
2022-11-10 09:54:48
|
how many structures can it parse yet
|
|
|
lonjil
|
2022-11-10 09:55:09
|
I'm almost done with the frame header
|
|
|
_wb_
|
|
lonjil
|
2022-11-10 11:06:39
|
pro tip: how to pad your loc metrics to avoid elon firing u
```rust
set!(
r,
self.encoding == FrameEncoding::Modular,
Un(2),
self.group_size_shift,
u8
);
```
|
|
2022-11-11 12:11:04
|
Alright, FreamHeader finished, time for sleep
|
|
|
DZgas Ж
|
2022-11-11 05:55:42
|
jpeg xl "E 6" turned out to be the best of the fastest compression methods, I'm happy to compress 700 thousand images
|
|
2022-11-11 06:19:59
|
q 70 i use
|
|
|
yurume
|
2022-11-11 11:02:10
|
https://crowd-jpeg.vercel.app/ "each visit to the page deteriorates the main image"
|
|
2022-11-11 11:02:32
|
which made into the HN front page just right now and the visit counter is skyrocketing
|
|
|
DZgas Ж
|
2022-11-12 06:54:47
|
is the video of this comparison on YouTube
|
|
2022-11-12 09:08:55
|
someone has windows build of libjxl-tiny ?
|
|
|
fab
|
2022-11-12 10:16:56
|
is a virus on windows 7
|
|
2022-11-12 10:17:24
|
if you want to download the only site is doom9 alternative jpg codecs
|
|
2022-11-12 10:17:33
|
in new and alternative codecs section
|
|
2022-11-12 10:17:52
|
but link is too old 2 months ago and in sendspace
|
|
|
DZgas Ж
|
|
fab
if you want to download the only site is doom9 alternative jpg codecs
|
|
2022-11-12 10:38:54
|
it's amazing that he was there, thank you. but still there are problems with his Linux, he doesn't understand PNG or BMP. just like that on windows it will be possible to use it not without problems
|
|
2022-11-12 10:39:16
|
cjxl_tiny.exe
|
|
2022-11-12 10:40:59
|
AH! my friend outrun me by 5 minutes, and compiled it too (last build)
|
|
2022-11-12 10:41:58
|
for some reason, the executable file turned out to be 3 times smaller (MSVC vs MinGW)
|
|
2022-11-12 10:43:56
|
yes, I don't understand why it was impossible to put some kind of TINY PNG decoder
|
|
2022-11-12 10:54:27
|
ppm not work
|
|
2022-11-12 10:55:44
|
pfm only...well
|
|
2022-11-12 11:00:46
|
I have a lot of software... but none can create a pfm file
|
|
|
_wb_
|
2022-11-12 11:03:39
|
Imagemagick can
|
|
2022-11-12 11:04:24
|
`convert image.png -colorspace RGB input-for-libjxl-tiny.pfm`
|
|
|
DZgas Ж
|
2022-11-12 11:04:43
|
I don't like Imagemagick
|
|
|
_wb_
Imagemagick can
|
|
2022-11-12 11:05:08
|
anyone more?
|
|
|
_wb_
|
2022-11-12 11:07:46
|
Gimp?
|
|
2022-11-12 11:08:08
|
You can also use cjxl/djxl to produce a pfm
|
|
|
DZgas Ж
|
|
_wb_
Gimp?
|
|
2022-11-12 11:12:00
|
<:SadCheems:890866831047417898>
|
|
|
fab
|
|
_wb_
You can also use cjxl/djxl to produce a pfm
|
|
2022-11-12 11:13:39
|
Yes
|
|
2022-11-12 11:13:44
|
I did this
|
|
|
DZgas Ж
|
|
_wb_
You can also use cjxl/djxl to produce a pfm
|
|
2022-11-12 11:13:53
|
It would be very nice if in libjxl-tiny... and in standart libjxl was introduced the microscopic QOI
|
|
|
|
JendaLinda
|
2022-11-12 11:34:27
|
Gimp cannot handle pfm produced by djxl, the levels are all wrong like if they were shifted/truncated. Gimp also refuses to read pam files at all.
|
|
|
DZgas Ж
|
2022-11-12 12:56:51
|
<:PepeSadCatGun:973222795150508082>
|
|
2022-11-12 01:32:30
|
I get photoshop 2007. converted it to 32 bits, then saved it to .PFM. then compressed it. In Photoshop, the PFM file is displayed well, but cjxl-tiny has lost colors, brightness, And in addition mirrored the image
|
|
|
_wb_
`convert image.png -colorspace RGB input-for-libjxl-tiny.pfm`
|
|
2022-11-12 02:08:52
|
mirroring is photoshop problem, but the problem with colors is completely identical
|
|
|
_wb_
|
2022-11-12 02:23:08
|
Pfm has no colorspace info, libjxl-tiny expects linear, others will interpret it as sRGB
|
|
|
DZgas Ж
|
|
_wb_
Pfm has no colorspace info, libjxl-tiny expects linear, others will interpret it as sRGB
|
|
2022-11-12 02:37:33
|
you gave me a command for Imagemagick, and it turns out it doesn't work, and photoshop too. In this case, I don't understand how I can get the PFM file Correctly to compress it via libjxl-tiny
|
|
|
_wb_
|
2022-11-12 02:39:08
|
Do you have a tagged png as input? If it is untagged, then you need to do something like `convert image.png -colorspace sRGB -colorspace RGB input.pfm` iirc
|
|
2022-11-12 02:40:45
|
Also, to decode the jxl you need something like this: `djxl compressed.jxl decompressed.png --bits_per_sample 16 --color_space RGB_D65_SRG_Per_SRG`
|
|
|
DZgas Ж
|
|
_wb_
Do you have a tagged png as input? If it is untagged, then you need to do something like `convert image.png -colorspace sRGB -colorspace RGB input.pfm` iirc
|
|
2022-11-12 02:40:49
|
not work too
|
|
|
_wb_
|
2022-11-12 02:41:04
|
How do you view the jxl file you get?
|
|
|
DZgas Ж
|
2022-11-12 02:41:34
|
firefox and PaintDotNet is same
|
|
2022-11-12 02:41:39
|
|
|
|
_wb_
Also, to decode the jxl you need something like this: `djxl compressed.jxl decompressed.png --bits_per_sample 16 --color_space RGB_D65_SRG_Per_SRG`
|
|
2022-11-12 02:43:57
|
This gives the correct result.
But now I have a question - why should I do this?
|
|
2022-11-12 02:44:48
|
the decoder cannot decode correctly by default, it's the problem
|
|
2022-11-12 02:54:26
|
returning to the topic of libjxl-tiny, there are artifacts like libjxl e5+
so some function also deteriorate images..
I wanted to do testing to find out how TINY would be worse than libjxl e 3. But now I won't do this because I'm not comparing photos, but this pictures, and at the very beginning already lost... I do not know which specific function is responsible for such artifacts... I just seemed to me that libjxl-tiny technology would be somewhere between libjxl e1-e3. in the beginning, I was wary when I saw 8x16 variable blocks in the description. But now it's clear to me that libjxl-tiny is all technology but little bit.
|
|
|
_wb_
|
|
DZgas Ж
This gives the correct result.
But now I have a question - why should I do this?
|
|
2022-11-12 03:00:49
|
It would be better if djxl would do that by default, I agree. The issue is not in the decode, it is in the png writing...
|
|
|
spider-mario
|
|
_wb_
|
2022-11-13 09:54:53
|
Lol what
|
|
|
improver
|
2022-11-13 09:58:27
|
ol good velocidensity meme
|
|
|
|
veluca
|
2022-11-13 10:09:44
|
I can't imagine it's anything but a troll
|
|
|
lonjil
|
2022-11-13 10:13:25
|
Everyone on 4chan is a troll
|
|
|
improver
|
2022-11-13 10:20:53
|
it kinda works though because encoders used to be worse back then and people were younger & less picky
|
|
2022-11-13 10:21:37
|
it's like you'd often remember stuff sounding better than it actually will nowadays
|
|
|
Traneptora
|
2022-11-13 10:25:49
|
it's a common meme yea
|
|
|
190n
|
|
spider-mario
|
|
2022-11-13 11:43:30
|
this image gains 0.05 butteraugli every time it's reposted
|
|
|
Traneptora
|
|
190n
this image gains 0.05 butteraugli every time it's reposted
|
|
2022-11-14 12:44:49
|
but what about my convergent jxl generation loss
|
|
|
diskorduser
|
|
Traneptora
but what about my convergent jxl generation loss
|
|
2022-11-16 06:34:32
|
what is mm?
|
|
|
yurume
|
2022-11-16 08:53:44
|
I believe "mm" is for "minus-minus", for `--`
|
|
|
Traneptora
|
2022-11-16 09:40:43
|
^ it's this, yes
|
|
2022-11-16 09:41:29
|
once it finds `--` it stops parsing arguments and treats everything after that as a filename
|
|
|
yurume
|
2022-11-16 09:44:13
|
now, `-` is officially a "hyphen-minus" (the official Unicode name), and also colloquially called a dash 😉
|
|
|
Traneptora
|
2022-11-16 02:22:29
|
nah, a hyphen and a dash are different
|
|
|
_wb_
|
2022-11-16 02:59:54
|
there are many dash-like things: en-dash –, em-dash —, minus sign −, figure dash ‒, and the hyphen-minus from ASCII/Unicode -, to name a few
|
|
|
Traneptora
|
2022-11-16 03:22:13
|
but I always pronounce `--help` and the like as "minus minus help"
|
|
2022-11-16 03:22:16
|
when reading it out loud
|
|
2022-11-16 03:22:23
|
and that's why I called it `foundMM`
|
|
|
_wb_
|
2022-11-16 03:29:20
|
I'd say dash dash help 🙂
|
|
|
novomesk
|
2022-11-16 04:12:21
|
...---... call for help.
|
|
|
Traneptora
|
|
BlueSwordM
|
2022-11-17 01:39:44
|
What the actual fuck? <:KekDog:805390049033191445>
Bro, I got native AVIF support out of the box with KDE <:kekw:808717074305122316>
|
|
|
Traneptora
|
2022-11-17 06:15:46
|
sounds like a classic consumer of proprietary software
|
|
2022-11-17 06:15:49
|
"It doesn't work. Fix it."
|
|
|
diskorduser
|
2022-11-19 05:08:22
|
These 3 plugins does not have enough information or guide to install them on mac/windows. proper documentation of installation or an installer is needed. it should be easier for an average computer user to install these plugins. they don't know about compiling software from GitHub.
|
|
2022-11-19 05:29:57
|
for average user, github is not a familiar website. mostly they don;t need source code. it would be better if there is page for installing these plugins.
|
|
2022-11-19 05:37:42
|
Would it be easier if there is an installer.exe and uninstaller for this purpose? many people don't touch windows terminal.
|
|
2022-11-19 05:56:43
|
Does it cost some money for signing?
|
|
2022-11-19 06:07:39
|
still it is better to have some installer even if it is unsigned and it triggers the antivirus.
|
|
2022-11-19 06:13:10
|
https://wixtoolset.org/ may be this will work.
|
|
|
sklwmp
|
2022-11-21 12:27:20
|
this is probably one of the funnier twitter interactions i have seen in the mess it's in right now
|
|
|
monad
|
2022-11-21 05:34:09
|
*sneaking jxl into a tweet quote for more visibility by also mentioning avif*
|
|
|
Jim
|
2022-11-21 12:11:40
|
Not able to find anything like that, just Intel vs AMD... and all those statistics are from either self-done benchmarks or Steam -- so those stats are likely focused on the high-end & gamer markets. Typical Joe isn't going to be running benchmarks and may not be using Steam.
|
|
2022-11-21 12:14:47
|
Granted, AVX2 goes back to 2013 processors. I would say stick with that. Usage of processors with just AVX are likely a fairly small %.
|
|
|
The_Decryptor
|
2022-11-21 12:21:49
|
I think it'd make sense to follow the x86 microarchitecture levels, https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level
|
|
2022-11-21 12:22:07
|
That groups AVX/AVX2 together into the same tier
|
|
|
improver
|
2022-11-21 12:29:41
|
i have a laptop which can do AVX but not AVX2
|
|
|
w
|
2022-11-21 12:30:36
|
avx2 is haswell and later, sandy bridge and ivy bridge were very popular
|
|
|
Jim
|
|
The_Decryptor
I think it'd make sense to follow the x86 microarchitecture levels, https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level
|
|
2022-11-21 12:31:08
|
Except they haven't actually built it yet. Looks like they are putting everything on v2 which doesn't appear to even have AVX support yet.
|
|
|
The_Decryptor
|
2022-11-21 12:32:04
|
That was just a page I found talking about them, GCC/Clang have supported them for a couple of years
|
|
|
diskorduser
|
2022-11-23 01:52:37
|
jxl larger than png and webp
|
|
|
_wb_
|
2022-11-23 01:58:01
|
What about -e 9?
|
|
|
diskorduser
|
2022-11-23 02:02:08
|
31.4k. still I think it should compress it better than webp by default settings.
|
|
|
_wb_
|
2022-11-23 02:34:44
|
it's mostly that we need to improve lossless encoder heuristics for such cases
|
|
|
diskorduser
|
2022-11-23 03:45:23
|
on compiling fjxl, I get the error during building. what is this? `❯ ./build.sh
/usr/bin/ld: cannot find -lomp: No such file or directory
clang-15.0: error: linker command failed with exit code 1 (use -v to see invocation)
`
|
|
|
|
afed
|
2022-11-23 03:50:13
|
perhaps openmp is missing
|
|
|
_wb_
|
2022-11-23 03:59:43
|
`sudo apt install libomp-dev` or something like that should do the trick
|
|
|
diskorduser
|
|
afed
perhaps openmp is missing
|
|
2022-11-23 04:00:28
|
do you know which package provides it? I'm using opensuse. https://pastebin.pl/view/raw/37bfa6ad
|
|
|
_wb_
|
2022-11-23 04:01:39
|
on my debian, I see these:
```
libomp-dev - LLVM OpenMP runtime - dev package
libomp5 - LLVM OpenMP runtime
libomp-13-dev - LLVM OpenMP runtime - dev package
libomp-13-doc - LLVM OpenMP runtime - Documentation
libomp5-13 - LLVM OpenMP runtime
libomp-14-dev - LLVM OpenMP runtime - dev package
libomp-14-doc - LLVM OpenMP runtime - Documentation
libomp5-14 - LLVM OpenMP runtime
libomp-15-dev - LLVM OpenMP runtime - dev package
libomp-15-doc - LLVM OpenMP runtime - Documentation
libomp5-15 - LLVM OpenMP runtime
```
|
|
|
diskorduser
|
2022-11-23 04:04:45
|
I see these packages. not sure which one to install.
|
|
2022-11-23 04:04:56
|
`S | Name | Summary | Type
--+----------------+---------------------+--------
| libomp11-devel | MPI plugin for LLVM | package
| libomp12-devel | MPI plugin for LLVM | package
| libomp13-devel | MPI plugin for LLVM | package
| libomp14-devel | MPI plugin for LLVM | package
| libomp15-devel | MPI plugin for LLVM | package`
|
|
|
_wb_
|
2022-11-23 04:06:17
|
probably the same one as the clang/llvm version you're using?
|
|
|
diskorduser
|
2022-11-23 04:07:15
|
It compiled successfully!!
|
|
|
BlueSwordM
|
2022-11-24 04:37:57
|
>`WebP is a relatively new image format` <:KekDog:805390049033191445>
|
|
|
Jyrki Alakuijala
|
|
diskorduser
31.4k. still I think it should compress it better than webp by default settings.
|
|
2022-11-24 01:20:48
|
webp lossless is good, too 🙂
|
|
|
Traneptora
|
2022-11-24 02:27:17
|
webp lossless iirc is something you et al invented from scratch, right?
|
|
2022-11-24 02:27:32
|
like it's basically an unrelated codec to webp lossy
|
|
|
_wb_
|
2022-11-24 02:49:24
|
Yeah, it's completely unrelated
|
|
2022-11-24 02:55:07
|
It has some nice ideas, some of which were brought to jxl, some we couldn't really bring to jxl...
|
|
2022-11-24 03:00:19
|
Lossless webp is by design a bit closer to png than jxl: it also does things interleaved, sample values are bytes, and entropy coding is lz77-style. By contrast, jxl does things planar, sample values have arbitrary range (doesn't need to be mapped to bytes), and entropy coding is more statistical/ctx modeling (though there's also an lz77 option)
|
|
2022-11-24 03:04:05
|
Interleaved and hardcoded for 8-bit rgba is good for speed and allows some interesting coding tools like the color cache, which is harder to do if you don't hardcode for a specific bitdepth and channel count
|
|
|
Gota7
|
2022-11-24 08:03:14
|
hello, I'm a game developer and want to add JXL support to my game since I saw the insane amounts of compression capable
|
|
2022-11-24 08:03:31
|
the game is a 3d platformer made in C++
|
|
2022-11-24 08:04:18
|
the problem is including the entire libjxl seems very bloated, are there "miniature" decoder implementations like `stb_image`, `dr_wav`, etc.?
|
|
2022-11-24 08:04:46
|
or is including the library not too expensive size-wise?
|
|
|
yurume
|
2022-11-24 08:10:25
|
as a past gamedev, I would suggest not to do that 😉
|
|
2022-11-24 08:11:10
|
as a game developer you have *way* more freedom than jxl, and you can always use that as an advantage
|
|
2022-11-24 08:12:41
|
for example it is very likely that you can use texture compression algorithms like PVRTC which can be decompressed directly from GPU
|
|
|
Gota7
the problem is including the entire libjxl seems very bloated, are there "miniature" decoder implementations like `stb_image`, `dr_wav`, etc.?
|
|
2022-11-24 08:13:49
|
there *exists* a smaller implementation, I have written one (https://github.com/lifthrasiir/j40) but that sounds like a solution seeking matching problems
|
|
|
Gota7
|
2022-11-24 08:21:48
|
I want the formats used to be cross platform though
|
|
|
_wb_
|
2022-11-24 08:21:50
|
libjxl_dec is also a lot smaller than the full libjxl
|
|
|
Gota7
|
2022-11-24 08:22:24
|
I can try using that, I have tried j40 but even though I define the needed macros I get linker errors <@268284145820631040>
|
|
2022-11-24 08:22:33
|
Let me send a pic
|
|
2022-11-24 08:23:25
|
|
|
2022-11-24 08:23:34
|
I can try `libjxl_dec` when I get a chance
|
|
|
yurume
|
2022-11-24 08:25:59
|
huh that's strange. do you have multiple `#include <j40.h>` lines across your code?
|
|
|
Gota7
|
2022-11-24 08:26:18
|
I have one in a header
|
|
|
yurume
|
2022-11-24 08:26:28
|
but without `J40_IMPLEMENTATION`, right?
|
|
|
Gota7
|
2022-11-24 08:26:32
|
Yep
|
|
2022-11-24 08:27:02
|
|
|
|
yurume
|
2022-11-24 08:27:11
|
can you try `::j40_from_file` etc?
|
|
|
Gota7
|
2022-11-24 08:28:03
|
didn't work unfortunately, still linker errors
|
|
2022-11-24 08:28:11
|
I'm using DEVKITARM for the 3ds
|
|
|
yurume
|
2022-11-24 08:30:37
|
(by the way you can get `CHAR_BIT` from `#include <limits.h>`)
|
|
|
Gota7
|
2022-11-24 08:30:44
|
Ohhh ok
|
|
|
yurume
|
2022-11-24 08:31:30
|
thinking about that, I realized I never actually have built J40 in C++ (though it does have `extern "C" { ... }`), let me check that first
|
|
2022-11-24 08:42:27
|
I have *other* issues to sort out (recent enough compilers will require `-fpermissive`, due to the differences between C and C++), but J40 seems to compile fine with g++
|
|
|
Gota7
|
2022-11-24 09:04:53
|
I have fpermissive enabled by chance
|
|
2022-11-24 09:05:21
|
Extern c think makes sense though
|
|
|
yurume
|
2022-11-24 09:06:15
|
I worried about the possibility that function declarations in `extern "C"` might be interpreted as something else in C++, but that's not the case
|
|
2022-11-24 09:07:02
|
so your error indicates that, for some reason, compiler thought that:
```cpp
extern "C" {
j40_err j40_output_format(j40_image *image, int32_t channel, int32_t format);
j40_err j40_output_format(j40_image *image, int32_t channel, int32_t format) { ... }
}
```doesn't mean what I wanted to mean
|
|
|
Gota7
|
2022-11-24 09:08:03
|
I can't try anything now, but I will experiment later
|
|
|
yurume
|
2022-11-24 09:09:19
|
I will try to actually install devkitPro
|
|
2022-11-24 09:31:08
|
I've replicated every environment and still can't get the exactly same error as you've seen...
|
|
|
Gota7
|
2022-11-24 10:46:37
|
Ah dang
|
|
2022-11-24 10:46:57
|
Appreciate your help though
|
|
2022-11-24 11:12:16
|
|
|
2022-11-24 11:12:34
|
so I narrowed it down to the macro not seeming to be defined, despite me doing so
|
|
2022-11-24 11:12:57
|
as this still compiles, even though it shouldn't
|
|
|
yurume
|
2022-11-24 11:21:10
|
ah wait
|
|
|
Gota7
|
2022-11-24 11:21:17
|
so it turns out I was dumb
|
|
2022-11-24 11:21:18
|
|
|
|
yurume
|
2022-11-24 11:21:30
|
now it dawned to me that I think you've found a very important caveat in J40
|
|
|
Gota7
|
2022-11-24 11:21:31
|
I needed to define the header with implementation before including the header that included the header
|
|
|
yurume
|
2022-11-24 11:21:39
|
yes, exactly
|
|
2022-11-24 11:22:23
|
so... if there are two `#include <j40.h>` lines and `J40_IMPLEMENTATION` was in between the second include will be ignored and you won't get any implementation
|
|
2022-11-24 11:23:07
|
it seems it's very easy to overlook, neither I nor you were able to figure that at the first glance, J40 ideally should guard against such errors
|
|
|
Gota7
|
2022-11-24 11:24:29
|
yeah, I haven't encountered it with the stb or dr libs, so looking how they do it would be helpful
|
|
2022-11-24 11:24:50
|
though are there more compilation flags other than `-fpermissive` needed as I did have some build errors
|
|
2022-11-24 11:24:58
|
|
|
|
yurume
|
|
Gota7
yeah, I haven't encountered it with the stb or dr libs, so looking how they do it would be helpful
|
|
2022-11-24 11:26:20
|
probably because J40 relies a lot on self-inclusion (sth like `#include __FILE__`)?
|
|
|
Gota7
|
|
2022-11-24 11:26:52
|
yeah, that's what I've seen
|
|
2022-11-24 11:29:53
|
there are several main issues: implicit pointer casting (C++ doesn't like it; `-fpermissive` should downgrade errors to warnings), `[[nodiscard]]` incorrectly applied (you can `#define J40_NODISCARD` to disable J40's default behavior), `j40__floor_lg64` missing (huh, so there is no `__builtin_clzll` in this platform?), `posix_memalign` missing (oops), and finally enums declared in structs have independent scopes in C++
|
|
|
Gota7
|
2022-11-24 11:31:05
|
I mean this is probably the biggest edge case of using the header
|
|
2022-11-24 11:31:22
|
idk who else would have the idea of using this library for the 3ds of all things
|
|
|
yurume
|
2022-11-24 11:32:08
|
is it even barely practical? 🤔
|
|
2022-11-24 11:33:03
|
J40 (and more generally JPEG XL) requires quite a lot of dynamic allocations and I'm very sure that you will have that problem even after you manage to compile J40 or libjxl-tiny
|
|
|
Gota7
|
2022-11-24 11:33:56
|
idk how well the 3ds performs in that, but I do know stb_image and audio streaming through those single headers work well :p
|
|
|
yurume
|
2022-11-24 11:34:18
|
but besides from that practical concern, I designed J40 as a portable library and it's a shame that there are still lots of compat issues 🤣
|
|
|
Gota7
|
2022-11-24 11:34:25
|
(though you legit have to add multi-threading just to handle audio *and* gameplay)
|
|
2022-11-24 11:35:00
|
I mean you don't know until you test
|
|
2022-11-24 11:35:26
|
I still have a ton of errors with my game's cross compilation system that I have yet to fix
|
|
2022-11-24 11:37:33
|
designing single header portable libs sounds really hard though with how dense they are, they are super useful though
|
|
2022-11-24 11:39:09
|
<@794205442175402004> where is this libjxl_dec, I see the full version here: https://github.com/libjxl/libjxl
|
|
2022-11-25 02:35:35
|
ye
|
|
|
novomesk
|
2022-11-25 01:02:28
|
BitDefender thinks that cjxl.exe is Gen:Variant.Tedy.210850
|
|
|
improver
|
2022-11-25 01:08:29
|
Tedy :--DDD
|
|
|
novomesk
|
2022-11-25 01:29:43
|
But there is not enough interest from the rest of the security ecosystem to declare it malicious.
|
|
|
Fedora
|
2022-11-25 06:22:54
|
signed by ev code signing certificate - https://antiscan.me/images/result/0cslKrLokF2w.png
original unsigned - https://antiscan.me/images/result/htjyIY0KyB57.png
|
|
2022-11-25 06:25:08
|
just give microsoft 300 bucks a year and found a company to whitelist your software from several AVs <:lul:946531054485930015>
|
|
2022-11-25 06:25:12
|
10/10 works
|
|
|
Kagamiin~ Saphri
|
|
Fedora
signed by ev code signing certificate - https://antiscan.me/images/result/0cslKrLokF2w.png
original unsigned - https://antiscan.me/images/result/htjyIY0KyB57.png
|
|
2022-11-27 04:21:10
|
lmao imagine using antivirus software /hj
|
|
2022-11-27 04:22:07
|
sucks for corporate workstations where antivirus software is mandated by company policy... and it's usually crap such as McAfee or TrendMicro
|
|
2022-11-27 04:23:27
|
at work we're forced to use McAfee even on GNU/Linux... and because of this we're forced to use Ubuntu because the policies are only set up to work correctly on Ubuntu and putting it in any other distro makes it wreak havoc
|
|
|
diskorduser
|
2022-11-27 04:30:01
|
What kind of policies
|
|
|
Eugene Vert
|
2022-11-27 05:23:21
|
Wow telegram desktop from flathub supports JXL view and upload
|
|
|
|
afed
|
2022-11-27 05:27:04
|
would be nice to add this for all platforms, then basically more than 700 million users would get jxl support
https://github.com/telegramdesktop/tdesktop/issues/5522#issuecomment-1295915969
|
|
|
novomesk
|
2022-11-27 05:47:01
|
It will get JXL support on Windows too but people are demanding HEIC.
Unfortunately HEIF implementation has vulnerabilities. It is not such big problem for an image viewer where you open only your images. But it is a risk to receive unknown files from other sources.
|
|
|
_wb_
|
|
novomesk
|
2022-11-27 07:09:41
|
Because tdesktop app would crash upon receiving specific files.
|
|
|
_wb_
|
2022-11-27 07:13:54
|
Oh, that's not good. Why does it crash? Is the decoder just buggy?
|
|
|
novomesk
|
|
_wb_
Oh, that's not good. Why does it crash? Is the decoder just buggy?
|
|
2022-11-27 07:18:57
|
Those are issues in libde265 (used via libheif). Time to time they get fixed, author has lot of work on other projects. Meanwhile new incidents are being discovered.
|
|
|
_wb_
|
2022-11-27 07:22:12
|
I see. I didn't know that libde265 had some security issues. I guess x265 could be used too, is that in a better shape security-wise?
|
|
|
spider-mario
|
2022-11-27 07:25:19
|
doesn’t that do encoding only?
|
|
2022-11-27 07:26:57
|
at least that’s what we wrote in https://research.google/pubs/pub50095/
|
|
2022-11-27 07:27:15
|
> Note that x265 is only an encoder. We used the decoder in FFmpeg at revision 2d58fa (February 5th, 2020), which is not parallelized, even when the input would allow it.
|
|
|
_wb_
|
2022-11-27 08:06:38
|
Ah, no idea
|
|
2022-11-27 08:07:09
|
What decoder does ffmpeg use then?
|
|
|
spider-mario
|
2022-11-27 09:23:31
|
its own, from what I recall
|
|
2022-11-27 09:24:58
|
https://github.com/FFmpeg/FFmpeg/blob/2324b917fce0eb0175ed3c135a51213e1bf7bc18/libavcodec/hevcdec.c
|
|
|
_wb_
|
|
|
embed
|
2022-11-27 10:00:59
|
https://embed.moe/auto.gif?q=https%3A%2F%2Fcdn.discordapp.com%2Fattachments%2F794206087879852106%2F1046546161173008486%2Ftest.jxl
|
|
2022-11-27 10:01:42
|
https://embed.moe/auto.gif?q=https%3A%2F%2Fcdn.discordapp.com%2Fattachments%2F794206087879852106%2F1046546161173008486%2Ftest.jxl
|
|
|
_wb_
|
2022-11-27 10:01:53
|
hm, why is the embed bot failing on this?
|
|
2022-11-27 10:02:21
|
|
|
2022-11-27 10:03:14
|
that's what I get when doing cjxl -d 11 on a random grayscale 160x120 face
|
|
2022-11-27 10:04:44
|
with color, it's a bit larger
|
|
2022-11-27 10:04:54
|
|
|
2022-11-27 10:05:38
|
obviously this is very low quality. Probably still good enough to recognize a face though.
|
|
2022-11-27 10:06:10
|
What exactly is the use case you have, <@1046483207568228383> ? Where does the size limit come from?
|
|
|
BlueSwordM
|
|
spider-mario
doesn’t that do encoding only?
|
|
2022-11-27 10:30:59
|
Yes.
|
|
|
_wb_
What decoder does ffmpeg use then?
|
|
2022-11-27 10:31:10
|
ffhevc.
|
|
|
|
drowsycharizard
|
|
_wb_
What exactly is the use case you have, <@1046483207568228383> ? Where does the size limit come from?
|
|
2022-11-27 10:37:44
|
Hi! let's carry on the discussion in the forum 🙂
|
|
|
uis
|
2022-11-28 05:09:30
|
JXL supports colored splines. Does it mean JXL can losslessy encode amime-style pictures with lossy techniques for gradient and splines for outlines?
|
|
|
Traneptora
|
2022-11-28 05:57:26
|
in theory, but no encoder does that atm
|
|
|
_wb_
|
2022-11-28 06:31:50
|
One complication is that jxl splines are added to the image, i.e. they don't paint over whatever is underneath...
|
|
2022-11-28 06:36:24
|
So they can be used to draw lines on a smooth background, but not really to do outlines where the two sides of the line have a different color
|
|
2022-11-28 06:37:40
|
Except if the color of the line is black or white, then you can cheat by using extreme values that can be added to anything and still result in black or white
|
|
2022-11-28 06:38:24
|
(at least for black that works... For white maybe it doesn't really, and causes blindingly bright white instead)
|
|
|
Traneptora
|
2022-11-28 07:06:59
|
You could always do a frame for splines with a kReplace blending mode
|
|
|
Kagamiin~ Saphri
|
|
diskorduser
What kind of policies
|
|
2022-11-28 07:58:56
|
antivirus policies
|
|
2022-11-28 07:59:11
|
corporate IT shit
|
|
|
novomesk
|
2022-11-28 09:25:03
|
Some AV vendors changed their opinion.
|
|
|
Jim
|
2022-11-28 09:38:37
|
False positives happen all the time. If someone reported it I am sure they are correcting it.
|
|
|
diskorduser
|
2022-11-29 10:41:22
|
<@853026420792360980> Does using jaotc improve jxlatte performance?
|
|
|
Traneptora
|
|
diskorduser
<@853026420792360980> Does using jaotc improve jxlatte performance?
|
|
2022-11-29 01:55:25
|
never heard of jaotc. what's that?
|
|
|
diskorduser
|
2022-11-29 01:56:19
|
Precompiled machine code
|
|
|
Traneptora
|
2022-11-29 01:57:07
|
just googled it. I'd have to investigate, tbh.
|
|
|
|
afed
|
2022-11-29 03:04:21
|
so cjpeg_hdr can encode jx-jpeg/jpeg_xyb?
https://github.com/libjxl/libjxl/pull/1928
|
|
|
spider-mario
|
2022-11-29 04:10:30
|
not xyb, as the ICC profile needs to signal either PQ or HLG to indicate that the JPEG is HDR
|
|
|
Traneptora
|
|
diskorduser
Precompiled machine code
|
|
2022-11-29 04:15:47
|
update: apparently jaotc is deprecated and only exists between JDK9 and JDK11
|
|
2022-11-29 04:15:53
|
it's not worth it to try to encorporate it
|
|
|
diskorduser
|
2022-11-29 04:16:54
|
Yeah I know. I used it on Java 11. it worked
|
|
|
Traneptora
|
2022-11-29 04:17:18
|
jxlatte is built for Java 8 so it doesn't really seem worth it to me
|
|
2022-11-29 04:17:26
|
to try to integrate it
|
|
|
diskorduser
|
2022-11-29 04:30:48
|
Ok. But my Java 8 code worked on java11 too
|
|
|
spider-mario
|
2022-11-29 05:11:22
|
ow, gcj looks even more dead
|
|