STM32F407 Discovery Board DCMI to SPI Output
Note: I haven't done anything with screens myself, so I'm not sure, if data types returned by camera are ok for screen. But I do have working camera based on STM32F427 and OV5640. 

When fetching image from DCMI via DMA, you have to pass in an address pointer, where the image is going to be stored. This transfer is usually synchronized with VSYNC to ensure correct frame. Once DMA transfer is done, you use the same address pointer to start DMA transmit to the screen (HAL_SPI_Transmit_DMA(&amp;picBuff, size)). It's better to do it outside DMA IRQ, but might work from within it as well, depends on overall setup.

If you have data type mismatch between camera and screen (YUV vs RGB565 or whatever formats), you have to convert the data before. Or just request the correctly formatted data from camera (I think OV2640 supported quite a few data type outputs)