|
|
|||||||||||||||||||||||||||||
|
Adobe испытывает затруднения с аппаратным ускорением Flash в LinuxИсточник: nvworld nvworld
Сотрудник компании в своем блоге поделился проблемами реализации аппаратного ускорения видеодекодирования Flash-плагина в Linux. Mike Melanson, ведущий инженер Adobe по поддержке технологии Flash в операционных системах Unix/Linux, опубликовал в своем блоге серию сообщений о проблемах, с которыми компания столкнулась при реализации аппаратного ускорения декодирования и воспроизведения видео в Linux. Первой проблемой является разнообразие и различный уровень реализации API работы с аппаратными ускорителями видеодекодирования в Linux, представленное на специальной иллюстрации: Разработчикам приходится иметь дело по меньшей мере с тремя проприетарными API, каждый из которых поддерживает лишь оборудование одного вендора (AMD для XvBA, NVIDIA для VDPAU и Broadcom для CrystalHD), причем, например, для XvBA спецификации в открытом доступе отсутствуют. Заявленные же как "универсальные" API вроде VA на самом деле являются лишь программными прослойками ко всё тем же VDPAU и XvBA. Мало того, определенное распространение получило использование оборудования напрямую из программ или через API универсальных вычислений, такие как CUDA и OpenCL. Второй проблемой является отсутствие у имеющихся API ускорения декодирования и соответствующих драйверов оборудования функций по возврату полностью декодированных кадров приложению. В реализациях NVIDIA и AMD декодированный поток сразу уходит в устройство отображения, что может быть приемлемо для "чистых" проигрывателей мультимедиа, но неприемлемо для Flash, которому нужно объединять видео и прочие элементы веб-страницы в единое изображение. Проблема наглядно показана на иллюстрациях:
При этом в среде Windows возможность возврата декодированного видеопотока приложению реализована. На иллюстрациях видна и третья проблема ускорения видео Flash в Linux - необходимость конверсии цветового пространства YUV в RGB. В частности, именно поэтому невозможно использовать расширение Х-интерфейса Xv для вывода и масштабирования видео. Два года назад Adobe предпринимала попытку задействовать OpenGL для данных операций, но столкнулась с низким качеством реализации OpenGL во многих открытых драйверах видеокарт и невозможностью одновременного использования OpenGL для видео и набиравших популярность эффектов Compiz. В результате, если на платформе Windows бета-версия Adobe Flash 10.1 с поддержкой аппаратного ускорения декодирования и воспроизведения видео в формате H.264 доступна уже несколько месяцев, Linux версия Flash-плагина по-прежнему использует лишь программное воспроизведение. Но Mike Melanson сообщает, что так или иначе работа над реализацией аппаратного ускорения Flash в Linux продолжается, и что Adobe рассчитывает на встречные движения разработчиков драйверов по реализации необходимых функций. Ссылки по теме
|
|