Skip to content

Fix ParaLLEl-RDP interlaced Bob output and add Bob - Sharp / Blend modes#637

Open
Immersion95 wants to merge 1 commit into
libretro:developfrom
Immersion95:deinterlace
Open

Fix ParaLLEl-RDP interlaced Bob output and add Bob - Sharp / Blend modes#637
Immersion95 wants to merge 1 commit into
libretro:developfrom
Immersion95:deinterlace

Conversation

@Immersion95

@Immersion95 Immersion95 commented Jun 9, 2026

Copy link
Copy Markdown

Summary

This PR fixes the ParaLLEl-RDP Bob deinterlacing path by making Bob explicitly run as a final deinterlacing pass when the VI is in serrate/interlaced mode, instead of relying on the previous final-pass/downscale path where the pass could be skipped or applied inconsistently.

The corrected Bob mode now applies the field offset consistently to produce a stable progressive output from interlaced fields. This PR also adds Bob - Sharp, which uses the same corrected Bob path but switches to nearest filtering to avoid vertical line blending at higher internal resolutions.

A Blend mode is also added as a softer deinterlacing option alongside Weave.

Modes

  • Bob: corrected field-offset Bob deinterlacing.
  • Bob - Sharp: corrected Bob path with nearest filtering for a sharper result at higher internal resolutions.
  • Blend: softer field-blending deinterlacing option.
  • Weave: existing weave-style behavior.

This patch was prepared with AI assistance, so if maintainers prefer a different implementation, naming, or structure, I am completely fine with it being adjusted or rewritten.

Still, the result is much more stable than the default Bob deinterlacing, especially at higher resolution.

You can find builds here : https://github.com/Immersion95/mupen64plus-libretro-nx/actions/runs/27217496700

Add a cleaner ParaLLEl-RDP deinterlacing selection with Bob, Bob - Sharp, Blend, and Weave modes.

Bob keeps the existing field-offset behavior with linear filtering.
Bob - Sharp uses the same field-offset logic with nearest filtering for a sharper result at higher internal resolutions.
Blend adds a softer field-blending option.
Weave keeps the existing weave-style behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant