libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.04k stars 1.81k forks source link

[feature request] video input/capture card “core” #7415

Open b- opened 5 years ago

b- commented 5 years ago

I’m wondering how well the GLSL shaders could act as a software “upscaler” of sorts with advanced shaders, for “real” consoles, with a core that simply feeds video input to its output.

And I’d like to apologize in case this has already been requested — I tried searching and couldn’t find something, even though I can’t imagine I’m the only one interested…

As far as I understand (and admittedly I could be way off; this isn’t much more than a guess) RetroArch cores simply write a framebuffer, potentially synced to the VSYNC signal. I don’t see why this couldn’t be done using a video input via perhaps a standard OS-level API or something similar.

the idea being that you attach a video input to your computer, choose it (as opposed to your webcam…) in the core settings, and you see a picture while the RetroArch shaders get applied on the way out.

Is this feasible? This would be fantastic, as it could open a path to using RetroArch and this “core” as a dedicated, software-based, open source video upscaler a la OSSC (but digital).

hizzlekizzle commented 5 years ago

It already exists (sort of)! https://github.com/libretro/RetroArch/tree/master/cores/libretro-video-processor

The current limitations, IIRC, are that it only works in Linux and doesn't work with many cards/inputs...? It definitely needs more work, though.

ofry commented 5 years ago

Could you integrate directshow?