Libretro V4L2 core

Hi folks.

I had a silly idea the other day to use a Raspberry Pi as an HDMI upscaler for my old consoles. I decided to implement it as a Libretro core to take advantage of shaders.

Here’s the first (still very rough) cut at it. Using a Hauppauge HVR-950Q and Raspberry Pi, it works apart from what appears to be an issue with the dwc_otg isoc implementation where the display will occasionally glitch (I see the same behaviour on Raspberry Pi with mplayer/gstreamer/etc as well). I’ve been trying to track down another ARM board with a different (ehci) controller to test on.

If anybody else is interested in playing with it, the source code can be found here: https://github.com/jaredmcneill/libretro-v4l2

Cheers, Jared

whoa, that’s super-cool! If you’re interested, this could be something Twinaphex would want to merge directly into RetroArch (single, small C file). I’ll let him know about this :slight_smile:

Yeah that would be great, thanks! It still need some work – right now the audio and video capture device names are hard-coded, and an external tool (e.g. v4l2-ctl) is required to setup the device video standard and inputs. I’m not very familiar with the Libretro API so if anybody has any advice on the best way to handle those things I would really appreciate it.

I talked to Twinaphex about it and he’s interested in baking it in. I’m super-stoked about it because it could conceivably turn an RPi and a cheap USB capture card into a DIY xrgb-mini. :open_mouth:

Possibly the easiest way to get the config loaded would be to treat it like the “content”. That is, the typical RetroArch workflow is to load the core and then load some content, so the config file could point to the proper device, etc.

Anyway, I think it’s a really great concept and I’m excited for the possibilities. If you want to discuss it more, particularly with Twinaphex in person rather than through me+forum, stop by #libretro on Freenode IRC.

Sorry to revive an old thread, but is this something that’s still being actively worked on?

I have a few retro consoles hooked up via composite to my Windows machine via a Hauppauge WinTV-HVR-1250 card, and I’d love to be able to play them with RetroArch’s excellent CRT shaders applied. How much additional work do you think would be needed on this core to make that possible? Or is there some other way it could be done? I have no real knowledge on the inner workings of libretro cores, myself.

I think it works right now, though I think it’s a bit limited in the cards that are supported. Go to ‘load core’ > ‘start video processor’ to see if it works for you.

Ah, it sounds like this feature only works in Linux, going by someone’s response in another thread. Am I out of luck on Windows, then?