Аппаратная распаковка JPEG / Win32 - PullRequest
2 голосов
/ 22 января 2011

Я знаю, что большинство графического оборудования использует аппаратную декомпрессию MPEG.Я хотел бы использовать аппаратное обеспечение для распаковки изображений JPEG.Кто-нибудь знает книгу или ссылку на какую-либо информацию об использовании этой функции, или может рассказать мне что-нибудь об этом?

Кроме того, я готов преобразовать изображения в «видео», если я могу получить аппаратную распаковкукаждого кадра.Будет ли это более жизнеспособным?

Ответы [ 5 ]

2 голосов
/ 29 июня 2011

Если вы ищете скорость и легкость, изучите использование jpegturbo. Это развитая библиотека, которая, я считаю, является полной заменой стандартного libjpeg. Сжатие 10-мегапиксельных изображений снизилось с 2 до ~ 0,6 секунды на процессоре Atom с частотой 2 ГГц.

2 голосов
/ 22 января 2011

Распаковка для jpeg с использованием специализированного аппаратного обеспечения - это то, что доступно на уровне драйвера, поэтому это не так просто сделать из обычного пользовательского пространства.Было бы проще попробовать использовать общую аппаратную обработку (например, CUDA ).

Однако, если вам нужен только фильм, где кадры идут из jpegs, вам следует проверить ffmpeg , потому что это инструмент, который может сделать много вещей для видео, включая это или наоборот (например, получение всех кадров видео в виде изображений).

Например, чтобы сделатьфильм с использованием списка файлов JPEG (picture1.jpg, picture2.jpg, ...)

ffmpeg -i picture_%d.jpg result.wmv

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

1 голос
/ 22 января 2011

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

Другой вариант программного обеспечения - использовать Intel Integrated Performance Primitives . Они оптимизированы для использования инструкций SSE на процессорах Intel.

Как отмечает @ 6502, если вы конвертируете свои изображения JPEG в видеоформат (например, h.264), существует много способов использовать аппаратное ускоренное воспроизведение (например, DirectShow под Windows). Вы можете сделать это преобразование вручную с большинством программ для редактирования видео.

0 голосов
/ 23 января 2011

Возможно, вы захотите взглянуть на OpenMAX , хотя я не думаю, что он еще широко распространен.

0 голосов
/ 22 января 2011

Я не согласен с тем, что "большинство графического оборудования использует аппаратную декомпрессию MPEG", по крайней мере, в ПК или аналогичной среде рабочего стола.

В основном задания сжатия, декомпрессии выполняются в главном процессоре (ЦП),Графические аппаратные средства в основном выполняют постобработку распакованных изображений.

Аппаратные средства MPEG для декомпрессии, по-моему, исчезли не менее 10 лет назад.

...