2013-12-07 2 views
2

в коде Raspberry-Pi, есть драйвер кодека s5p-jpeg.Где я могу найти пример использования драйвера кодека v4l2

drivers/media/platform/s5p-jpeg/jpeg-core.c 

Может кто-нибудь, пожалуйста, скажите, где я могу найти пример того, как его использовать? Или любой другой драйвер кодека v4l2?

У меня есть Google для поиска, но я не могу найти пример, который использует драйвер кодека v4l2.

+0

Вопросы просят нас, чтобы рекомендовать или найти инструмент, библиотеку или любимый вне площадки ресурса является вне темы для стека Переполнение, поскольку они имеют тенденцию привлекать упрямые ответы и спам. Вместо этого опишите проблему и то, что было сделано до сих пор, чтобы ее решить. –

+0

Что вы хотите усвоить? что вы пробовали? –

+0

Я пытаюсь узнать, как использовать драйвер кодека v4l2. Как передать входное изображение и как получить выходное изображение? – michael

ответ

2

(добавив еще один ответ, так как это совершенно разные :-))

«кодек» API А в V4L2 спецификации, относится к аппаратным кодеками. такой кодек является устройством, которое имеет следующие характеристики:

  • аппаратный кодек показывает, как /dev/videoX устройство

  • это видео вход, где вы можете приложение уровня пользователя отправить видео -stream - например содержащие видеофрагменты с кодировкой JPEG, - поэтому он имеет функцию V4L2_CAP_VIDEO_OUTPUT и

  • У него есть видеовыход, в котором вы можете использовать приложение для чтения в реальном времени, например, видеопоток. содержащий несжатые кадры - от, поэтому он также имеет возможность V4L2_CAP_VIDEO_CAPTURE.

Есть множество приложений, которые могут писать видео в v4l2 OUTPUT устройства, вот некоторые из них, что я знаю:

afaik, у этих приложений нет специального кода для работы с «устройствами кодека v4l2», но они могут записывать/читать с устройств v4l2, что все, что вам нужно.

Также проверьте v4l-utils.git: Посмотрите в утилитах/v4l2-CTL/v4l2-CTL-streaming.cpp

1

v4l2 очень либеральна, когда дело доходит до форматов: например. устройства захвата могут поставлять кадры практически в любом формате.

Так что, если вы пишете инструмент пользовательской земли (приложение, библиотека, ..., в отличие от драйвера ядра), , хотя и не играйте с кодеками (если можно его избежать). Представьте каждое приложение в мире, который хочет читать v4l2-потоки, имеющие добавить код для декодирования кадров в SQ905C или MJPEG или этажерку кодека (каждое приложение, добавив свой собственный набор реализации багги)

Вместо, умные люди создала библиотеку, которая будет распаковывать кадры, доставленные вашим устройством захвата, и предоставлять эти кадры стандартным образом: libv4l2.

Кстати, если вы настаиваете на написании собственного кода, то libv4l2 - хорошая ссылочная реализация.

О, и если вы подумывали о том, чтобы загрузить модуль в кодировку/декодирование в пространстве ядра (например, , у вас есть веб-камера «foo», которая поставляет изображения в формате «XYZ», но вы хотите, чтобы она доставляла изображения в формат «ABC» с помощью добавления модуля ядра), тогда вам не повезло.

Linus T. был совершенно ясен [отсутствует ссылка], что код преобразования кодека не должен запускаться в пространстве ядра.

+0

Я пишу пользовательский инструмент для земли, и я хочу узнать, как его использовать. Я искал его, пока я не могу найти ничего, что использует кодек v4l2. Весь пример, который я нахожу, предназначен для захвата видео. – michael

Смежные вопросы