-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Red blocks on card pictures in Yu-Gi-Oh! 5D's Tag Force 6. #9457
Comments
I don't think this is an emulator bug, more likely the image is heavily JPEG-compressed in the game, causing these artifacts. You'll probably see the same thing on a real PSP, though it may be partly concealed by the low resolution. |
Can you try to look at how the game is drawing using the GE debugger? https://github.com/hrydgard/ppsspp/wiki/How-to-find-a-graphic-issue-with-the-GE-debugger Maybe this is related to antialiased lines or something. -[Unknown] |
ok i will see it |
Name Value Name Value Name Value Name Value X Y Z U V Color Name 0 1 2 3 Start PC PC Stall State Started Interrupted |
Hm. The texture on the left (you can double click to zoom) already seems to have the aliasing problems at that point. Is that right? If you keep stepping, does it draw anything on top of it to correct for the aliasing? It seems like the problem is baked into the texture already. -[Unknown] |
If the game is using sceJpeg to decompress that picture, this could be a result of the crappy color space conversion we do in sceJpeg.cpp . We don't interpolate the UV the way you should if you want really good results. I would say this is a very minor issue though and probably won't work on that anytime soon, but I'll leave it open. |
Thank you for this information! |
We also have two conversions happening here. We'll decode from JPEG to RGB (within jpgd), then potentially convert that to YCbCr (if sceJpegDecodeMJpegYCbCr was used) and back to RGB again. Could definitely be losing something in that conversion. -[Unknown] |
Yeah, ideally we'd use a JPEG library that let us intercept the buffers before the first conversion to RGB, and then do bilinear upsampling during conversion to RGB. Definitely doable, just a bunch of work. |
#16179 may help this, because the swizzle was wrong in one of the sceJpeg colorspace conversion funcs in a way that might match this pattern. You can try the build from the Checks tab (once it's complete), or if it's already showing as merged, you can use the latest git build. -[Unknown] |
|
Thanks for checking, that's interesting. I wonder if it means DecodeYCbCr needs to use the 2x2 format... just worried what that means for MJpegCsc. -[Unknown] |
BTW, with |
Thanks, I just pushed an update with what I'm hoping is a fix to that. I fixed the debug file access too. I don't know why my tests are behaving weirdly for sceJpegMJpegCsc, but when I copy its output to VRAM and screenshot it, it looks like it does it the normal 2x2 way, so I think the old code was just wrong. -[Unknown] |
Thanks for confirming, closing as fixed. -[Unknown] |
This card pic should be like http://yugioh.wikia.com/wiki/File:AtomicScrapDragon-TF06-JP-VG.png , but on my PPSSPP, some red parts have "red block" on it.
I'm using ppsspp-v1.3-992-g47a814c-windows-amd64. And I tested on my android device, it have same issue.
The text was updated successfully, but these errors were encountered: