Adobe испытывает затруднения с аппаратным ускорением Flash в Linux | автор: MOP3E | 7 февраля 2010
Категория: GNU/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 рассчитывает на встречные движения разработчиков драйверов по реализации необходимых функций.
источник

Прочитано 4377 раз и оставлено 166 комментариев.
В линухе удобно и просто реализовано аппаратное ускорение! А флэш в линухе НЕ НУЖЕН. (с)
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 рассчитывает на встречные движения разработчиков драйверов по реализации необходимых функций.
источник

ВНИМАНИЕ !
Возможно что-то уже неактуально. Обращайте внимание на даты !
Эта статья опубликована 7 февраля 2010-го года !
Прочитано 4377 раз и оставлено 166 комментариев.
#1.Linups_Troolvalds