I don't think so, I have been doing base64 encoding/decoding at about 150MB/s (1 thread) and 300MB/s (2 threads) https://github.com/aklomp/base64 and crc32 at 2GB/s (1 thread) https://github.com/htot/crc32c, which are a bit more computation intensive than your code above. It is probably related to printing tmpt.
I think you might be connected over the serial port and printing the data over that? (115kbd = about 11kb/s)?
If you connect with ssh over wifi you should be getting better results.
We have connected a USB/ETH chip and iperf is showing we are getting 80MB/s which is even better.
Thanks Ferry and Sergio
Yes i have tried using SSH to display the value, and indeed it is noticeably faster.
However the recursive loop was just a small aspect of the issue, this is more of an issue with the GPIO using MRAA not reading data fast enough to be captured, by the edison.
My thougts to overcome this problem (if it is indeed a problem and the edison cant read the pixels off of the ov7670 because it is too fast) is by using the internal MCU or a PIC MCU to capture the data, pixel by pixel, form a complete image image and then send it as a whole image to the intel edison. is this a sound idea or just simply a waste of time approaching ths problem using a microcontroller unit ?
documentation on the ov7670 camera can be found here: http://embeddedprogrammer.blogspot.my/2012/07/hacking-ov7670-camera-module-sccb-cheat.html
That I wouldn't know. Maybe when using mmapped IO you will get better results?
I just had a quick look at your datasheet and it seems you would best have a DMA channel. I don;t think the GPU has this, and the embedded MCU is not documented at that level.