Supported Cameras

I'm coming up short looking for a list of supported cameras. MIPI seems a bit broad. For example, can I use Auvidea B102 HDMI -> CSI-2 Bridge or a Mango-TVP5150 Module Board? Thanks!

right now we are supporting MIPI CSI-2 streams with Bayer at 8 bit per pixel and 640x480 resolution. max pixel clock rate is around 500 mbps however if you plan to store image in SDRAM clock should be a bit lower.
we are providing in the library code to initialize OV5647. if you need to drive something different it’s possible but likely you’'ll need to get your hands a bit dirty.
if you get into this let me know and i’ll be glad to help.


Dario, The Auvidea B101 is designed to appear as a Raspberry Pi "camera" with a 15-pin CSI-2 output. Since the OV5647 has the same output -- I'm assuming --, the B101 should behave the same. Is there any way to get this up to 1080p? My application will not store the video; it's just OSD. Thanks.

also, this is the chip on the Auvidea board

Hi David, you can do any resolution provided it's below 600 mbit and you can handle that on the fly. adding an OSD to the camera is feasible but OSD would have to be frame locked to the camera, so i doubt you can do it at 1080 as that would be 30Hz and most displays will have trouble with 1080p30. this, among others, is the main reason why we have camera passing through the frame buffer, so that we can resync it to the fixed display timings we chose. right now we are not supporting the use case you have in mind but if you want to fiddle with FPGA shortly you will have the possibility to do it starting from what we published. in any case the board seems interesting and when we'll have the stuff we're working on out of the door that is for sure a good candidate for the next project. please let me know how you plan to use it so that i can try to imagine how to generalize it so that it can be useful to others as well.



Dario, I figured I should first verify the B101 module works. I attached it to a RiP 3b and had to use uv4l to get the video working, Why? It turns out that the Toshiba TC358743XBG HDMI to CSI-2 chip requires it's own set of drivers. It's not a straight drop-in replacement for the OV5647. It looks like uv4l is closed source, but there is TC358743 driver code in the Linux src. Maybe we can add support. Thanks!

I'm going over this now

however I need a better understanding of how you're setting up the OV5647. Are the initialization routines for the camera in VidorGraphics or are they in the FPGA? Thanks.

Hi David, Camera initialization is done via an i2c peripheral in the fpga but actual register values are written by the Arduino library. You can find the code open source in the Vidor libraries git. You'll just need to exchange the ov5647 register set with the appropriate ones for your chip but note that I doubt that converter outputs Bayer which is the only format we now support so likely up will need some mods...

I found what you are referring to in VidorCamera.cpp. What do you mean by "Bayer"?

Cameras output video in "raw" format which is RGB in what is known as Bayer pattern so that have just one color component per pixel and you form RGB for each pixel interpolating adjacent values. Basically every 2x2 pixels you have 1 red and 1 blue value plus 2 green values and from them you get all 4 pixels... Basically it's a smart way to arrange color sensors ...