JPEG SOS спецификация - PullRequest
       6

JPEG SOS спецификация

0 голосов
/ 30 августа 2018

Я анализирую JPG в байте java за байтом. Затем я пишу одно и то же изображение побайтово, и я столкнулся со странностью. Я пытался посмотреть спецификации, но не вижу ссылки.

В конце раздела SOS есть три байта, которые большинство источников говорят «пропустить». Но если я пишу 0x00,0x00,0x00, то java (fx) жалуется на недопустимое значение. Если я напишу 0x000x3f0x00, то жалоб нет. (трехбайтовая последовательность - это то, что было создано GIMP в исходном файле)

Я обнаружил косвенную ссылку на это в репозитории GoLang

//  - the bytes "\x00\x3f\x00". Section B.2.3 of the spec says that for
//    sequential DCTs, those bytes (8-bit Ss, 8-bit Se, 4-bit Ah, 4-bit Al)
//    should be 0x00, 0x3f, 0x00<<4 | 0x00.

У меня вопрос, должен ли я просто написать 0x3f в этой позиции, или значение зависит от чего-то еще?

1 Ответ

0 голосов
/ 31 августа 2018

При последовательном сканировании JPEG это значение не имеет значения. Стандарт говорит установить 63, но это ничего не говорит декодеру. Вы должны обработать все 64 коэффициента DCT при последовательном сканировании.

В режиме прогрессивной развертки это значение означает LOT.

...