Использование Intel IPP для распаковки JPEG без потерь - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь распаковать следующий поток битов JPEG без потерь (ITU 81):

Кажется, он был сгенерирован:

$ strings -n 20 intel_ipp_lossless.jpg 
4Intel(R) IPP JPEG encoder [5.3.497] - Aug 12 2008

Совместим с:

IPP JPEG поддерживает следующие режимы сжатия, определенные JPEG ISO / IEC 10918:

  1. Базовая линия, 8-битный процесс на основе DCT, энтропийное кодирование Хаффмана
  2. Расширенная базовая линия, 8- и 12-битный процесс на основе DCT, энтропийное кодирование Хаффмана
  3. Lossless, 1..16 бит, основанный на предсказаниях, энтропийное кодирование Хаффмана

Но мне трудно понять, как использовать IPP:

Когда я смотрю на примеры, я больше не могу найти ничего, связанного с декомпрессией JPEG.

Где / Как я могу использовать IPP JPEG декодер?


Обновление: похоже, что форум Intel ipp не очень активен.больше.

1 Ответ

0 голосов
/ 15 мая 2019

Оказывается, это плохо документировано, но некоторые функции (в частности, кодек JPEG) были удалены. Поэтому вам нужно использовать библиотеку Legacy IPP из:

С документацией по адресу:

Сложность в том, что образец tar-файла недоступен для нового пользователя, как упоминалось здесь:

Так что мне нужно написать собственный JPEG-декодер, основанный на следующем сообщении на форуме (ippiDecodeHuffmanOne_JPEG_1u16s_C1 ссылка):


Обновление: вместо этого следует искать образцы ipp, такие как w_ipp-samples_p_7.1.1.013.zip (или ipp-samples.8.0.0.005) в Интернете, чтобы иметь доступ к компрессору / декомпрессору JPEG.

...