Как написать и перенести компонент программного декодера видео OpenMAX в медиа-плеер stagefright?

Я прошел через эти ссылки и несколько других ссылок,

  1. Хронос
  2. OpenMax_Development_Guide
  3. https://www.khronos.org/news/press/bellagio_openmax_il_open_source_implementation_enables_developers_to_create

но все они просто объясняют, какова вызывающая последовательность, изображение блок-схемы и т. д., но не объясняют, как написать и построить компонент openmax и подключить его к Android. Даже ссылка для сборки и переноса Android сложна, но это не объясняет, что вам понадобится весь исходный код для написания и сборки плагина openmax или часть исходного кода Android, или без исходного кода Android вы можете его создать.

У меня есть плата Firefly K3288 с android OS Kitkat 4.4 который поддерживает аппаратный декодер HEVC, но я хочу добавить программный декодер HEVC.

Если кто-нибудь знает, как написать и собрать компонент Openmax Hevc Video Decoder и подключить его к Android, пожалуйста, дайте несколько указаний.

1 ответ

Для 1-го вопроса о том, как разработать OMX компонент, вам придется написать новый компонент либо с нуля, либо с использованием шаблона существующих функций. Пожалуйста, обратитесь к OMXIL спецификация, в частности, глава 2.

Я бы порекомендовал вам написать компонент на основе Bellagio реализация, которую можно найти здесь. Пожалуйста, обратитесь к omx_base_video_port.c как это важно для развития вашего декодера.

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

Примечание: обратите внимание, что OMX Оболочка более ориентирована на управление состоянием, контекстным управлением и управлением буфером. Взаимодействие с вашим декодером, будь то HW или же SW зависит от архитектуры вашего драйвера, который вы должны выбрать. Как только эта архитектура драйвера будет доработана, OMX должно быть довольно легко.

Для 2-го вопроса о том, как интегрировать hevc декодер, пожалуйста, обратитесь к этому вопросу, который имеет соответствующие детали.

Другие вопросы по тегам