Black bar and red / green swap in OV7670 image
Color swap:
you read with one byte delay and the YUV decoder produces wrong results.
Black bar on the left:
The horizontal synch is correct but your controller starts reading zeros before the CMOS camera opens the rolling shutter.