Displaying a video on VGA using FPGA
There are two approaches. One is a ROM or external RAM big enough to hold multiple images, each starting at a different base address. Simply change the base address each frame period...
If your FPGA allows a large enough ROM, you can decode the MP4 file into a series of RGB images on the host computer and generate a very big .coe file from that.
The other approach is to compute each frame at the time you need it; storing it into a pair of RAMs where your ROM is now. Compute into one RAM while you are displaying the other; at the end of the frame, swap the RAMs (this is called double buffering; most FPGAs supply dual port RAM blocks to make this easy).
For simple graphics, or text via a font LUT this is relatively easy, but an MP4 decoder is a very complex task compared to a trivial VGA controller.