почему я получаю это предупреждение, когда пытаюсь добавить xmp в jpeg с помощью libjpeg

Я пытаюсь преобразовать код, который записывает exif в изображение jpeg. Исходный код был таким:

jpeg_write_marker(&cinfo, 0xe1, (unsigned char *)&ex, exifsize);

где ex - это блок памяти, в который были записаны данные exif, и exifsize, если размер этого блока.

Чтобы добавить к нему xmp, я создал образец блока xmp (используя образцы, которые я нашел здесь: (https://developers.google.com/photo-sphere/metadata/?hl=en) и попробуйте добавить его в файл jpeg, используя этот код:

jpeg_write_marker(&cinfo, 0xe1, xmpBlock.getData(), xmpBlock.getdataSize());

код работает, и я могу видеть теги xmp и exif с помощью средства просмотра exif (http://regex.info/exif.cgi), но сайт также дает мне предупреждение:

 ExifTool
 Warning    ExifIFD pointer references previous ExifIFD directory

в чем смысл этого предупреждения и как его исправить?


person mans    schedule 26.08.2015    source источник


Ответы (1)


Предупреждение означает, что данные exif записаны неправильно и не соответствуют спецификации exif. Попробуйте выполнить обратное отслеживание, чтобы увидеть, где данные были повреждены или даже если блок exif правильно создается в памяти.

person StarGeek    schedule 27.08.2015