jonas’MattJ, blurhash calculated server-side or blurhash expected to be sent from the client?
zachhas left
zachhas joined
j.rhas joined
lovetoxhas joined
lskdjfhas joined
mathijshas left
mathijshas joined
pdurbinhas joined
Ge0rGI'd say it should be part of the SIMS
winfriedhas left
winfriedhas joined
winfriedhas left
andrey.ghas left
winfriedhas joined
j.rhas left
matkorhas left
matkorhas joined
zachhas left
zachhas joined
pdurbinhas left
jubalhhas joined
j.rhas joined
emushas joined
adiaholichas left
moparisthebesthas left
moparisthebesthas joined
jubalhhas left
LNJhas joined
andrey.ghas joined
lskdjfhas left
lskdjfhas joined
adiaholichas joined
jabberjockehas left
zachhas left
zachhas joined
jubalhhas joined
jubalhhas left
adiaholichas left
adiaholichas joined
adiaholichas left
adiaholichas joined
!XSF_Martinhas left
!XSF_Martinhas joined
mukt2has joined
Shellhas left
zachhas left
zachhas joined
mukt2has left
chronosx88has joined
Shellhas joined
zachhas left
zachhas joined
pdurbinhas joined
Shellhas left
pdurbinhas left
Shellhas joined
zachhas left
zachhas joined
LNJhas left
wurstsalathas left
wurstsalathas joined
MattJjonas’: I think either works - there are some advantages to client-side (sender)
Ge0rGMattJ: what's the benefit of blurhash over a small BoB preview?
MattJSender controlled preview doesn't necessarily cover the NSFW case without extra work
Ge0rGthe only difference between blurhash and preview is the resolution, right?
MattJKinda, kinda not
MattJYou can get away with lower resolution blurhash because of the blurring
MattJPreview at the same resolution would be blocky
MattJVery
zachhas left
zachhas joined
Ge0rGMattJ: most modern rendering algorithms will blur instead of blocking
MattJAll blurhash algorithms blur, regardless of image type/etc.
ZashAll? There's more than one?
MattJImplementations
MattJSorry, I have a baby in one hand and the other is multitasking between making lunch and typing
Ge0rGMattJ: if we add a BoB into SIMS, we surely can demand it to be blurred up to the original image resolution ;)
ZashAnd like a tiny very compressed jpeg image there
Zash8x8 or smaller
MattJI really don't care if you want to spec the same effect a different way that works
MattJI am just trying to do stuff
MattJCurrently that means I am not going to get everyone in a channel to upgrade their clients to one that sends a hash, but I have a bit of influence on the server sidr✎
MattJCurrently that means I am not going to get everyone in a channel to upgrade their clients to one that sends a hash, but I have a bit of influence on the server side ✏
MattJBlurhash is well defined with multiple libraries available
Ge0rGJPEG is well defined with multiple libraries available ;)
MattJIf you can do better, I beg you to
ZashReviwe progessive JPEG! :)
jonas’12:29:19 Ge0rG> MattJ: most modern rendering algorithms will blur instead of blocking
Quality of blurhash isn’t comparable to linearly interpolated pixels of a low-res previow
Ge0rGZash: awesome idea! make the preview image the first layer of the progressive jpeg, that way we can skip some bits on the actual transmission!
Ge0rGjonas’: this is exactly what I want to learn - what's the difference?
jonas’https://blurha.sh/
jonas’look at it
jonas’technically, I think they use spherical functions or something like that and save the coefficients for those
jonas’but I haven’t gotten around to look into it in more detail yet
ZashFrom when I read the spec it sounded like one block of JPEG
Ge0rGconverting an image into an 8x8 px JPEG is a standard feature of any platform that supports JPEG images. Converting into blurha.sh... not so much
Shellhas left
j.rhas left
j.rhas joined
LNJhas joined
zachhas left
zachhas joined
adiaholichas left
adiaholichas joined
debaclehas left
zachhas left
zachhas joined
zachhas left
zachhas joined
MattJThe 4x3 JPEG file I made is 667 bytes compared to 28 bytes for the same image's blurhash
MattJand some things display it blocky, some do blur (but so far I haven't managed to find an image viewer that does blur and also allows unlimited zoom)
mukt2has joined
j.rhas left
DanielThat's one of these moments where actually studying that stuff at university would have been helpful. Because I don't really understand what blurhash is doing
DanielNeed to ask my university buddies at some point
mukt2has left
j.rhas joined
zachhas left
zachhas joined
edhelasI really like the idea behind blurhash, would be pleased to use it in Movim :)
Chobbeshas joined
mukt2has joined
pdurbinhas joined
Ge0rGagain, what's the actual benefit over a significantly downscaled picture?
sonnyhas joined
adiaholichas left
adiaholichas joined
ZashPresumably that the "hash" is smaller.
zachhas left
zachhas joined
pdurbinhas left
DanielNo jpeg overhead?
DanielThe decoding / upscalling is specified?
Ge0rGthe jpeg overhead needs to be offset by the additional library overhead, though ;)
Ge0rGokay, https://github.com/woltapp/blurhash/blob/master/Kotlin/lib/src/main/java/com/wolt/blurhashkt/BlurHashDecoder.kt doesn't look like a huge overhead ;)
mukt2has left
Ge0rG> We usually decode placeholders that are 32 or even 20 pixels wide, and then let the UI layer scale them up, which is indistinguishable from decoding them at full size.
Ge0rGHeh.
mukt2has joined
ZashHuh
zachhas left
zachhas joined
ajhas left
adiaholichas left
adiaholichas joined
davidhas joined
Chobbeshas left
Chobbeshas joined
zachhas left
zachhas joined
mukt2has left
j.rhas left
j.rhas joined
jmpmanhas joined
waqashas joined
waqashas left
waqashas joined
edhelashas left
edhelashas joined
adiaholichas left
adiaholichas joined
sonnyhas left
LNJhas left
sonnyhas joined
LNJhas joined
adiaholichas left
adiaholichas joined
zachhas left
zachhas joined
j.rhas left
j.rhas joined
edhelashas left
j.rhas left
j.rhas joined
edhelashas joined
edhelascould be really nice to also use it for the avatars :)
zachhas left
zachhas joined
LNJhas left
LNJhas joined
Yagizahas joined
Yagizahas left
Yagizahas joined
jmpmanhas left
j.rhas left
zachhas left
zachhas joined
j.rhas joined
jmpmanhas joined
adiaholichas left
debaclehas joined
zachhas left
zachhas joined
adiaholichas joined
goffihas joined
adiaholichas left
mukt2has joined
andyhas left
zachhas left
zachhas joined
andyhas joined
jmpmanhas left
xalekhas joined
mukt2has left
zachhas left
zachhas joined
edhelashas left
neshtaxmpphas left
neshtaxmpphas joined
edhelashas joined
neshtaxmpphas left
neshtaxmpphas joined
mukt2has joined
emushas left
emushas joined
neshtaxmpphas left
neshtaxmpphas joined
neshtaxmpphas left
zachhas left
zachhas joined
mukt2has left
mukt2has joined
lorddavidiiihas left
lorddavidiiihas joined
neshtaxmpphas joined
neshtaxmpphas left
neshtaxmpphas joined
adiaholichas joined
karoshihas left
mathijshas left
mathijshas joined
moparisthebesthas left
moparisthebesthas joined
zachhas left
zachhas joined
Chobbeshas left
Douglas Terabytehas left
mukt2has left
adiaholichas left
adiaholichas joined
mukt2has joined
chronosx88has left
adiaholichas left
chronosx88has joined
neshtaxmpphas left
neshtaxmpphas joined
zachhas left
zachhas joined
neshtaxmpphas left
neshtaxmpphas joined
debaclehas left
Douglas Terabytehas joined
andyhas left
andyhas joined
pdurbinhas joined
lskdjfhas left
lskdjfhas joined
larmahas left
larmahas joined
zachhas left
zachhas joined
pdurbinhas left
mukt2has left
mukt2has joined
karoshihas joined
Yagizahas left
sonnyhas left
xalekhas left
lskdjfhas left
lskdjfhas joined
zachhas left
zachhas joined
jubalhhas joined
jubalhhas left
mukt2has left
mukt2has joined
mathijshas left
mathijshas joined
mathijshas left
jubalhhas joined
mathijshas joined
zachhas left
zachhas joined
!XSF_Martinhas left
!XSF_Martinhas joined
eevvoorhas joined
jubalhhas left
zachhas left
zachhas joined
jonas’I’d question the "shell-safe" base83 encoding though. the character set contains $ and * and # and { and } and [ and ]
jonas’not that it matters much
jonas’Daniel, they essentially do what jpeg does
jonas’I’m not quite sure why the rendering is that much better though
jonas’maybe because they have more bits for the few pixels
ZashBecause it's done in JavaScript of course
Shellhas joined
jonas’ah, probably because what jpeg would normally expand to just 8x8 pixels, they expand to more pixels, and they don’t do that linearly, but they evaluate the cosine functions the DCT gave
jonas’that’s why it’s smoother than upscaling a 8x8 jpeg
zachhas left
zachhas joined
chronosx88has left
mathijshas left
mathijshas joined
chronosx88has joined
zachhas left
zachhas joined
pdurbinhas joined
jabberjockehas joined
Syndacehas left
pdurbinhas left
Syndacehas joined
Shellhas left
derdanielhas joined
lovetoxhas left
mukt2has left
Nekithas joined
lovetoxhas joined
mukt2has joined
lovetoxwhat i dont get
lovetoxok there are librarys who let me get the hash from a picture
lovetoxbut i dont see one that let me get a picture from the hash
jonas’note, blurhash is a misnomer
jonas’it’s not a cryptographic one-way hash function
alameyohas left
jonas’lovetox, https://github.com/halcy/blurhash-python here is an encoder and decoder thing