Как написать и перенести компонент программного декодера видео OpenMAX в медиа-плеер stagefright?
Я прошел через эти ссылки и несколько других ссылок,
- Хронос
- OpenMax_Development_Guide
- 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
декодер, пожалуйста, обратитесь к этому вопросу, который имеет соответствующие детали.