Релиз X.Org Server 1.10. Компания AMD открыла код, связанный с API XvBA
Анонсирован релиз X.Org Server 1.10 в котором внесено более 700 изменений, главным образом связанных с исправлением ошибок и мелкими правками. Значительных улучшений в новой версии почти нет. К сожалению в последний момент из X.Org Server 1.10 был удален код RandR 1.4, в котором была обеспечена поддержка привязки пиксельных карт (pixmap) к отдельным CRTC-видеоконтроллерам. Также в состав нового релиза не вошел X Input 2.1, в котором планировалось реализовать программный интерфейс для работы с устройствами ввода, поддерживающими одновременные касания (мультитач).Из улучшений можно отметить интеграцию кода новой улучшенной подсистемы синхронизации X Synchronization Fences, разработанной компанией NVIDIA и позволяющей организовать синхронизацию формирования вывода на базе протокола X11 с клиентами, поддерживающими прямой рендеринг (DRI), такими как OpenGL. В частности, X Synchronization Fences можно использовать для синхронизации обновлений экрана в базирующихся на OpenGL композитных менеджерах со стандартным рендерингом X-сервера (сейчас в композитных менеджерах для совмещения X11-вывода с итоговым изображением приходится использовать двойную буферизацию).
Дополнительно можно отметить публикацию компанией AMD исходных текстов SDK и набора утилит для использования в Linux-приложениях нового API XvBA (X-Video Bitstream Acceleration) для задействования функций акселерации кодирования и декодирования видео. В состав пакета входят необходимые заголовочные файлы, документация (ранее API был недокументирован), сопутствующие пользовательские библиотеки (libxvbat) и набор примеров. Также подготовлено несколько полезных утилит, таких как xvbainfo для оценки степени поддержки XvBA, xvba для трассировки вызова XvBA API и xvbaplay с реализацией простого медиа-плеера.
Для акселерации декодирования видео в XvBA используется UVD2-движок современных GPU AMD/ATI. XvBA дополнят собой два других API для доступа к функциям декодирования видео - VDPAU и VA-API, продвигаемых компаниями NVIDIA и Intel. Примечательно, что API XvBA был создан уже достаточно давно, но не выпускался наружу - для пользователей в драйвере Catalyst был доступен VA-API-фродтэнд, работающий поверх XvBA.
К сожалению, непосредственно спецификации движка UVD2 остаются закрытыми и их публикации мешают требования DRM (Digital Rights Management), что затрудняет обеспечение реализации поддержки XvBA в открытых видеодрайверах. Тем не менее при работе пропретарного драйвера Catalyst, опубликованный SDK позволяет использовать в различных приложениях функции XvBA для прямого обращения к движку UVD2, минуя промежуточную прослойку VA-API. Наличие VA-API-фродтэнда ставит под сомнение целесообразность добавление поддержки XvBA в пользовательские приложения, поэтому можно предположить, что в скором времени поддержка VA-API в Catalyst будет прекращена.
© OpenNet