Jump to content

Расширение X-видео

(Перенаправлено с XVideo )
Расширение X-видео
Оригинальный автор(ы) Фонд X.Org
Стабильная версия
2.0 / 25 июля 1991 г .; 33 года назад ( 1991-07-25 )

Расширение X video , часто сокращенно XVideo или Xv , представляет собой механизм вывода видео для системы X Window . Протокол был разработан Дэвидом Карвером; спецификация версии 2 протокола была написана в июле 1991 года. [ 1 ] Сегодня он в основном используется для изменения размера видеоконтента в аппаратном обеспечении видеоконтроллера, чтобы увеличить данное видео или просмотреть его в полноэкранном режиме. Без XVideo X пришлось бы выполнять это масштабирование на основном процессоре. Это требует значительной вычислительной мощности, что может замедлить или ухудшить видеопоток; видеоконтроллеры специально разработаны для такого рода вычислений, поэтому могут выполнять их гораздо дешевле. Аналогичным образом, расширение X-video может заставить видеоконтроллер выполнять преобразования цветового пространства и изменять контрастность, яркость и оттенок отображаемого видеопотока.

Чтобы это сработало, должны совпасть три вещи:

Большинство современных видеоконтроллеров предоставляют функции, необходимые для XVideo; эта функция известна как аппаратное масштабирование и YUV- ускорение или иногда как аппаратное 2D-ускорение . Сервер отображения XFree86 X реализует XVideo начиная с версии 4.0.2. Чтобы проверить, поддерживает ли данный X-сервер отображения XVideo, можно использовать утилиту xdpyinfo. Чтобы проверить, предоставляет ли видеоконтроллер необходимые функции и реализует ли драйвер X-устройства XVideo для какой-либо из них, можно использовать команду xvinfo программа.

Программы воспроизведения видео, работающие в системе X Window, такие как MPlayer , MythTV или xine , обычно имеют возможность включить вывод XVideo. Очень желательно включить эту опцию, если системное видеооборудование графического процессора и драйверы устройств поддерживают XVideo, а более современные системы рендеринга, такие как OpenGL и VDPAU, недоступны — ускорение очень заметно даже на быстром процессоре .

Хотя сам протокол имеет функции чтения и записи видеопотоков с и на видеоадаптеры, на практике сегодня только функции XvPutImage и XvShmPutImage используются: клиентская программа неоднократно подготавливает изображения и передает их графическому оборудованию для масштабирования, преобразования и отображения.

Отображать

[ редактировать ]

После того как видео было масштабировано и подготовлено к отображению на видеокарте, его необходимо отобразить. На данном этапе существует несколько возможных способов отображения ускоренного видео. Поскольку полное ускорение означает, что за масштабирование, преобразование и отрисовку видео отвечает видеоконтроллер, используемый метод полностью зависит от того, на что отрисовывается видео.

Роль поддержки и композитинга оконного менеджера

[ редактировать ]

В X то, как в конечном итоге отрисовывается видео, во многом зависит от оконного менеджера X. используемого При правильно установленных драйверах и оборудовании графического процессора , таком как поддерживаемые Intel , ATI и nVidia наборы микросхем , некоторые оконные менеджеры , называемые композитными оконными менеджерами , позволяют отдельно обрабатывать окна, а затем отображать их (или компоновать). При этом все окна сначала визуализируются в отдельных выходных буферах в памяти, а затем объединяются для формирования полноценного графического интерфейса. Находясь в (видео) памяти, отдельные окна могут быть преобразованы отдельно, а ускоренное видео может быть добавлено на этом этапе с использованием фильтра текстур, прежде чем окно будет скомпоновано и отрисовано. XVideo также можно использовать для ускорения воспроизведения видео во время отрисовки окон с использованием объекта OpenGL Framebuffer или pbuffer.

Metacity , оконный менеджер X, использует композицию таким образом. При композитинге также можно использовать ускорения 3D-конвейеров, такие как GLX_EXT_texture_from_pixmap. Помимо прочего, этот процесс позволяет множеству видеовыходов использовать один и тот же экран, не мешая друг другу. Другие оконные менеджеры композитинга, такие как Compiz, также используют композитинг.

Однако в системе с ограниченной функцией ускорения OpenGL, в частности отсутствием объекта OpenGL Framebuffer или pbuffer , использование среды OpenGL, такой как Xgl, делает аппаратное ускорение xv невозможным.

Недостатки хромакейинга

[ редактировать ]

Если оконный менеджер напрямую не поддерживает композицию, сложнее определить, где следует визуализировать видеопоток, поскольку к тому моменту, когда его можно ускорить, выходные данные уже будут преобразованы в одно изображение. Единственный способ сделать это – обычно использовать аппаратное наложение постобработки с использованием хроматической манипуляции . После того, как все окна уже нарисованы, единственная доступная нам информация — это размер и положение холста видеоокна. Третья часть информации необходима для указания того, какие части полотна видеоокна скрыты другими окнами, а какие нет. Таким образом, видеоплеер рисует свой холст, используя сплошной цвет (скажем, зеленый), и этот цвет становится импровизированным третьим измерением. Когда все окна будут нарисованы, окна, закрывающие видеоплеер, будут блокировать зеленый цвет. Когда видеопоток добавляется на выход, видеокарта может просто сканировать координаты холста. Когда он встречает зеленый цвет, он знает, что нашел видимую часть видеоокна, и рисует только эти части видео. Этот же процесс был единственным доступным вариантом рендеринга видео с аппаратным ускорением под Microsoft Windows XP и более ранние версии, поскольку ее функции управления окнами были настолько глубоко встроены в операционную систему, что их ускорение было невозможно.

Если оконный менеджер не поддерживает композицию, постобработанные аппаратные наложения с использованием хроматической рирпроекции , как описано в предыдущем параграфе, могут сделать невозможным создание правильных снимков экрана приложений Xvideo. Это также может сделать невозможным просмотр такого типа воспроизведения на дополнительном дисплее, если на аппаратном уровне разрешено только одно наложение.

См. также

[ редактировать ]
[ редактировать ]

Примеры программ

[ редактировать ]
  • testxv.c : в большинстве установок он компилируется " gcc -o testxv testxv.c -L/usr/X11R6/lib -lX11 -lXext -lXv"
  • testxv2.cc : еще один пример на C++.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 51a9c9edbd70c079e808bca3d055cbbb__1709325840
URL1:https://arc.ask3.ru/arc/aa/51/bb/51a9c9edbd70c079e808bca3d055cbbb.html
Заголовок, (Title) документа по адресу, URL1:
X video extension - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)