Eugene Kliuchnikov
Eugene Kliuchnikov
``` Image size: 57601 X 1, d=0.000000 JXL_ENC_FRAME_SETTING_EFFORT = 8 JXL_ENC_FRAME_SETTING_DECODING_SPEED = 3 JXL_ENC_FRAME_SETTING_NOISE = -1 JXL_ENC_FRAME_SETTING_DOTS = -1 JXL_ENC_FRAME_SETTING_PATCHES = -1 JXL_ENC_FRAME_SETTING_EPF = -1 JXL_ENC_FRAME_SETTING_GABORISH = 0 JXL_ENC_FRAME_SETTING_MODULAR =...
The largest non-failing `xsize` is `16448 == 16384 + 64`.
I propose to validate `DefaultSqueezeParams` output. When decoding - reject stream even earlier if `max(count(horizontal==true),count(horizontal==false)) > 7 + group_size_shift`. Also add remarks to spec in `ModularGroup` / `ModularLfGroup` that after...
`group_dim >> shift` becomes `0`. And that breaks all the group arithmetic, e.g. all groups coincide (because dx/dy in grid becomes 0).
Here we have another problem, different from 0-dim channel. 0-dim group is worse because it is not clear how pixels are distributed (and there are pixels, because 0 is just...
To stay on the safe side, I'll currently leave decoder as-is. It still does `ValidateChannelDimensions` to catch the problem (after MetaApply, so we only pay with memory allocations, and only...
My first idea was to SIMDify. We could 1. read-diff-abs whole patch strips (4 px or 12 px) in one go, 1. then take max by lines, do single compare...
Thanks for investigation.