Всегда ли метаданные Exif хранятся сразу после заголовка JFIF?
В файлах JPEG всегда ли метаданные exif сохраняются как первый маркер? Или это может быть между другими маркерами?
Далее следует комментарий: "После области маркера APP1 следуют другие маркеры JPEG". http://www.media.mit.edu/pia/Research/deepview/exif.html Это подтверждено?
Спасибо
2 ответа
Спецификации (http://www.exif.org/Exif2-2.PDF) говорят, что - да - APP1 должен идти первым, сразу после SOI (ffd8), но иногда APP0 (JFIF) идет первым, прямо перед APP1. Это не может рассматриваться как правильное использование, поскольку обе спецификации - JFIF и EXIF утверждают, что соответствующие маркеры должны следовать непосредственно за SOI. Но на практике оказывается, что такие случаи случаются довольно часто, и редакторы и зрители изображений корректно интерпретируют такие "неправильные" гибридные файлы.
Существует два распространенных типа файлов JPEG: JPEG/JFIF и JPEG/Exif.
Обе спецификации (JFIF и Exif) требуют, чтобы их соответствующие заголовки появлялись непосредственно после маркера SOI (Start of Image).
В случае JFIF это маркер APP0, в случае Exif это маркер APP1.
Возможно иметь файл JPEG / JFIF с блоком Exif где-то позже в файле. Я заметил, что это происходит при экспорте файла JPEG / Exif из iPhoto. iPhoto преобразует его в файл JPEG / JFIF, но сохраняет метаданные Exif где-то позже в файле.
Однако, помимо требования, что заголовок для соответствующего формата файла должен стоять первым, нет ограничений на порядок других блоков маркеров APP# в файле. Поэтому блок Exif может находиться в произвольной позиции в файле JPEG / JFIF.