LINUX.ORG.RU

Получение потокового видео от BTTV :( (+)


0

0

Привет, все знающий ALL !

Имеется: Драйвер bttv 5.x.x (старенький), Linux 2.2.20 Тюнер MIRO PCTV X Server 4

Задача: Получение потокового видео от драйвера bttv и вывод его на экран (например на RootWindow DefaultScreen).

Имеет место быть следующая проблема ;( Как известно, изображение от bttv можно получать в двух режимах: одиночный (работаем с одним фреймом изображения) и потоковый (одновременно обрабатываем два или более фрейма - bttv 5.x.x поддерживает максимум 2 фрейма). Вывод на экран осуществляю средствами Xlib (XImage), пробовал применять расширение XShm (XShmImage). При получении одиночных фреймов (работаем только с одним фреймом) все нормально, но медленно. При работе в _потоковом режиме_ (один фрейм заказываем, другой синхронизируем) изображение начинает "портиться" - все покрывается какими-то ЗЕЛЕНЫМИ точками. В зависимости от задержек между моментами получения фреймов количество испорченных фреймов может колебаться.

Можно было бы подумать, что это глюки драйвера bttv (версия все-таки просто доисторическая :) ), но есть целый ряд НО: 1) Xawtv (последний) прекрасно работает и с этой версией (хотя возможно он использует какие-нибудь еще X'овые extension'ы); 2) Казалось бы, истоки проблемы необходимо искать в механизме получения изображения от драйвера (он ничем не отличается от xawtv и avifile), но это как-то связано еще и с X'ами, т.к. изображение начинает более активно портиться, когда в область вывода изображения помещается какое-нибудь окно или курсор мыши.

Никто не подскажет где надо копать? (Можно попробовать более новый драйвер bttv, но задача в том, чтобы найти решение на данной версии драйвера).

Заранее огромное спасибо!

ADMY


чё я непонял ты своей прогой хочеш изображение на экран? Тогда зависит от того чем выводиш. Я юзал SDL оверлеи и всё пучком. А в bttv там какойто глюк был с буфером помоему, точно не помню, кажется смещение второго кадра строго одинаковое, а не как в соответствующей структуре указано. К томуже погляди в каком режиме (YVY, или чтото там) данные снимаются и в каком на екран выводятся, плоскости могут с промежутками в буфере сидеть. Щас всё забыл уже но ежли канкретный вопрос будет-попопаюсь в старой проге посмотрю.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.