Mp4 Video Container and the Codecs use with it
The Wikipedia article on MPEG-4 is a great start as the MP4 file specification is part of the MPEG-4 spec.  Specifically version 2 of MP4 is MPEG-4 Part 14. While not free, you can purchase copies of the ISO spec under ISO# 14496-14:2003.  A preview with some detail is available from the ISO here.  

It is designed to contain any of the various MPEG video formats, including MPEG, MPEG-2, MPEG-4 Part 2 (generic MPEG-4) and, probably most commonly, MPEG-4 part 10 (H.264).  It can theoretically support almost any format of video stream, however those 4 are the most widely supported for the file type.

The full list of officially registered codec types is available from the MP4 Registration Authority here.