Каков максимальный размер метаданных JPEG? - PullRequest
8 голосов
/ 14 июля 2010

Существует ли теоретический максимум для количества метаданных (EXIF и т. Д.), Которые могут быть включены в файл JPEG? Я хотел бы выделить буфер, который гарантированно будет достаточным для хранения метаданных для любого изображения JPEG без необходимости разбирать его самостоятельно.

Ответы [ 3 ]

11 голосов
/ 02 июля 2013

Нет теоретического максимума, поскольку некоторые маркеры APP могут использоваться несколько раз (например, APP1 используется как для заголовка EXIF, так и для блока XMP). Кроме того, нет ничего, что могло бы предотвратить несколько блоков комментариев.

На практике гораздо чаще встречается большой заголовок, а именно маркер APP2, используемый для хранения цветового профиля ICC для изображения. Поскольку некоторые сложные цветовые профили могут занимать несколько мегабайт, они фактически будут разделены на множество блоков APP2 (поскольку каждый блок APP имеет 16-битный предел адресации).

6 голосов
/ 14 июля 2010

Каждая область данных APPN имеет поле длины, которое составляет 2 байта, поэтому 65536 будет содержать наибольшее.Если вас беспокоят данные EXIF, их будет немного меньше.
http://www.fileformat.info/format/jpeg/egff.htm В одном файле может быть не более 16 различных маркеров APPN.Я не думаю, что они могут быть повторены, поэтому теоретический максимум должен быть 16 * 65K.

1 голос
/ 13 декабря 2018

Википедия говорится:

Размер метаданных Exif ограничен размером 64 кБ в изображениях JPEG, поскольку согласно спецификации эта информация должна содержаться в одном сегменте JPEG APP1.

...