-
Notifications
You must be signed in to change notification settings - Fork 1
Uploading emotes with a height of 32px or below, results in them being nearest neighbor scaled, and there is seemingly no other way to trigger this scaler #70
Comments
Hi @brian6932, |
Here's an emote that was nearest neighbor scaled to 128x128, then uploaded: https://7tv.app/emotes/61d0dfa8ce8bd4a59cb8958b Link from before #74 processing, but newer than first: https://7tv.app/emotes/637e933e4fd6f804904956f5 1x: https://cdn.7tv.app/emote/637e933e4fd6f804904956f5/1x.webp Link from after #74 processing: https://7tv.app/emotes/637fee88b88c4be9814d975d (I don't really notice a difference) 1x: https://cdn.7tv.app/emote/637fee88b88c4be9814d975d/1x.webp Now this is the same emote, nearest neighbor scaled down to 28px (with some hand fixes cause nearest neighbor can overshoot scaling down): https://7tv.app/emotes/63798b896ceb1c632b6cb02d It would be nice if there was a way to post a emote with greater than 28px of detail, and still have an option to scale with a pixel scaling algorithm like nearest neighbor. You could even take the Twitch route, and give an option for the user to provide their own scaling for each size. On emotes with > 28px of quality this simply doesn't work: Version from after #74 processing: https://7tv.app/emotes/637fef31907973c23ea41f3d (I don't really notice a difference) Scaling down to 28px: https://7tv.app/emotes/6379bf45485bf2e404bbf5be |
@brian6932 I just published a version fix to change how resizing works, can u do the test emotes again and update your comment accordingly |
done |
Update, maybe when I uploaded those emotes, the scaler wasn't updated for me, but it seems like it is working for less detailed images, like this one: https://7tv.app/emotes/638379f61b2c99744ac2193d which was uploaded at 104x104 (1-3 frames do seem to be broken on larger scaling tho), but not working for this one: https://7tv.app/emotes/638455fc69622ffdbd98e339 which was uploaded at 128x128. Side note: It seems like the 28px nearest neighbor scaling to 112px no longer works. |
@brian6932 we dont really resize anything on the source upload so I dont really know how the frames could be broken. I'll look into that. I think the solution to this is simply exposing the resize algorithm to the uploader. However this seems like a very niche. I will do it but I am a bit busy at the moment with some other projects for 7TV. PRs if you are willing will be accepted if not I will do it sometime next month. |
You can try to do the `make external` function in the c++ folder which
should build all the external libs, alternatively you can look at the
docker file.
…On Mon, Nov 28, 2022 at 9:20 AM Brian ***@***.***> wrote:
PRs if you are willing will be accepted if not I will do it sometime next
month.
I tried to build the image-processor @TroyKomodo
<https://github.com/TroyKomodo>, however, since the env vars are not
documented, I'm not sure what paths to set for gifski:
https://github.com/SevenTV/image-processor/blob/dev/cpp/cmake/FindGifski.cmake
For the record, I have built gifski with --lib
—
Reply to this email directly, view it on GitHub
<#70 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL3YU5O3LRTJ5MGHQ4OWOR3WKS5R3ANCNFSM6AAAAAAR6C2ZKE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I did end up getting that dep working, I just had to add |
It shouldn't be possible to upload below 32px, normally emotes get upscaled. We haven't discussed yet about adding an option to avoid upscaling. There seems to be an issue caused by the latest the commit that makes all emotes not upscale, which is wrong |
^ Clueless, offline discussion its actually correct but anatole wants to add the option to upscale emotes. also unrelated entirely to this issue so i am not sure why he commented it here. |
When you upload something with a height less than or equal to 28px, a different scaler is used to scale the emote to a height of 112px, this scaler seems to treat pixel art in a more lossless way, seemingly nearest neighbor. Now the problem is that this scaler is only used when the input has a height of 28px, it does not work when the height is any larger, meaning you can only have 28px of detail. Maybe some hard-edge detection, or at the very least a user setting should be added to run this scaler no matter the size of the input.
There are some emotes uploaded that doesn't abide by this: https://7tv.app/emotes/62e5ebe8a1a665fe6efd6178 either way an issue to track for this would be good.
The text was updated successfully, but these errors were encountered: