altshift_taps is an altera IP that goes with megawizard.
It's being used for demosaicing (wiki demosaicing). To go from RGBG to RGB.
In summary every line coming from the sensor contain whether RG (Red Green) pixels only or GB (Green Blue).
The altshift_taps allows to buffer a full line and to address the same horizontal pixel but of the previous line. (I don't know if they're still wasting two line buffer while one is enough)
Also, with this demosaicing IP for every four pixels of 8 bits {R,G1,B,G2} 4x8bit we get one RGB pixel of 1x24bits. (hint G = (G1+G2)/2)
That's why the D5M is configured on 1280x960 /4 we gen VGA 640x480.
Terasic are good at hardware development, yet the SOPC compatibility and embedded system designs are not that efficient.
I started some drafts, yet a lot has to be done :
- a C driver to configure the camera (size, clk freq, gain...) with an Avalon I2C Slave.
- a D5M IP with an Avalon Streaming interface for intermediate AV-STream processing IP
- stream buffering (Avalon-ST <>Avalon-MM) to interface external memories inside QSys
- The same for the VGA IP to see the processed image on the VGA screen