комментарий для WebP

 

Давно собирался создать блок EXIF для комментария к изображению WebP, но никак не мог придумать, как удобнее приготовить данные. Но недавно нашел этот способ - создал комментарий для файла JPG. Вот что получилось:

Только я никак не могу понять - почему созданный комментарий использует порядок обмена байтов? У мелкомягких все не как у людей.

Файлы лежат тут. Нужно запустить writeexif.exe, ввести текст, получится my_exif.exif.

Нужно исправить пакетный файл:

webpmux.exe -strip exif john.webp -o john_.webp

webpmux -set exif my_exif.exif john_.webp -o john_e.webp

pause

Первая строка удалит чанк EXIF из существующего файла. Вторая строка допишет чанк к файлу john.webp и создаст новое изображение john_e.webp. Как видно, JPEG view показывает информацию изображения после нажатия F2.


На этом исследования не кончились. Я стал проверять блоки EXIF с помощью утилки webpmuxx.exe и сравнил результат вывода информации с работой написанной мной программы.

На одном файле получился разный результат размера блоков. Стал разбираться и запутался еще больше - про чанки EXIF пишут разное, исходники libwebp запутали еще больше. Вчера вечером разобрался с проблемой - заголовок WebP хранится в формате RIFF у которого блоки нечетной длины дополняются байтами для того, чтобы размер стал четным.Исправил код, теперь информация выглядит корректно, если не считать, что к размеру данных добавляется 8 байт : блок FourCC и слово длины блока.

 

Комментарии