Страниц: [1]
  Печать  
Автор Тема: Новая статья: "Использование YUV и RGB видео оверлеев в Photon"  (Прочитано 12142 раз)
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« : Января 13, 2005, 11:13:16 am »

В статье описаны различные форматы YUV и RGB оверлеев и особенности их использования под QNX 6.3.0.

Текст статьи в PDF формате находится тут: http://mike.qnx.org.ru/articles/aboutyuv.pdf (размер 950Kb).
Примеры к статье в tar.gz архиве находятся тут: http://mike.qnx.org.ru/articles/testoverlays.tar.gz (размер 100Kb)

5-й пример немного недописан для некоторых YUV форматов и 6-го примера пока нет. К понедельнику я думаю выложу обновленную версию примеров.

Если у кого есть замечания к статье - пишите, я исправлю
Записан

Landy
Jr. Member
**
Offline Offline

Сообщений: 65


Просмотр профиля WWW
« Ответ #1 : Января 13, 2005, 12:01:01 pm »

Спасибо!
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #2 : Января 14, 2005, 08:33:12 am »

lestat
5-й пример немного недописан для некоторых YUV форматов и 6-го примера пока нет

5-й дописан, 6-й написан и выложен на старом месте:
http://mike.qnx.org.ru/articles/testoverlays.tar.gz
Записан

lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #3 : Января 15, 2005, 04:58:23 pm »

Обновил статью и сам PDF документ до версии 1.1

Что добавилось:

1) Добавил прямые формулы преобразования YUV<->RGB (kRGB255/kYUV255) для тех кому лень перемножать матрицы
2) Мелкие дописки по тексту (сути не меняют).
3) Добавил NB по devg-radeon + double buffering в свете свеженайденной новой ошибки:

N.B. Драйвер devg-radeon и тут традиционно имеет проблемы, связанные с двойным буферированием. При размере исходного изображения более 128x128 пикселей, количество памяти, выделяемое под Y плоскость меньше необходимой и очень часто ее размер достаточен только для объекта размером Xx128, т.е. больше 128 строк в изображении получить проблематично. Но при размере исходного изображения 640x480 драйвер несколько раз отработал распределение памяти верно. Очень многое зависит от того, было ли это первое распределение памяти или повторное (например, при увеличении или уменьшении исходного изображения).

Enjoy !

P.S. Статья стала 1050Kb, примеры 107Kb.
Записан

Max_Fly
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« Ответ #4 : Января 23, 2005, 05:19:10 pm »

глупый вопрос - как фотон работает с изображениями "градация серого?" изыскания моих коллег говорят о том что для отображения надо всё равно разложить на цветовые составляющие - но ведь это же глупо! как минимум. На самом деле проблема куда серьёзнее - у меня есть изображение "градации серого" и я очень хочу это изображение вывести в область экрана - но само окно цветное... подскажите куда пойти куда податься?
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #5 : Января 24, 2005, 08:32:44 am »

Max_Fly
я очень хочу это изображение вывести в область экрана - но само окно цветное... подскажите куда пойти куда податься?

1) Все значения R,G,B заполнить одним и тем же числом - градацией серого.
2) Завести 8-ми битовое изображение и завести ему черно-белую палитру.

Исходя из моих тестов на SDL 2-й способ быстрее 1-го только, если в первом 24/32 бита, если использовать 15 и 16 битовые модели, то первый способ быстрее. На старых видеоконтроллерах второй способ будет быстрее всегда, ибо в 1-м способе происходит копирование большего количества данных, а видео-память раньше была вещь тормознутая.
Записан

Landy
Jr. Member
**
Offline Offline

Сообщений: 65


Просмотр профиля WWW
« Ответ #6 : Февраля 17, 2005, 10:24:53 pm »

Кстати - примеры в 6.3 на радеоне работают,
а на I810 чипсете -на экране ничего не рисуется.
Хотя вроде как чтото выводит(судя по сообщениям в терминале)
только вот куда?
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #7 : Февраля 18, 2005, 08:48:34 am »

Landy
Кстати - примеры в 6.3 на радеоне работают,

Да, я ставил workaround'ы для него. Если их убрать - вылет io-graphics.
Landy
а на I810 чипсете -на экране ничего не рисуется.

А вот это уже интересно. А SDL тоже ничего не рисует в оверлеях ?
Записан

Landy
Jr. Member
**
Offline Offline

Сообщений: 65


Просмотр профиля WWW
« Ответ #8 : Февраля 18, 2005, 09:55:28 am »

Так - насчет чипсета я ошибся. Это 815
VendorID 8086h
DeviceID 1132h, 82815

В 6.3 с этим чипом глюки были, к примеру, если открыть окно help  и делать прокрутку - то прокручивалась только часть окна. Я поставил патченый драйвер(на  www.openqnx.com  кажется ссылку нашел).
SDL  тоже ничего не выводит. У меня есть приложение, которое на 6.2.1  (на той же самой машине) во всяком случае хоть регион отрисовывает, а в 6.3 то же самое перекомпиленое ничего не рисует. Хотя пишет что оверлей создан
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #9 : Февраля 18, 2005, 11:39:33 am »

landy
Хотя пишет что оверлей создан

Мда ... сейчас отпишу, но что-то мне кажется, что это дохлый номер ...
Записан

Страниц: [1]
  Печать  
 
Перейти в: