Использование jpegtran для вращения прогрессивных jpegs: неверный параметр SOS для последовательного jpeg - PullRequest
0 голосов
/ 03 декабря 2018

Мое приложение пытается вращать изображения на основе данных exif.

Я продолжаю получать запросы о jpegtran с жалобами на «недопустимый параметр SOS для последовательного jpeg» и операцией прерывания jhead.Видимо, это даже не фатальное предупреждение, и многие форумы дают инструкции о том, как его игнорировать?

Неверные параметры SOS для последовательного JPEG

Есть идеи о том, как получитьjpegtran полностью игнорировать это предупреждение и обрабатывать изображения в любом случае?У меня есть проблема с образцами изображений здесь https://github.com/savolai/JPEG-Autorotate/issues/1

Я уже думал сначала преобразовать изображение в непрогрессивное с использованием jpegtran, но он даже потом жалуется и отказывается это делать.. \ jpegtran.exe. \ testimages \ invalid-sos-parameters -gressive-jpeg \ 20180516_14530 8.jpg>. \ testimages \ invalid-sos-parameters -gressive-jpeg \ nonprog.jpg

Кто-нибудь знаетлюбые другие двоичные файлы или способы заставить jpegtran.exe игнорировать ошибку?Или вы знаете, что mozjpeg jpegtran более слаб в этом?

https://github.com/mozilla/mozjpeg/blob/master/BUILDING.md

1 Ответ

0 голосов
/ 07 декабря 2018

Я подозреваю, что источником проблемы является то, что поля спектрального выбора в маркере SOS установлены на ноль.Эти поля не имеют смысла в последовательном JPEG, но стандарт говорит, что значения должны быть установлены в 0 и 63. Некоторые ссылки JPEG, которые можно увидеть в Интернете, говорят, что эти значения игнорируются.Вероятно, некоторые кодировщики не устанавливают их.

Возможно, вы захотите запустить программу дампинга JPEG для ваших изображений, чтобы увидеть, установлены ли значения спектрального выбора на ноль и 63. Если это не так, вы можете написать относительнопростая программа-фильтр, которая копирует поток JPEG при изменении значений спектрального выбора.

Я ожидаю, что исходный код JPEGTRAN находится в сети.Если я прав, что он делает эту ненужную проверку, вы можете создать свою собственную версию с этим комментарием.

...