JPEG XL

Info

rules 57
github 35276
reddit 647

JPEG XL

tools 4225
website 1655
adoption 20712
image-compression-forum 0

General chat

welcome 3810
introduce-yourself 291
color 1414
photography 3435
other-codecs 23765
on-topic 24923
off-topic 22701

Voice Channels

General 2147

Archived

bot-spam 4380

glitch-art

Rally
2022-11-23 07:50:41
https://youtu.be/J_imFJ4Kljw?t=395
2022-11-23 07:50:45
esp this classic moment
uis
Traneptora This kids is what an XYB image looks like if interpreted as sRGB
2022-11-30 06:26:00
What if sRGB image interpreted as XYB?
novomesk
2022-12-05 10:45:01
What I sent from Windows and what I received on Android. Some heif-art
veluca
2022-12-29 11:00:51
this was supposed to be gaussian noise
2022-12-29 11:01:06
(I am doing some more explicit SIMD in -e 1)
afed
2022-12-29 11:17:46
also, has this not been tried yet? https://discord.com/channels/794206087879852103/794206170445119489/1052917315030745160
veluca
2022-12-29 11:30:30
writing a fast ANS for JXL is Pain(tm)
afed
2022-12-29 11:35:25
I mean `doing Huffman codes per-channel`
veluca
2022-12-29 11:40:09
ah, nope
190n
2023-01-01 01:38:35
my broken dithering code looks pretty cool imo
veluca
2023-01-01 10:37:03
trying to do better AVX512 fast-lossless.. (source image was supposed to be gaussian noise xD)
2023-01-01 10:50:09
one bug fixed, at least one remaining...
_wb_
2023-01-02 04:36:00
Beautiful how noise gets turned into a 🌈 rainbow 🌈 in just one group
uis
_wb_ Beautiful how noise gets turned into a 🌈 rainbow 🌈 in just one group
2023-01-02 04:03:12
More Rainbows
VcSaJen
2023-01-03 09:29:00
[Seizure Warning!] gifsicle errors are fashinating
2023-01-03 09:30:19
(okay, after I cut it, it corrupted even more. In original corruption credits didn't flash)
2023-01-03 09:32:16
Our guess was that gifsicle was trying to convert per-frame palette to global palette, but it failed halfway.
uis
VcSaJen [Seizure Warning!] gifsicle errors are fashinating
2023-01-03 12:59:45
This us magic of S5 finale
Traneptora
VcSaJen [Seizure Warning!] gifsicle errors are fashinating
2023-01-03 03:47:33
the issue is discord iirc, open it in your browser
2023-01-03 03:47:58
I've had an issue with gifsicle errors that don't happen in browser
2023-01-03 03:48:03
but do happen in discord
2023-01-03 03:50:32
ah, looks like this one also got corrupted in browser
2023-01-03 03:50:33
interesting
VcSaJen
2023-01-03 03:51:03
Nah, the issue was that gallery website was "optimizing" GIFs with gifsicle on upload, but sometimes it went wrong. I have original uncorrupted one, this one I downloaded from site.
Traneptora
2023-01-03 04:51:33
I just use gifsicle CLI
oupson
2023-02-23 10:10:29
Is it bright enough ?
spider-mario
2023-02-23 11:05:00
β€œoups” indeed
Jyrki Alakuijala
2023-02-24 01:22:39
chessboard.png error is not quite flat despite my efforts to improve
_wb_
2023-02-24 01:23:44
that's a pretty heatmap
Jyrki Alakuijala
2023-02-24 01:23:44
this is the butteraugli error image at d1, not exactly glitch image
2023-02-24 01:23:59
it is still enjoyable and originates from errors πŸ™‚
Tirr
2023-03-09 03:41:48
crosspost from jxl-oxide thread, broken progressive HF gave me these blocky artifacts
veluca
2023-03-09 03:50:49
not bad, not bad
2023-03-09 03:51:24
honestly very good looking by the standards of what happens when you get an image decoder wrong
jonnyawsom3
2023-03-09 04:54:24
Built in pixel-art generator :P
MSLP
2023-03-09 04:58:57
That could fit very nice on Minecraft screenshots πŸ€ͺ
jonnyawsom3
2023-03-09 05:08:42
I know the idea of old DOOM demos or a minecraft mod that exists now where you just store game data rather than image or video fascinated me. Obviously it doesn't work every time, but something about storing 20 minutes of full quality gameplay in a few MB if not KB makes me smile
novomesk
Tirr crosspost from jxl-oxide thread, broken progressive HF gave me these blocky artifacts
2023-03-09 07:57:16
Is it from Sumeru area? Archon quest?
Tirr
novomesk Is it from Sumeru area? Archon quest?
2023-03-10 01:50:14
screenshot is taken at Sumeru bazaar. I'm not sure exactly what quest
Traneptora
2023-03-11 03:44:27
I'm not sure XYB DCT coefficients are supposed to look like this
_wb_
2023-03-11 03:52:58
The coefficients themselves, not doing idct?
Traneptora
2023-03-11 03:53:13
oh, I'm interpreting int16_t as uint16_t
_wb_ The coefficients themselves, not doing idct?
2023-03-11 03:53:41
yea, I wanted to check my forward DCT so I dumped the 16-bit coeffs
2023-03-11 03:53:56
but then I rendered that image as though they were uint16_t without biasing them
joppuyo
Tirr crosspost from jxl-oxide thread, broken progressive HF gave me these blocky artifacts
2023-03-11 04:30:33
I once accidentally configured madvr to use nearest neighbor chroma upscaling and it made videos look exactly like this cuz of chroma subsampling
Tirr
2023-04-19 12:52:17
something is wrong with handwritten SIMD
2023-04-19 12:58:34
fixed single indexing mistake and now it's broken more nicely
veluca
Tirr something is wrong with handwritten SIMD
2023-04-19 01:05:55
oh that *never* happened to me πŸ˜›
Tirr
2023-04-19 01:12:20
now some varblocks are a little bit off
2023-04-19 01:12:29
maybe dct4x8
yoochan
2023-04-19 01:13:12
is jxl oxide your implementation ?
Tirr
2023-04-19 01:13:24
yeah
2023-04-19 01:13:54
there's a devblog thread <#1065165415598272582>
yoochan
2023-04-19 01:15:38
indeed ! but I just had a question πŸ™‚ will it be compatible with the generation of a WASM ?
Tirr
2023-04-19 01:18:26
haven't tested, but it should be
yoochan
2023-04-19 01:18:43
nice !
Tirr
Tirr now some varblocks are a little bit off
2023-04-19 02:58:56
uh, more like LF coeff problem
2023-04-19 02:59:37
maybe LF coeffs are not transposed correctly
2023-04-19 03:08:08
fixed, great
jonnyawsom3
Tirr uh, more like LF coeff problem
2023-04-19 03:43:52
Huh, is discord rounding out that image preview for anyone else?
zamfofex
2023-04-19 03:45:19
Hasn’t it always done that? Under some limited value of β€œalways”.
jonnyawsom3
2023-04-19 03:57:31
For me it's completely circular though, almost like it's being rendered as a profile picture
username
2023-04-19 03:58:08
oh yeah that's a thing discord does now
2023-04-19 03:58:17
forgot when they started doing it
2023-04-19 03:58:57
I didn't see it because I have discord setup for everything to be square on my end
jonnyawsom3
2023-04-19 03:59:06
I know they started rounding corners with the 'gallery view' update, but a literal circle seems a bit extreme
Traneptora
2023-04-27 08:49:10
oops
MSLP
2023-04-27 09:05:44
what happened with this one?
Traneptora
2023-04-27 09:14:58
don't know yet <:kek:857018203640561677>
2023-04-27 09:51:30
ah, figured it out, it was an issue with CfL
spider-mario
2023-07-27 04:06:28
2023-07-27 04:06:43
first steps trying to read video frames using the FFmpeg API
2023-07-27 04:08:06
<@853026420792360980> I’ve copied data out of an AVFrame into a `uint8_t` buffer using `av_image_copy_to_buffer` but it’s not clear to me how it is laid out in the resulting buffer (as is probably obvious from the above image), am I missing something obvious?
2023-07-27 04:08:45
the format should be AV_PIX_FMT_RGB48
Traneptora
spider-mario the format should be AV_PIX_FMT_RGB48
2023-07-27 04:14:34
how'd you get this?
2023-07-27 04:16:04
as far as I'm aware, av_image_copy_to_buffer always copies it as planar data
2023-07-27 04:16:14
regardless of whether the original image was packed or planar
2023-07-27 04:17:31
if you take that buffer and just dump it as a PNG you're going to be interpreting planar data as rgb48be, which is not what you want
spider-mario
2023-07-27 04:27:48
also how did you obtain this PNG?
spider-mario
2023-07-27 04:49:30
it’s my attempt at reading it in a planar way
Traneptora how'd you get this?
2023-07-27 04:50:00
the AVFrame is the result of converting another AVFrame from yuv to rgb48 using swscale
Traneptora
2023-07-27 04:54:09
if the resulting avframe is AV_PIX_FMT_RGB48 then it's already in packed 16-bit little-endian r-g-b order
2023-07-27 04:54:32
if you want planar pixel data then you should use AV_PIX_FMT_GBRP16LE
2023-07-27 04:54:49
I'm assuming your native endian is little-endian
spider-mario
2023-07-27 04:55:05
I see, thanks
2023-07-27 04:55:09
(packed = interleaved, right?)
Traneptora
2023-07-27 04:55:21
yes, packed is what PNG uses
2023-07-27 04:55:27
and what libjxl takes/receives
2023-07-27 05:03:26
do note that buf[0] is the green channel, buf[1] is blue, and buf[2] is red
2023-07-27 05:03:32
i.e. GBRP is G-B-R-planar
2023-07-27 05:03:40
it's in that order
spider-mario
2023-07-27 05:38:54
but RGB48 isn't, is it?
Traneptora
spider-mario but RGB48 isn't, is it?
2023-07-27 07:54:26
rgb48 is R, G, B in that order
spider-mario
2023-07-27 07:54:39
nice, thanks
Traneptora
2023-07-27 07:55:24
RGB48 is either RGB48LE or RGB48BE depending on your system native endian
spider-mario
2023-07-27 08:19:11
yeah, I found out and decided to set it to LE
2023-07-27 08:19:14
thank you for your help
Tirr
2023-08-26 06:21:59
2023-08-26 06:56:40
got another one, I guess it's from buggy CfL
2023-08-26 06:57:04
ah no it's not CfL as it's chroma subsampled
Traneptora
Tirr
2023-08-27 11:47:29
this looks like HF coefficients are misplaced
2023-08-27 11:47:51
or LF ones
2023-08-27 11:48:00
one or the other is not in the right place (idk which one cause I dunno the original)
Tirr
2023-08-27 12:10:41
yep, that one is from misplaced LF/HF
2023-08-27 12:11:22
both of them were incorrect πŸ˜›
Traneptora
2023-08-27 12:16:46
at least I'm getting good at figuring these out <:kek:857018203640561677>
jonnyawsom3
Tirr got another one, I guess it's from buggy CfL
2023-08-27 12:28:15
Kinda like the little color balls at the bottom (technically spot color I guess)
Tirr
2023-08-27 12:32:28
Those are from some kind of misplaced chroma coefficients
Traneptora
2023-09-08 08:27:49
2023-09-08 08:28:04
this is the error for the bike testcase
2023-09-08 08:28:26
it's very small, which suggests to me something weird is going on
2023-09-08 08:28:31
like a typo or something subtle
2023-09-08 08:28:53
it's definitely varblock-dependent
spider-mario
2023-09-18 11:33:12
can’t seem to get FFmpeg to convert a GBR Y4M to a YUV h.264 MKV
2023-09-18 11:33:35
encoding as-is to GBR h.264 MKV works (but is not ideal)
Moritz Firsching
2023-09-18 11:49:20
oh no, the green martians from progressive jpegs are back...
yoochan
2023-09-18 02:21:24
JPEG WOKE the new format even more inclusive
fab
spider-mario can’t seem to get FFmpeg to convert a GBR Y4M to a YUV h.264 MKV
2023-09-18 06:38:40
This is Just a photo of JPEG XL developments a reeally old photo
2023-09-18 06:38:57
6 months ago I saw it shared
spider-mario
2023-09-18 06:40:38
that would be very surprising, because 6 months ago, the tool I am working on that produced this did not exist
Nova Aurora
2023-09-18 06:42:44
<:kekw:808717074305122316> classic fab
Fox Wizard
2023-09-18 07:09:52
Smh, imagine not knowing Fab is a time traveler
Traneptora
spider-mario can’t seem to get FFmpeg to convert a GBR Y4M to a YUV h.264 MKV
2023-09-20 01:48:13
what did you try?
2023-09-20 01:48:43
and does Y4M even support GBR?
2023-09-20 01:51:02
what happens with: ``` ffmpeg -i input.y4m -vf libplacebo=colorspace=bt709:format=yuv420p -c:v libx264 output.mkv ```
spider-mario
Traneptora and does Y4M even support GBR?
2023-09-20 11:42:59
Y4M has no way to signal the YCbCr matrix, whoever reads it needs to know what it is anyway
2023-09-20 11:43:37
to that effect, this works (input is full-range GBR, Rec. 2020 primaries, sRGB TRC): ```bash ffmpeg -colorspace 0 -color_primaries bt2020 -color_trc 13 -color_range pc -i test.y4m -c:v libx264 -crf 14 -preset veryfast test.mkv ``` the output file has those same characteristics and reads properly in MPV
2023-09-20 11:44:36
but inserting a `-vf colorspace=ispace=gbr:iprimaries=bt2020:itrc=13:irange=pc:space=bt2020nc:primaries=bt2020:trc=13:range=pc` doesn’t seem to work, it tags the output as YCbCr (Rec. 2020 matrix), but the conversion doesn’t seem to happen properly given how it looks
2023-09-20 11:44:54
likewise when using `colormatrix`
2023-09-20 11:45:01
`libplacebo` might work better, I’ll have to try that
Traneptora
2023-09-20 11:49:32
you might need to reinterpret cast it by piping to rawvideo
spider-mario
2023-09-20 11:57:43
oh
Traneptora
2023-09-20 11:58:13
GBR (identity) matrix isn't really supposed to be used with yuv444p
spider-mario
2023-09-20 11:58:21
ah.
Traneptora
2023-09-20 11:58:45
better off with gbrp
2023-09-20 11:59:02
I wonder what happens if you try to do `ffmpeg -c gbrp -i input.y4m`
spider-mario
2023-09-20 12:01:04
``` Unknown decoder 'gbrp' ```
Traneptora
2023-09-20 12:01:15
er wait
2023-09-20 12:01:22
`ffmpeg -pixel_format gbrp -i input.y4m`
spider-mario
2023-09-20 12:02:15
it seems codec y4m doesn’t have that option
2023-09-20 12:02:17
``` Option pixel_format not found. ```
Traneptora
2023-09-20 12:02:28
I wonder if you use `pix_fmt` instead
spider-mario
2023-09-20 12:02:42
I tried that too, same result (even still mentions `pixel_format`)
Traneptora
2023-09-20 12:02:50
ah they aliased it
2023-09-20 12:03:25
probably gonna have to do `ffmpeg -i input.y4m -f rawvideo - | ffmpeg -f rawvideo -pixel_format gbrp -video_size 1920x1080 -framerate 30 -i -`
spider-mario
2023-09-20 12:04:16
or maybe I should just modify my tool to output YCbCr in the Y4M
Traneptora
2023-09-20 12:04:55
non-YUV inside y4m isn't really supposed to be supported
spider-mario
2023-09-20 12:05:48
so is that why the `colorspace` and `colormatrix` filters seemingly won’t convert it?
Traneptora
2023-09-20 12:06:46
I'm not entirely sure. they might have special code paths for RGB video
2023-09-20 12:06:58
rather than multiplying by the identity
2023-09-20 12:07:11
and thus could be getting confused somewhere
2023-09-20 12:08:39
libautil/csp.c doesn't contain a matrix for GBR, for context <@604964375924834314>
2023-09-20 12:08:58
```c static const struct AVLumaCoefficients luma_coefficients[AVCOL_SPC_NB] = { [AVCOL_SPC_FCC] = { AVR(0.30), AVR(0.59), AVR(0.11) }, [AVCOL_SPC_BT470BG] = { AVR(0.299), AVR(0.587), AVR(0.114) }, [AVCOL_SPC_SMPTE170M] = { AVR(0.299), AVR(0.587), AVR(0.114) }, [AVCOL_SPC_BT709] = { AVR(0.2126), AVR(0.7152), AVR(0.0722) }, [AVCOL_SPC_SMPTE240M] = { AVR(0.212), AVR(0.701), AVR(0.087) }, [AVCOL_SPC_YCOCG] = { AVR(0.25), AVR(0.5), AVR(0.25) }, [AVCOL_SPC_RGB] = { AVR(1), AVR(1), AVR(1) }, [AVCOL_SPC_BT2020_NCL] = { AVR(0.2627), AVR(0.6780), AVR(0.0593) }, [AVCOL_SPC_BT2020_CL] = { AVR(0.2627), AVR(0.6780), AVR(0.0593) }, }; ```
2023-09-20 12:09:09
er, wait, it is
2023-09-20 12:09:13
there's an RGB matrix there
2023-09-20 12:09:23
but it probably has a separate code path for that
spider-mario
2023-09-20 12:17:23
oh
2023-09-20 12:17:25
I see, thanks
Traneptora
2023-09-20 12:36:35
I see
2023-09-20 12:36:42
I think the chroma matrix is the same for every luma coefficient
2023-09-20 12:36:58
but I'm not entirely sure
spider-mario
2023-09-21 07:58:36
I think youtube is having β€œgbr as yuv” issues as well – look at the preview when seeking on: https://youtu.be/mp7n8bX8d2g
2023-09-21 07:58:53
I’m not completely sure but I might have uploaded this as RGB
monad
2023-09-22 08:18:44
Also their weird blur effect around the video is green.
spider-mario
2023-09-22 08:22:51
oh, indeed it is (β€œAmbient mode”)
2023-09-22 08:23:02
I have it disabled so I didn’t notice
Tirr
2024-01-17 01:44:18
tried optimizing entropy decoding and failed spectacularly
veluca
2024-01-17 01:46:07
been there once or twice πŸ˜›
Tirr
2024-01-17 01:46:33
lol I wasn't the only one
yoochan
2024-01-17 03:18:59
a true work of art
MSLP
Tirr tried optimizing entropy decoding and failed spectacularly
2024-01-17 03:51:35
entropy decided to take over instead of letting to be optimized
Traneptora
2024-01-20 08:15:24
well at least I got the general outline correct
2024-01-20 08:53:05
better
MSLP
2024-01-20 09:26:33
I didn't process that the first image was The Gecko until you posted the second
Tirr
2024-02-20 04:30:20
don't panic, your gpu is ok
_wb_
2024-02-20 06:41:47
Patches glitch?
yoochan
Tirr don't panic, your gpu is ok
2024-02-20 06:44:53
About gpu, it remind me a question I wanted to ask : do they support HDR? Or are opengl, vulkan and the hardware pipelines only capable of 8 bits times four channels?
Nova Aurora
yoochan About gpu, it remind me a question I wanted to ask : do they support HDR? Or are opengl, vulkan and the hardware pipelines only capable of 8 bits times four channels?
2024-02-20 07:25:03
The programable piplines are HDR compatible AFAIK
Quackdoc
2024-02-20 08:08:01
well "HDR" is just a transfer function pretty much so anything that can signal either PQ or HLG would be considered lol
yoochan
Quackdoc well "HDR" is just a transfer function pretty much so anything that can signal either PQ or HLG would be considered lol
2024-02-20 08:42:22
sure, but could it handle 10 or 12 bits per channel ?
Quackdoc
2024-02-20 08:43:38
tbf im not even sure what the original question is referencing.
yoochan
2024-02-20 08:44:45
I was wondering if graphics cards and fragment shaders could handle higher bit depth or higher gamut range as of today
spider-mario
2024-02-20 08:47:59
yes, 10 bits is not an issue
2024-02-20 08:48:46
2024-02-20 08:49:47
(bottom right is full range vs. limited range; bottom left is RGB vs. YCbCr 4:2:2 vs. YCbCr 4:4:4)
Quackdoc
2024-02-20 08:51:09
graphics cards can render full float and even double float with, and most gpus support 10bpc and even 12bpc output
yoochan
2024-02-20 08:51:09
ok. Indeed I found some sources speaking of R10G10B10A2 or Rf16Gf16Bf16Af16 and even Rf32Gf32Bf32Af32 in opengl ES 2.x πŸ˜„
Quackdoc
2024-02-20 08:52:11
im not sure if gles supports it, but vulkan supports 64 too
Tirr
_wb_ Patches glitch?
2024-02-21 01:06:41
it was inverse dct4x8 being done twice
_wb_
2024-02-21 06:01:02
Oh, lol
Tirr
2024-03-02 05:50:33
image from <https://github.com/tirr-c/jxl-oxide/issues/268>
CrushedAsian255
2024-03-02 06:51:04
Looks like one chunk got loaded wrong but everything else is correct
veluca
2024-03-02 07:16:27
oh best bugs
Tirr
2024-03-10 09:27:11
seems unsqueezed very well
2024-03-10 09:28:41
(this happened while porting unsqueeze to wasm simd128)
veluca
2024-03-13 10:27:17
ehhh
yoochan
2024-03-14 08:35:44
on glitch-art should be also posted the image it should have been πŸ˜„
veluca
2024-03-14 08:48:21
where's the fun otherwise? πŸ˜›
2024-03-14 08:48:39
but assuming I got it right this time... πŸ˜›
yoochan
2024-03-14 08:49:39
because my brain spend much time trying to guess what it should have seen, it is a relief to see the answer πŸ˜„
Traneptora
2024-03-14 10:13:18
oh it's one of the jellyfish.us samples
Tirr
2024-03-29 06:23:07
I think my LF coeffs are missing
2024-03-29 06:23:48
or wrong CfL
2024-03-29 06:24:42
... or maybe both
Traneptora
Tirr I think my LF coeffs are missing
2024-03-30 02:42:25
oh, this looks like an issue with LLF
2024-03-30 02:42:29
if I had to guess
2024-03-30 02:43:09
I had a similar thing happen, the problem was off-by-8
2024-03-30 02:43:17
well off-by-factor-of-8 but yea
2024-03-30 02:43:51
I can see a 32x32 block in the upper left corner of each Group
2024-03-30 02:43:56
which is a red flag
Tirr
2024-03-30 02:44:03
it was HF CfL applied to wrong position, but yeah roughly that
Traneptora
2024-03-30 02:44:12
makes sense
Tirr
2024-03-30 02:45:37
you can see yellowish chroma artifacts everywhere
novomesk
2024-03-31 06:14:07
Uploading of JXL photos to Facebook from iPhone results in unexpected artifacts.
fab
2024-03-31 06:47:09
2024-03-31 06:47:35
Jxl encoding is slowing down Jon computer is struggling
2024-03-31 06:58:25
The situation is Normal now
2024-03-31 06:59:06
2024-03-31 08:20:26
2024-03-31 08:20:43
Now is superb e9 q18 β™₯️β™₯️β™₯️β™₯️β™₯️
Tirr
2024-04-25 07:36:03
2024-04-25 07:39:04
gradients going wild
Traneptora
Tirr
2024-05-04 12:15:13
looks likea CFL issue
2024-05-04 12:15:28
those are exactly CFL-sized chroma screwy-bands on the lower left of the image
2024-05-04 12:15:44
with a Group looking okay in the top left
Tirr
2024-05-04 12:16:19
CfL coeffs are Modular encoded so maybe that
Traneptora
2024-05-04 12:16:32
was it a modular issue?
Tirr
2024-05-04 12:16:51
yes, buggy Gradient predictor
Traneptora
2024-05-04 12:16:56
ah, but fixed
2024-05-04 12:16:57
makes sense
2024-05-04 12:17:27
(you know you've done too much JXL when you can look at an image and say exactly what part of the decoder screwed up)
CrushedAsian255
2024-06-20 03:18:08
bot
DZgas Π–
Tirr gradients going wild
2024-06-24 08:40:43
It looks unusual, do you still have JXL source?
Tirr
DZgas Π– It looks unusual, do you still have JXL source?
2024-06-25 05:38:13
yeah, but jxl image itself is perfectly fine, it was jxl-oxide in development that was buggy
Traneptora
2024-09-03 12:06:27
2024-09-03 12:06:43
Looks like it's using the LF Coefficients from whatever group is in the upper left corner
RaveSteel
2024-09-03 08:30:38
Looks a bit like a weird Kiwi
CrushedAsian255
2024-09-03 08:31:25
but then it seems to be able to load the data on macrogroup boundaries?
Traneptora
2024-09-05 10:22:18
yea, it was an issue with positioning. did fix it
CrushedAsian255 but then it seems to be able to load the data on macrogroup boundaries?
2024-09-05 10:22:51
yea, basically each group was using the the LF coefficients from the upper left corner of the LFGroup
CrushedAsian255
2024-09-05 10:23:08
Makes sense
2024-09-17 08:44:43
2024-09-17 08:44:50
mixed up predictors 10 and 11 in WebP lossless
TheBigBadBoy - π™Έπš›
2024-09-17 11:38:20
funny that we can still see some faces
CrushedAsian255
2024-09-17 01:15:34
_wb_
2024-09-17 01:46:46
these are really nice
2024-09-17 01:47:29
we should also make a "glitch mode" in a jxl decoder where it mixes up some predictors πŸ™‚
Tirr
2024-09-17 01:48:12
"cosmic ray mode"
AccessViolation_
2024-09-17 01:49:01
I think a corrupter that shuffles patch indices would be interesting
CrushedAsian255
2024-09-17 01:49:08
It’s also fun to create earrape by screwing with predictors in FLAC
2024-09-17 01:49:22
Force it to use the fixed predictors then screw with the weights of them
Oleksii Matiash
2024-09-17 01:49:49
IrfanView likes to show webp with transparency in this way. Not sure why. In reality they are correct, not broken
CrushedAsian255
2024-09-17 01:50:11
Looks like it’s ignoring the alpha
2024-09-17 01:50:22
And that glitchy looking stuff is what’s β€œbehind” the alpha mask
2024-09-17 01:53:37
I’m using these other formats as sort of β€œwarm up” for writing a JXL decoder, I can imagine I’ll be posting a lot in this channel when I properly start
2024-09-17 01:54:54
Just learned about canonical Huffman codes, very interesting ideas
jonnyawsom3
Oleksii Matiash IrfanView likes to show webp with transparency in this way. Not sure why. In reality they are correct, not broken
2024-09-17 02:03:45
Irfanview doesn't actually support Alpha, just replaces it with the background color. So when there's color under the alpha, it doesn't get replaced
Oleksii Matiash
2024-09-17 02:11:36
It explains why this glitches change if picture was losslessly recompressed
jonnyawsom3
2024-09-17 02:29:58
It's why the image details says `Original 32bpp Current 24bpp`
LMP88959
2024-09-20 12:59:16
CrushedAsian255
2024-09-20 01:01:26
what did you do
LMP88959
2024-09-20 09:38:52
incorrectly read the lower coefficients
CrushedAsian255
2024-09-20 09:39:11
are you writing a video codec decoder?
2024-09-20 09:39:27
what is the source footag?
LMP88959
2024-09-20 09:41:16
not source but encoded properly and at a higher bitrate
CrushedAsian255 are you writing a video codec decoder?
2024-09-20 09:41:39
yeah video codec
CrushedAsian255
2024-09-20 09:43:14
which one?
LMP88959
2024-09-20 09:45:16
new codec i plan to release soon
CrushedAsian255
2024-09-20 09:48:04
oh, you're making one
LMP88959
2024-09-20 09:50:12
yup
CrushedAsian255
2024-09-20 09:50:54
im probably going to make an image codec
2024-09-20 09:51:05
based on the stuff ive read about jxl and webp
LMP88959
2024-09-20 09:51:55
nice, it's a fun topic to dive into
CrushedAsian255
2024-09-20 10:27:58
what language are you using?
LMP88959
2024-09-20 10:31:16
C
CrushedAsian255
2024-09-20 10:32:12
fair
2024-09-20 10:32:20
is this foss or just personal project
LMP88959
2024-09-20 10:34:03
once i release it, it will be essentially public domain
CrushedAsian255
2024-09-20 10:34:16
unlicence?
LMP88959
2024-09-20 10:35:19
2024-09-20 10:35:31
lol
CrushedAsian255
2024-09-20 10:35:59
i release under the WTFPL
2024-09-20 10:36:13
do what the f*ck you want to public licence
LMP88959
2024-09-20 10:37:15
haha niice
veluca
2024-09-20 11:29:35
huh, I had some memories that WTFPL was considered problematic but apparently it is not or not anymore
CrushedAsian255
2024-09-20 11:41:17
it is for Google empolyees i think
2024-09-20 11:41:20
but so is Unlicence
afed
2024-09-20 11:45:09
https://canary.discord.com/channels/794206087879852103/1208362658705838090/1210602791295258674
CrushedAsian255
afed https://canary.discord.com/channels/794206087879852103/1208362658705838090/1210602791295258674
2024-09-20 11:46:17
i added one extra to mine
2024-09-20 11:46:43
i added "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS β€œAS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." to the bottom of my README
veluca
CrushedAsian255 it is for Google empolyees i think
2024-09-20 12:34:02
apparently not anymore *shrug*
juliobbv
2024-09-26 02:06:40
ε››:ε››:ε››
DZgas Π–
2024-10-03 05:39:56
<:H264_AVC:805854162079842314>
2024-10-09 12:15:17
There is a bug in the latest version of AVIDEMUX, if you play an AV1 mkv file that is in the encoding state and is not completely completed, and play it to the very end, then for some reason, when replaying, AV1 decoding will break, some data will be clogged with garbage. I have no idea why that is. But finally, for the first time, I was able to look at the true broken AV1
2024-10-09 12:19:34
These are no longer primitive DCT AVC HEVC patterns. And something is... Yes, it seems the same thing
AccessViolation_
2024-10-09 05:15:14
That first one actually looks really cool
Meow
juliobbv ε››:ε››:ε››
2024-10-10 05:03:21
Four four four
CrushedAsian255
Meow Four four four
2024-10-10 05:04:42
i usually use ε››οΌšδΊŒοΌšδΊŒ or ε››οΌšδΊŒοΌšι›Ά
Meow
2024-10-10 05:06:49
Oh that's chroma subsampling
CrushedAsian255
2024-10-10 05:10:01
ε››οΌšι›ΆοΌšι›Ά is quite uncolourful
juliobbv
Meow Four four four
2024-10-10 06:02:35
yeah, this is what happens when you force SVT-AV1 to encode 444 content without supporting it
novomesk
2024-11-03 11:56:34
Same picture, different results.
JendaLinda
2024-11-09 10:14:42
Misinterpreting pixel arrays is always fun.
Konstar
2024-11-21 02:20:37
Could you share an example? Just curious
Tirr
2024-11-23 03:21:22
different decoders will show this image differently
Konstar
2024-11-23 08:44:31
Woah, definitely broken
JendaLinda
2024-11-23 09:38:45
1) Original image - EGA 320x200, 4 bit planes 2) Interpreted as EGA 640x200, 4 bit planes 3) Interpreted as CGA 320x200 2 bpp packed 4) Interpreted as VGA 320x200 8 bpp packed 5) RLE compressed image interpreted as uncompressed.
2024-11-23 09:51:59
I'm playing with an ancient SCR image format which just dumps the raw pixel data from VGA video memory, with optional RLE compression. I'm using this work (there's also other interesting retro stuff): https://github.com/Panda381/DOS-Progs
DZgas Π–
2025-01-10 01:12:30
Meow
2025-01-10 02:12:53
Time to buy a new graphics card
AccessViolation_
2025-01-21 10:20:23
Very intentional glitch art, and not my QOI encoder being borked or anything
2025-01-21 06:32:27
I fixed the bugs but I made a note in the commit history so I can revert the library to that version if I want in the future. I bet it'd make for some interesting glitch art when encoding actual images
spider-mario
2025-02-03 08:40:53
https://www.reddit.com/r/AskPhotography/comments/1igjl8h/does_anyone_have_a_clue_to_why_this_photograph/
2025-02-03 08:41:10
(there are five images)
TheBigBadBoy - π™Έπš›
2025-02-03 09:24:09
https://www.rxddit.com/r/AskPhotography/comments/1igjl8h/does_anyone_have_a_clue_to_why_this_photograph/
2025-02-03 09:24:48
3 more here without needing to go to reddit <:KekDog:805390049033191445>
jonnyawsom3
2025-02-03 10:07:28
Interesting, mixed AC and DC components with random data on the tail
_wb_
2025-02-04 09:36:02
yeah looks like it's the DC of one image that gets truncated at some point (in the middle or towards the bottom of the image) and then goes into the AC of another image.
AccessViolation_
TheBigBadBoy - π™Έπš› https://www.rxddit.com/r/AskPhotography/comments/1igjl8h/does_anyone_have_a_clue_to_why_this_photograph/
2025-02-04 09:36:50
i was about to respond "i saw this!" but i just remembered that the only reason i saw this was because i clicked on your link yesterday <:galaxybrain:821831336372338729>
2025-02-04 09:37:20
or the one above it rather
_wb_
2025-02-04 09:39:00
maybe this can happen if it produces progressive jpegs but the encode somehow sometimes gets interrupted/truncated for some reason, making it produce a bitstream that is just some partial DC scan and the rest is a leftover of whatever was in the buffer before
2025-02-04 09:40:40
is there a way to get the actual jpeg files from that reddit post? I can only see transcoded webps
AccessViolation_
_wb_ is there a way to get the actual jpeg files from that reddit post? I can only see transcoded webps
2025-02-04 09:45:07
yes, copy the image link of the preview: hxxps://preview.redd.it/does-anyone-have-a-clue-to-why-this-photograph-looks-this-v0-**xr487fhgkvge1.jpg**?width=640&crop=smart&auto=webp&s=27db8a414b62192be05db8b608962412d9a49e3c and change the URL to this: hxxps://i.redd.it/**xr487fhgkvge1.jpg** edit: you can just replace `preview` with `i`, you don't have to remove the rest from the url
jonnyawsom3
2025-02-04 09:46:07
You sure that's the original file though?
AccessViolation_
2025-02-04 09:46:11
i'm not sure if/how that gets modified, i assume they scrub sensitive metadata at least
_wb_
2025-02-04 09:51:19
that's a 1080x1350 image, I would expect something higher res if it's a photo taken on a Samsung Galaxy S9
AccessViolation_
2025-02-04 09:56:17
given that the macroblocks are 8x8 pixels in this image it seems correct to me
_wb_
2025-02-04 09:57:48
it's not progressive either, but sequential, which makes it a bit weird that AC and DC are mixed β€” at least from the jpeg bitstream point of view. I guess it still would be plausible there's some kind of uninitialized buffer problem at the level of dct coeffs buffers (maybe it has dedicated/statically allocated memory for those that still contains data from a previously processed image).
2025-02-04 09:59:44
Samsung S9 has an 8 MPx selfie camera and a 12 MPx rear camera, is there a setting that makes it produce jpegs that small?
AccessViolation_
2025-02-04 10:01:43
[doesn't look like it](<https://gadgetguideonline.com/s9/understanding-and-use-galaxy-s9-camera-settings/#1-Picture-size-for-Galaxy-S9S9-rear-camera>)
jonnyawsom3
2025-02-04 10:05:06
Could it be a thumbnail instead?
2025-02-04 10:05:28
I know my phone has a few corrupted ones that only have a partial scan before turning grey
TheBigBadBoy - π™Έπš›
2025-02-04 10:12:23
didn't expected that output when encoding PNG with alpha into JPG using cjpegli:
2025-02-04 10:15:17
nevermind, it just seems like it is correct, it's just the guy/tool who encoded that transparent PNG that did some weird things
jonnyawsom3
2025-02-05 01:09:12
PNG optimizers will let transparent areas use whatever color the predictors choose, jpegli simply removes the alpha instead of zeroing it
_wb_
2025-02-05 10:14:31
try something like `convert orig.png -background white -flatten input-for-cjpegli.png`
juliobbv
_wb_ maybe this can happen if it produces progressive jpegs but the encode somehow sometimes gets interrupted/truncated for some reason, making it produce a bitstream that is just some partial DC scan and the rest is a leftover of whatever was in the buffer before
2025-02-07 05:36:15
hmm, maybe this pic will do the trick?
2025-02-07 05:37:39
if I throw it at the "compress and die" analyzing tool, it just bails lol
2025-02-07 05:38:08
> Corrupt JPEG data: premature end of data segment
Quackdoc
juliobbv hmm, maybe this pic will do the trick?
2025-02-07 05:55:21
looks like a metal gear solid effect lol
CrushedAsian255
2025-02-08 11:49:56
Does jpeg order with dc then ac or is it interleaved
2025-02-08 11:50:02
Not xl , just jpeg1
spider-mario
2025-02-08 01:03:41
either
2025-02-08 01:05:06
that’s the difference between sequential and progressive
CrushedAsian255
spider-mario that’s the difference between sequential and progressive
2025-02-09 01:10:54
is a scan in JPEG 1 either the DC coeffs or (potentially a subset of the) AC coeffs?
spider-mario
2025-02-09 01:32:01
DC isn’t treated specially, it’s just the first DCT coefficient
2025-02-09 01:34:41
<@386612331288723469> Jon wrote a nice article on progressive JPEG: https://cloudinary.com/blog/progressive_jpegs_and_green_martians
AccessViolation_
2025-02-09 05:53:20
...you can do lossless pixel art with "free" 8x8 upsampling in JPEG 1 by just using the DC coefficient in macro blocks
2025-02-09 05:53:40
i shouldn't be allowed to have ideas
spider-mario
2025-02-09 06:15:15
nah, the rendering in Chrome is smoother nowadays
2025-02-09 06:15:17
https://github.com/libjpeg-turbo/libjpeg-turbo/issues/459
2025-02-09 06:16:31
(you can try it for yourself by opening a progressive jpeg in https://progressive-jpeg-scans.notuom.com/ )
jonnyawsom3
spider-mario (you can try it for yourself by opening a progressive jpeg in https://progressive-jpeg-scans.notuom.com/ )
2025-02-09 07:08:58
The one thing I don't like about that demo is that it transitions between them, so you can't do flicker tests
_wb_
spider-mario nah, the rendering in Chrome is smoother nowadays
2025-02-09 08:13:13
Though probably if you add scans with all-zeroes for the AC, it will not cost much extra and that will render as a blocky image
AccessViolation_
2025-02-09 08:42:28
presumably it only blurs them during progressive decoding anyway, no? if it blurred the DC coefficients of the final image after all the other coefficients (if any) have loaded, that'd break the way the image was 'supposed' to look since it wasn't encoded with the knowledge that those coefficients would be blurred at all
2025-02-09 08:43:22
if it blurs DC-only macroblocks in the final render that seems like an issue
2025-02-09 08:56:22
i made this quality 1 JPEG a few days ago, i don't know for sure but from the looks of it many of the blocks only have a DC component and they're not blurred in Chromium, so i'm guessing it indeed only does it for progressive ones
RaveSteel
2025-02-28 04:43:06
Looks nice
AccessViolation_
2025-02-28 04:44:20
Oh to be clear I didn't make it, someone sent that image with clear macroblocking and i wanted to compress it more out of boredom
2025-02-28 04:44:43
but yeah i also think it looks kinda neat
Meow
2025-02-28 04:45:48
Lo-fi art
couleur
juliobbv hmm, maybe this pic will do the trick?
2025-03-02 04:11:43
howd you overlay this image's edges on top of another?
juliobbv
couleur howd you overlay this image's edges on top of another?
2025-03-02 04:18:26
I think it just gets aligned naturally if each image is the same width
couleur
juliobbv I think it just gets aligned naturally if each image is the same width
2025-03-02 04:30:07
could you elaborate
2025-03-02 04:30:21
how did you make this overlay
jonnyawsom3
2025-03-02 04:36:47
It's the DC of one JPEG (Smooth colors) merged with the HF of another JPEG (Edges and fine details) by forcing a corruption
couleur
It's the DC of one JPEG (Smooth colors) merged with the HF of another JPEG (Edges and fine details) by forcing a corruption
2025-03-02 07:30:18
whats dc and hf
spider-mario
2025-03-02 08:24:57
DC = the very first DCT coefficient (the rest are called AC); HF = high frequencies
DZgas Π–
2025-03-03 01:57:47
funny artifacts of my own codec (nothing serious, just experimenting)
AccessViolation_
2025-03-03 02:05:01
looks neat πŸ‘€
2025-03-03 02:05:13
it looks like it's using quad trees in some way?
DZgas Π–
AccessViolation_ it looks like it's using quad trees in some way?
2025-03-03 02:21:40
yes and no. it's a side effect
AccessViolation_ it looks like it's using quad trees in some way?
2025-03-03 02:25:24
I mean, there is actually no algorithm that specifically separates blocks into subblocks, it's an artifact, glitch
AccessViolation_
2025-03-03 02:27:47
ah I see
DZgas Π–
2025-03-03 02:30:12
pekaro
2025-03-30 10:34:44
2025-03-30 10:35:03
cool entropy encoder bug in my codec
jjrv
2025-04-08 06:47:27
Not JXL, maybe still glitch art tho. Trying to transform float images to be compressible with any 8-bit image codec. Seems to work now, this version didn't...
kr1tzy
2025-04-10 06:13:04
Anyone have any sharable repos or scripts used for jxl glitch art? Interested in messing around with it
jonnyawsom3
2025-04-15 06:55:45
Forgot to post this here, but this was a bug with the [leniency PR](<https://github.com/libjxl/libjxl/pull/4062#issuecomment-2589898362>) > The image you get is the result of accidentally zeroing modular LF groups (while global LF is still fine and so is the HF)
juliobbv
Forgot to post this here, but this was a bug with the [leniency PR](<https://github.com/libjxl/libjxl/pull/4062#issuecomment-2589898362>) > The image you get is the result of accidentally zeroing modular LF groups (while global LF is still fine and so is the HF)
2025-05-07 08:01:03
16:1:0 chroma subsampling <:KekDog:805390049033191445>
DZgas Π–
2025-06-01 09:49:37
2022
spider-mario
2025-06-19 01:31:08
Lucas Chollet
2025-06-19 01:50:56
What's the bug here? Wrongly decoded palettes?
spider-mario
2025-06-19 02:06:08
delta palette running on groups independently (messes with the predictors)
2025-06-19 02:07:13
(courtesy of Zoltan)
_wb_
2025-06-19 03:28:19
it's a nice effect πŸ™‚
jonnyawsom3
2025-06-19 04:43:00
Reminds me of my progressive delta palette, watching the pixels change as more groups load https://discord.com/channels/794206087879852103/1065165415598272582/1365008457383809055
spider-mario
2025-08-26 05:29:29
jonnyawsom3
2025-08-26 05:51:30
Interesting, looks like it was running on columns instead of rows
Tirr
2025-08-26 06:10:09
that image has LF frame so maybe something is wrong with indexing LF frame buffer?
spider-mario
2025-08-26 07:09:34
the bug was in SIMDfying `Epf2Stage`, and in the case where `sigma < min_sigma`, forgetting to copy the whole lane of input to the output and not just the first value (and leaving whatever was in the output buffer from before)
2025-08-26 07:09:44
here is how it looks if you at least zero the output
CrushedAsian255
2025-08-27 04:54:15
strange, the top looks almost normal
2025-08-27 04:54:31
is it enabled on a per-block level?
Exorcist
2025-09-13 04:13:42
https://ffglitch.org/gallery/
AccessViolation_
spider-mario the bug was in SIMDfying `Epf2Stage`, and in the case where `sigma < min_sigma`, forgetting to copy the whole lane of input to the output and not just the first value (and leaving whatever was in the output buffer from before)
2025-09-21 10:09:25
to which extent is this channel a log of bugs in libjxl? <:KekDog:805390049033191445>
spider-mario
2025-09-21 10:10:17
that one was jxl-rs 😁
AccessViolation_
2025-09-21 10:11:28
oh! even better
2025-09-21 10:12:45
it's interesting that these blocks are a bit smaller than you'd expect
veluca
AccessViolation_ to which extent is this channel a log of bugs in libjxl? <:KekDog:805390049033191445>
2025-09-21 12:11:50
but yes
2025-10-24 09:27:15
_almost_
_wb_
2025-10-24 10:19:59
groups look so small in an image that large
veluca
2025-10-24 10:22:59
indeed
2025-10-27 08:50:28
sigh
lonjil
2025-10-27 09:06:26
F
RaveSteel
2025-10-27 09:13:16
good enough, ship it
2025-10-27 09:13:17
XD
A homosapien
2025-10-27 09:34:32
Interlaced JXL
juliobbv
2025-10-28 04:41:10
reminds me of that FUIF demo
Kleis Auke
2025-10-28 10:58:10
Reminds me of this (source: <https://github.com/libvips/php-vips/issues/36>)
AccessViolation_
2025-11-03 04:23:29
old Minecraft versions used to have an experimental feature that would let you take 645 megapixel screenshots. it worked by stitching together many smaller screenshots, and basically always produced a glitched result
veluca
2025-11-03 06:25:46
2025-11-03 06:25:47
eh
lonjil
2025-11-03 06:29:44
Something appears to have gone wrong
spider-mario
2025-11-03 06:31:20
I bet it’s _fast_ though
veluca
2025-11-03 06:38:21
no idea why 8x32s would have broken but nothing else
AccessViolation_
2025-11-03 06:45:17
the humble barcode transform
veluca
veluca no idea why 8x32s would have broken but nothing else
2025-11-03 08:00:28
answer is that everything else I changed broke too, I just didn't notice πŸ˜›
lonjil
2025-11-03 08:03:29
ope
jonnyawsom3
2025-11-03 09:01:38
<@274048677851430913> I tried using your old ReShade fork that added JXL screenshots... <https://saklistudio.com/miniblog/reshade-jpegxl-saga/> Safe to say I think something broke xD
2025-11-03 09:02:45
The JXL is 30 bits per pixel, while setting it to PNG gives a normal looking 24 bit file, so I think it's just interpreting my SDR data as HDR data
Kampidh
2025-11-03 09:03:37
Wait uhh I didn't remember whether I pushed the simple lossless one or not yet
jonnyawsom3
2025-11-03 09:04:43
At the bottom of your blog post, you put a link to a precompiled installer with it
Kampidh
2025-11-03 09:08:26
ohh yeah that one already with simple lossless~
2025-11-03 09:09:53
tbh I only tested it on pso2 since I didn't have another hdr titles to test xD
jonnyawsom3
2025-11-03 09:11:08
I don't even have a HDR monitor, I was hoping it would fall back to SDR since you showed it in your blog πŸ˜…
Kampidh
2025-11-03 09:49:14
*oh silly me I thought it's an hdr screenshot*
2025-11-03 09:50:57
something might be triggering that it got flagged as hdr ><
RaveSteel
<@274048677851430913> I tried using your old ReShade fork that added JXL screenshots... <https://saklistudio.com/miniblog/reshade-jpegxl-saga/> Safe to say I think something broke xD
2025-11-03 10:08:11
smh, I had wanted to post a DRG screenshot like this as well πŸ˜‚
2025-11-03 10:09:03
2025-11-03 10:09:07
just for good measure
Kampidh
2025-11-03 10:12:39
is that using my reshade fork as well?
RaveSteel
2025-11-03 10:12:56
just drg with gamescope
2025-11-03 10:13:39
if hdr is enabled properly, then screenshots appear as expected, as HDR AVIFs
2025-11-03 10:13:54
This one was a PNG
Kampidh
2025-11-03 10:19:00
then it looks like the game didn't give correct texture format, since my reshade fork is using that for a relatively crude HDR detection
jonnyawsom3
RaveSteel smh, I had wanted to post a DRG screenshot like this as well πŸ˜‚
2025-11-03 10:26:14
Eyyy, rock and stone!
RaveSteel
2025-11-03 10:26:35
<@&807636211489177661>
Eyyy, rock and stone!
2025-11-03 10:26:55
Rock and stone!
Kampidh
<@274048677851430913> I tried using your old ReShade fork that added JXL screenshots... <https://saklistudio.com/miniblog/reshade-jpegxl-saga/> Safe to say I think something broke xD
2025-11-03 10:52:44
DM'd you~ since I don't have the game, are you willing to test the fix?
jonnyawsom3
Kampidh DM'd you~ since I don't have the game, are you willing to test the fix?
2025-11-03 10:54:25
Ah, sure. Discord didn't give me a notification
veluca
2025-11-04 09:58:44
new day, new DCT bug
Tirr
2025-11-04 10:06:20
very tricky to go fast
veluca
2025-11-04 10:29:04
"tall" rectangular dct blocks are annoying
2025-11-04 10:47:38
making progress?
Lucas Chollet
2025-11-04 11:02:10
I started to implement VarDCT in my decoder, you're scaring me lol
Tirr
2025-11-04 11:04:42
looks like messed up interleaving during dct process
veluca
Tirr looks like messed up interleaving during dct process
2025-11-04 11:44:39
most likely, yeah
Lucas Chollet I started to implement VarDCT in my decoder, you're scaring me lol
2025-11-04 11:44:59
it's not too hard if you don't try to squeeze every last bit of performance out of it πŸ™‚
_wb_
2025-11-04 01:12:44
20% of the work is making a correct decoder, 30% of the work is making an efficient decoder, and the remaining 50% is making the efficient decoder correct too πŸ™‚
jonnyawsom3
2025-11-04 01:18:23
Not exactly glitch art, but I think I may have weighted smaller blocks slightly too high πŸ˜…
2025-11-04 01:18:29
Ah well, back to tuning
Dunda
AccessViolation_ old Minecraft versions used to have an experimental feature that would let you take 645 megapixel screenshots. it worked by stitching together many smaller screenshots, and basically always produced a glitched result
2025-11-07 08:13:30
That's interesting, it looks like some of the chunks are shuffled around
2025-11-07 08:23:40
When you compare the whole collage to the miniature screenshot in the first one you can see that whole column and row seem to be missing, as some kind of off-by-one error
2025-11-07 08:24:39
It kinda takes skill to break something like that
2025-11-07 08:24:56
Possibly multithreading is to blame for the shuffling
AccessViolation_
2025-11-07 08:27:47
yeah it's interesting
2025-11-07 08:28:06
I got the last one by intentionally changing the window size while it was taking the screenshot
2025-11-07 08:29:14
for the the second one I moved the mouse around, though I'm not sure if that had any effect. the first and third ones were taken without touching the game during the process
Tirr
2025-11-09 02:48:03
uh oh
2025-11-09 02:50:45
my AVX2 impl is even worse
lonjil
2025-11-09 02:54:33
oof
jonnyawsom3
2025-11-09 02:58:43
Matching Minecraft's missing texture I see
AccessViolation_
2025-11-09 04:00:22
"internet address space map" looking ass
RaveSteel
2025-11-18 11:06:33
I guess hardware decode didn't like this one
AccessViolation_
2025-11-18 11:12:08
the discord preview is a lot more saturated than the actual image
2025-11-18 11:12:17
poor color management in firefox I wonder?
2025-11-18 11:12:44
oh it's the zoom causing it, wack
RaveSteel
2025-11-18 11:12:55
this image is hdr, but somehow it has problems displaying properly i guess
2025-11-18 11:13:34
mpv also shows it improperly
2025-11-18 11:13:42
tev works though
ignaloidas
2025-11-18 11:18:25
some weird color blending when downscaling the image it seems
2025-11-18 11:37:29
yeah, seems like when interpolated in Rec 2100 PQ (as in the color profile in the image) it ends up doing this, I guess that's the dangers of interpolating in a not perceptually uniform color space
Adrian The Frog
2025-11-19 04:56:41
Interpolation should always be done in linear RGB I think The important thing is that showing a color interpolated halfway between 2 stripes will look the same as the 2 stripes side by side when viewed at a distance
2025-11-19 04:57:36
The actual number of red photons that the monitor is emitting is what's important
2025-11-19 04:57:39
Etc
ignaloidas
2025-11-19 05:37:33
I think linear RGB is slightly better, but doesn't really solve the issue? Because perceptually, brightness isn't linear, which distorts the middle point. This blog post is about gradients but essentially when you're scaling you're just doing gradients, just on a different scale https://aras-p.info/blog/2021/11/29/Gradients-in-linear-space-arent-better/
Adrian The Frog
2025-11-19 05:48:02
Gradients should be filtered however looks the smoothest. It's completely arbitrary what you like. However, any actual lighting math should almost always be done in a physically accurate manner (at least before tonemapping) Here, linear filtering is the objectively correct option. If you show alternating rows of pixels and blend them in a linear space vs a perceptual space (or sRGB etc), the pixels will always look like the linear space on a properly calibrated monitor https://www.shadertoy.com/view/McSyWm Here's a demonstration, although depending on your setup it might not be displaying pixel perfectly which would make it look wrong as basically nobody actually interpolates in linear space when they should
2025-11-19 05:49:51
https://www.shadertoy.com/view/lscSzl This has a more thorough description
2025-11-19 05:53:20
If you rescale an image and sample it in a way that correctly averages all rescaled pixels in the screen pixel, overall colors from a distance should be completely unaffected Which you'll see if you import that image into blender and scale the camera around or something. Blender has decided that they don't want to interpolate textures in sRGB (in cycles, they do in Eevee), although it doesn't really matter in that case as the raytracing algorithm happening in linear space still means it will look the same at any scale.
ignaloidas
2025-11-19 07:57:41
oh, right, I get what you mean, my bad, was wrong
2025-11-19 07:58:08
though, that only works if the primaries in the linear RGB match the display's primaries, no?
Adrian The Frog
2025-11-19 02:32:06
As long as the display emits the amount of red, green, and blue light that you tell it to
2025-11-19 02:33:12
I think a properly calibrated display will always look the same given the same srgb signal
ignaloidas
2025-11-19 03:33:54
that's assuming that the primaries of the display can subsume the primaries of the linear RGB? In the above image, the colorspace is not sRGB, and if the colors or their mid-point is out of gamut for the display, then you would get different results
2025-11-19 03:34:26
clip/map then interpolate != interpolate then clip/map
Adrian The Frog
2025-11-19 06:35:24
I suppose the "correct" behavior is subjective when the display can't even show the colors. I don't know how best to resolve it if the midpoint is out of gamut. If the endpoints are out of gamut, you could clip before interpolating linearly I don't really have any experience with wide color gamuts though.