В начале года, Bootlin – ранее Free Electrons – запустил кампанию crowdfunding для продвижения драйвера Allwinner VPU с открытым исходным кодом для mainline Linux. Драйверы VPU (Video Processing Unit) используются для кодирования и декодирования видео. Компания была успешной, и удалось собрать достаточное количество денег от небольших спонсор, а также нескольких компаний, производящих платы для разработки Allwinner, включая Olimex, Pine64, Libre Computer, FriendlyELEC и Xunlong Software (Orange Pi) .
Собранной суммы (31 612 евро) было достаточно для того, чтобы назначить двух инженеров для работы по основным направлениям, а также для поддержки новых процессоров Allwinner H3, H5 и A64 и декодирования видео H. 265. Хорошей новостью является то, что в настоящее время компания выпустила первый выпуск для проработки основных целей.
Драйвер VPU с открытым исходным кодом на платах A33-OLinuXino и ALL-H3-CC
На фотографии, представленной выше, показана демонстрация Kodi, работающая с bootlin драйвером Cedrus VPU с открытым исходным кодом поверх ядра Linux 4.18-rc. Поддерживаются как MPEG2, так и H264, и они немного отстают от одной из их главных целей, таких как поддержка Allwinner H3. Их работа была основана на проекте libvdpau-sunxi и других работах сообщества linux-sunxi.
Объявление Bootlin более подробно, но вот краткий отчет о основных достижениях:
- Поддержка старых SoCs Allwinner: A10, A13, A20, A33, R8 и R16– Полностью удовлетворена, плюс поддержка H3 в качестве бонуса (сто было запланировано как цель на перспективу)
- Готовое к выпуску MPEG2 декодирование – полностью удовлетворено улучшение как кода ядра, так и кода пользователя. MPEG2-кодек уже частично поддерживается.
- Реализация декодирования видео H264– Полностью соответствует, включая высокопрофильную поддержку H264. Возможно, потребуется дополнительная отладка.
- Изменение драйвера дисплея Allwinner (DRM) для прямого отображения декодированных кадров вместо преобразования и копирования этих кадров. Полностью выполнено, а также фиксированное аппаратное масштабирование и набор исправлений, внесенных в восходящий поток. Bootlin работает над драйверами дисплея A20 и A33, а сообщество – на H3.
- Библиотека пользовательского пространства для интеграции в видеоплееры с открытым исходным кодом. Частично встречаются через библиотеки lib-v4l2-request для пользовательского пространства, которые могут использоваться всеми видеопроигрывателями, совместимыми с libva. Это теория, и на практике она работает только с Kodi, и для VLC и GStreamer требуется больше работы.
- Внедрение изменений в официальное ядро Linux. Почти готово. Они прошли пять итераций драйвера ядра Sunxi-Cedrus Linux , но их еще предстоит объединить. Должно быть это лишь вопрос времени.
Достаточно скоро вы сможете получить ядро mainline и библиотеки пользовательского пространства с открытым исходным кодом для работы с видео в формате MPEG2 и H.264 на процессорах Allwinner. Если вы хотите попробовать драйвер с открытым исходным кодом, Bootlin подготовил rootfs LibreELEC с драйвером Sunxi-Cedrus, который работает на платах Allwinner A20, A33 и H3.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.