You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to experiment with realtime deinterlacing, because the game I'm playing through right now doesn't have a progressive hack (low res framebuffer or something) and I'm running at native resolution so the interlacing is a huge eyesore.
Theoretically, still areas are ideal to weave, but moving objects are ideal to blend or bob.
I don't want to rebuild PCSX2 whenever I make changes, and "detecting motion" to choose between weaving and bobbing a particular output pixel requires sampling multiple extra frames from the past: if the field being deinterlaced is even, then you need the first previous odd field in the first place; but to detect motion, you need at least the first previous even field, and ideally also the second previous odd field.
Bonus: games that are 30fps but output as interlaced 60fps can't be deinterlaced in the ideal way (gather both fields, merge, finally output a frame) with the built in deinterlacers because the built in deinterlacers don't really store past frames. Blend almost does but it just stores a weave frame and blends it before output. If there's a real frame history available to a single shader, someone could implement right deinterlacing for this kind of game (30fps, but output as 60fps interlaced) without hacking more frame history into PCSX2 or implementing it as multiple shaders.
The text was updated successfully, but these errors were encountered:
I want to experiment with realtime deinterlacing, because the game I'm playing through right now doesn't have a progressive hack (low res framebuffer or something) and I'm running at native resolution so the interlacing is a huge eyesore.
Theoretically, still areas are ideal to weave, but moving objects are ideal to blend or bob.
I don't want to rebuild PCSX2 whenever I make changes, and "detecting motion" to choose between weaving and bobbing a particular output pixel requires sampling multiple extra frames from the past: if the field being deinterlaced is even, then you need the first previous odd field in the first place; but to detect motion, you need at least the first previous even field, and ideally also the second previous odd field.
Bonus: games that are 30fps but output as interlaced 60fps can't be deinterlaced in the ideal way (gather both fields, merge, finally output a frame) with the built in deinterlacers because the built in deinterlacers don't really store past frames. Blend almost does but it just stores a weave frame and blends it before output. If there's a real frame history available to a single shader, someone could implement right deinterlacing for this kind of game (30fps, but output as 60fps interlaced) without hacking more frame history into PCSX2 or implementing it as multiple shaders.
The text was updated successfully, but these errors were encountered: