Hi
assume the following example:
Input
- CL-Base, 2 Tap @ 85MHz = 170MP/s
- 16MP/image
- 8fps
- transfer time for 1 frame = 16 MP / 170MP/s = 0.1s
Design:
The camera peak bandwidth is 170MP/s
The average camera bandwidth is 8fps * 16MP = 128MP/s
--> Parallelism 4 is sufficient
After "Remove3of4images":
Peak bandwidth is still 170MP/s
Average bandwith is 128MP/s / 4 = 32MP/s
--> Parallelism 4 is sufficient
After PARALLELdn the link bandwidth is 62.5MP/s. Therefore we need the buffer.
To calculate the buffer fill level we subtract the output bandwidth from the input bandwidth to calculate the fill speed:
Fill Speed = 170 MP/s - 62.5 MP/s = 107.5MP/s
After one frame the buffer fill level is: 107.5MP/s * 0.1 sec = 10.75MP
As there is a transfer gap after each frame the buffer has enogh time to get empty. It will be empty after 0.1s + 10.75MP/62.5MP/s = 0.272s which is equal to the maximum framerate of a 16MP image at parallel 1: 62.5MP/s / 16MP = 3.9fps --> 1/3.9fps = 0.256s (which is the same value as above with some rounding errors)
The explanation above is only valid for line or pixel buffers like ImageBuffer or ImageFifo. If you are using a frame buffer you need to store the full image. See http://www.siliconsoftware.de/…ntent/library.Memory.html
Johannes