Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюки в DirectShow [D6, Win2k]


Noname_ ©   (2002-12-03 10:20:00) 

Когда вызываю метод ISampleGrabber.GetCurrentBuffer(), получаю битмап перевернутым и с покареженным цветом. Кто-нибудь сталкивался с таким и как выкрутиться?


Noname_   (2002-12-03 16:20:00) [1]

А как изменить настройки на пине? У меня сейчас установлено через ISampleGrabber.SetConnectedMediaType(): MediaType.majortype:=MEDIATYPE_Video;
MediaType.subtype:=MEDIASUBTYPE_UYVY;
При этом изображение в окне вытянуто в 2 раза, а битмап покарежен. Если поменять MediaType.subtype:=MEDIASUBTYPE_RGB24; то в окне изображение также вытянуто плюс появляются артефакты(потому что реальное пространство цвета - UYVY), но битмап нормальный(вытянутый с артефактами).


pasha676   (2002-12-03 14:56:00) [2]

Ну установи медиа тайп необходимый. Кстати возможно настройки надо (или можно) изменить не на грабере, а на пине который ведет к граберу.


Noname_   (2002-12-03 14:46:00) [3]

Но еще один глюк. Когда я получаю свойства изображения при помощи метода ISampleGrabber.GetConnectedMediaType(), высота изображения выдается завышенной в два раза, т.е. при истинном размере изображения 320х240 выдает 320х480. И окно ActiveMovie, в котором отображается выход с фильтра захвата, тоже имеет размер 320х480 и изображение в нем растянуто в два раза по вертикали. Если я вызову диспетчер задач через Ctrl-Alt-Del, то изображение в окне становится нормальным, просто нижние 240 пикселов из 480 - черные. Что за бред?


Noname_   (2002-12-03 14:05:00) [4]

2pasha676:
Все сработало! Спасибо!


pasha676   (2002-12-03 11:47:00) [5]

У меня была такая фигня если некоректно построить граф фильтров.
Надо подобрать правильный фильтр который идет за ISampleGrabber. Тогда все становиться нормальным. Побалуйся в микрософтовском редакторе, подбери фильтр. Еще возможно не правильно подобраны настройки типа цветов в SampleGrabber (надо не RGB, а какой нибудь YUY например).


Наверх

Титульная страница Поиск, карта сайта Написать письмо