И про EXIF
Вот есть такая компания, Панасоник. Делает цифровые камеры, в числе прочего.
В этих цифровых камерах есть RAW. И есть, конечно же, JPEG.
В этих RAW тоже есть JPEG, внутри.
В этих JPEG, и в отдельных и в тех которые внутри RAW, есть EXIF. А внутри EXIF - MakerNotes, панасонико-специфичные.
Теперь следите за руками:
- Порядок байт в EXIF (Intel/Motorola, II/MM) задан там внутри, стандартным образом.
- В тех файлах, которые я держу вот в руках сейчас, он РАЗНЫЙ для EXIF внутри JPEG внутри RAW и для просто EXIF внутри (отдельно лежащего) JPEG. У EXIF-внутриJPEG-внутриRAW - II и для самого RAW и для этого EXIF - II. У EXIF-внутриОтдельногоJpeg - MM.
- Порядок байт в MakerNotes (такая же TIFF-подобная структура внутри RAW) - нигде не задается.
- Этот порядок в обоих случаях - II
Вот как элегантно с этим работает EXIFTool:
my $num = Get16u(\$buff, $dirStart); # get entry count
ToggleByteOrder() if ($num>>8) > ($num&0xff); # set byte order
В смысле "если в числе записей считалось слишком уж дохрена, значит порядок байт перепутан". Аплодирую.
Пошел программировать аналогичную херню.
P.S. Примерно так в этом месте устроено ВСЕ. Панасоник не исключение какое-то, просто под руку попал и возбудил на написание этого текста.
Comments
Если посадить 10 000 обезьян
Если посадить 10 000 обезьян за компьютеры...
Разные группы, отвечающие за разные части ПО камеры?
Ну скорее всего, да. Сначала
Ну скорее всего, да. Сначала делали мыльницы, если я правильно помню. Потом стали делать RAW. Код для JPEG-ов взяли от мыльниц, а с RAW не прокатило, пришлось делать еще раз.
Пусть хоть такое опубликуют..
Пусть хоть такое опубликуют... Пора бы уже заметить, что за деньги их говнософт никому не нужен.
Я вот не понял контекста. Кто
Я вот не понял контекста. Кто опубликует, что опубликует?
формат этого безобразия
формат этого безобразия
Дело же не в формате как
Дело же не в формате как таковом. Ну вот для панасоника формат известен (с поправкой, как видим).
Проблема глубже, она в отсутствии внятных стандартов на сколько-нибудь интересные вещи. Ну вот на запись искажений оптики (дисторсия, виньетирование, аберрации). Понятно, у вендоров будут какие-то коэффициенты к какой-то своей формуле. Но никаких попыток стандартизации этого - не делается.