Определение возможностей видео



Существует несколько возможных путей отображения видео под X11. Что именно будет действительно работать, во многом зависит от аппаратного обеспечения. Каждый из описанных методов будет работать с различным качеством на разном аппаратном обеспечении. Во-вторых, воспроизведение видео в X11, это тема, которой уделяется достаточно много внимания последнее время, и с каждой новой версией Xorg или XFree86 могут наблюдаться значительные улучшения.

Список наиболее часто используемых видеоинтерфейсов:

1. X11: обычный вывод X11 с использованием разделяемой памяти.

2. XVideo: расширение интерфейса X11, которое поддерживает видео в любом объекте X11.

3. SDL: the Simple Directmedia Layer.

4. DGA: the Direct Graphics Access — прямой доступ для графики.

5. SVGAlib: низкоуровневый доступ к графике на консоли.

XVideo

Xorg и XFree86 4.X включают в себя расширение, называющееся XVideo (также известное как Xvideo, Xv и xv), которое позволяет отображать видео прямо на объектах при помощи специального ускорения. Это расширение предоставляет очень хорошее качество воспроизведения даже на low-end машинах.

Для того чтобы проверить, работает ли это расширение, используйте команду xvinfo:

% xvinfo

XVideo поддерживается вашей видеокартой, если результат выглядит приблизительно так:

X-Video Extension version 2.2

screen #0

Adaptor #0: "Savage Streams Engine"

number of ports: 1

port base: 43

operations supported: PutImage

supported visuals:

depth 16, visualID 0x22

depth 16, visualID 0x23

number of attributes: 5

"XV_COLORKEY" (range 0 to 16777215)

         client settable attribute

         client gettable attribute (current value is 2110)

"XV_BRIGHTNESS" (range -128 to 127)

         client settable attribute

         client gettable attribute (current value is 0)

"XV_CONTRAST" (range 0 to 255)

         client settable attribute

         client gettable attribute (current value is 128)

"XV_SATURATION" (range 0 to 255)

         client settable attribute

         client gettable attribute (current value is 128)

"XV_HUE" (range -180 to 180)

         client settable attribute

         client gettable attribute (current value is 0)

maximum XvImage size: 1024 x 1024

Number of image formats: 7

id: 0x32595559 (YUY2)

  guid: 59555932-0000-0010-8000-00aa00389b71

   bits per pixel: 16

   number of planes: 1

   type: YUV (packed)

id: 0x32315659 (YV12)

   guid: 59563132-0000-0010-8000-00aa00389b71

   bits per pixel: 12

   number of planes: 3

   type: YUV (planar)

id: 0x30323449 (I420)

   guid: 49343230-0000-0010-8000-00aa00389b71

   bits per pixel: 12

   number of planes: 3

   type: YUV (planar)

id: 0x36315652 (RV16)

   guid: 52563135-0000-0000-0000-000000000000

   bits per pixel: 16

   number of planes: 1

   type: RGB (packed)

   depth: 0

   red, green, blue masks: 0x1f, 0x3e0, 0x7c00

id: 0x35315652 (RV15)

   guid: 52563136-0000-0000-0000-000000000000

   bits per pixel: 16

   number of planes: 1

   type: RGB (packed)

   depth: 0

   red, green, blue masks: 0x1f, 0x7e0, 0xf800

id: 0x31313259 (Y211)

   guid: 59323131-0000-0010-8000-00aa00389b71

   bits per pixel: 6

   number of planes: 3

   type: YUV (packed)

id: 0x0

   guid: 00000000-0000-0000-0000-000000000000

   bits per pixel: 0

   number of planes: 0

   type: RGB (packed)

   depth: 1

   red, green, blue masks: 0x0, 0x0, 0x0

Следует заметить, что перечисленные форматы (YUV2, YUV12 и т.п.) не присутствуют в каждой реализации XVideo и их отсутствие может быть помехой для некоторых проигрывателей.

Если результат выглядит так:

X-Video Extension version 2.2

screen #0

no adaptors present

то, возможно, XVideo не поддерживается для вашей видеокарты.

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

Simple Directmedia Layer

SDL был задуман как уровень абстракции для разработки кросплатформенных приложений под Microsoft Windows, BeOS и UNIX, позволяя им эффективно использовать звук и графику. SDL предоставляет низкоуровневые абстракции для аппаратного обеспечения, и может быть более эффективным чем интерфейс X11.

SDL есть в Коллекции портов FreeBSD: devel/sdl12.

Прямой доступ для графики (DGA)

DGA это расширение X11, которое позволяет программам напрямую изменять кадровый буфер (framebuffer) без участия X-сервера. Поскольку DGA основывается на низкоуровневом доступе к памяти, программы, которые используют его должны исполняться от пользователя root.

Расширение DGA может быть протестировано при помощи dga(1). Когда dga запущена, она изменяет цвета на экране при каждом нажатии клавиш. Для того, чтобы выйти из неё, используйте q.


Дата добавления: 2018-10-26; просмотров: 149; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!