Reading from (ov7670 ) parallel output

So I have the non-FIFO version of the ov7670 camera module and am trying to read data from the parallel interface.

The camera has some rules about when the parallel pins must be read, a pin must be high and the other must be sampled at the rising edge.

I was just wondering how I should go about writing code for this. Should I use two interrupts (for the high and the rising pin) and use digitalRead on the parallel output pins or would this be too slow?
I've been providing a clock signal of 20MHz to the camera, but since the arduino runs at 16MHz, would I be better using a 13MHz clock signal?

You can use the first pin (frame sync?) to enable the rising edge interrupt on the second pin (pixel strobe?), and read the parallel pins using e.g. PINC (port C pins) in the interrupt handler. Polling the clock pin may work faster, though, up to perhaps 2 MHz.

But then I wonder what you want to do with so many bytes, read at the pixel strobe frequency? Even if you run the camera at 1MHz, this means that 1KB RAM will fill up in 1 millisecond.

Thanks! I'll try that