Я пишу что-то, чтобы получить информацию, содержащуюся в файле мультиизображения MPO, создаваемом камерами, такими как камеры Fuji 3D.
У меня есть предлагаемая спецификация, которая явно написана, чтобы запутать, идоступно здесь: CIPA multi picture spec PDF и переместились на обычные части exif и извлекли информацию MFP.
Раздел 5.2.3, который описывает списки заголовков Списки заголовков:
4 byte endian flag
4 byte offset
-- start of MP Index --
2 byte count
12 byte version
12 byte number of images
12 byte MP entry
12 byte Individual unique ID list
12 byte total number of capture frames
4 byte offset to next IFD.
На диаграмме показан список MP Entry и Unique ID, указывающий на смещение (которое составит 12 байтов).Однако в последующем описании показано, что запись MP должна составлять 16 байтов для каждого изображения (что в моем образце с двумя изображениями), а индивидуальный уникальный идентификатор - 33 байта для каждого изображения (мой образец не 'Это так).
Вплоть до количества изображений, все так, как и должно быть.У меня есть 2 изображения, версия правильная, и там, кажется, 3 блока (количество).Тем не менее, третий блок (который является MP Entry) имеет правильный код, правильное количество байтов и правильный тип, но содержит следующую информацию
32 00 00 00 52 00 00 00 02 00 02 20 40 63 1B 00
00 00 00 00 00 00 00 00 02 00 02 00 EE 6F 1B 00
Текст говорит, что содержание этого должно быть
offset length name
0x00 4 Individual Image attribute
0x04 4 individual Image Size
0x08 4 Individual image offset
0x10 2 dependant image 1 entry number
0x12 2 dependant image 2 entry number
Понятно, что нет смысла в том, что, если есть два изображения (это, по сути, 10-мегапиксельные JPEG-файлы), они имеют размер 52 байта и 0.
Может ли кто-нибудь взглянуть наэто и проверь, я не схожу с ума в моей интерпретации этого, или кто-нибудь знает, что должно быть здесь?
Извините, я знаю, что это немного сложно, но я действительно не могу понять, где это идет не так.