If you look at page 32, you can see that ff e0 to ff ef are used for application segments. The JPEG specification can be found here.
I could find further examples on the Internet:Į4 (maybe a corruption, so no 100 % evidence, see espressif/esp32-camera#4 )Į8 SPIFF (Still Picture Interchange File Format) I would consider all headers from ff d8 ff e0 to ff d8 ff ef as valid JPEG files. JPEG image data, JFIF standard 1.01, resolution (DPI), density 180x180, segment length 16, Exif Standard:, baseline, precision 8, 2597x1948, components 3 JPEG image data, Exif standard:, baseline, precision 8, 4000x3000, components 3 This gives an ongoing list of file-type magic numbers. There is an ascii encoding of 'JFIF' which comes after a length code, but that is not necessary in order to identify the file. JFIF.Gįfd8 shows that it's a JPEG file, and ffe0 identify a JFIF type structure. This makes programming easier because complicated file structures need not be searched in order to identify the file type.įor example, a jpeg file starts with ffd8 ffe0 0010 4a46 4946 0001 0101 0047. Magic numbers are the first bits of a file which uniquely identify the type of file.