Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.11;
Скачать: CL | DM;

Вниз

DirectShow   Найти похожие ветки 

 
miamy   (2001-11-04 15:40) [0]

Помогите, пожалуйста, в решении следующего вопроса:

Есть видеокарта ATI Rage 128 Fury Pro (Video In), с которой делаю видеозахват (используется DirectX 8.0). Вручную создаю связку фильтров
Video Capture->AVI Decompressor->Color Space Converter->Sample Grabber->AVI Compressor->AVI Mux->File Writer
(вручную потому, что если рендерить Capture Pin этой карты, потом не подключается Sample Grabber). Все работает, пишется и видеофильм, и отдельные кадры, НО только в виде 256 градаций черного, а мне нужно хотя бы 16 бит (используется глубина цвета монитора 16 или 32 бит).
Sample Grabber инициализирую так:

mt: TAM_Media_Type;
.........
FillChar(mt, sizeof(mt), 0);
mt.majortype:= MEDIATYPE_Video;
mt.formattype:= FORMAT_VideoInfo;
mt.subtype:= MEDIASUBTYPE_aRGB32; //если не использовать Color Space Converter, проходит MEDIASUBTYPE_RGB565
mt.bFixedSizeSamples:=true;
mt.bTemporalCompression:=false;
mt.lSampleSize:=0;
hr:=Grabber.SetMediaType(mt);

Пробовал добавить строки
pmt: PAM_MEDIA_TYPE;
..............
Builder.FindInterface( @PIN_CATEGORY_CAPTURE, @MEDIATYPE_Video,
VidCapt, IID_IAMStreamConfig, VStreamConf);
PVIDEOINFOHEADER(pmt^.pbFormat)^.bmiHeader.biBitCount:=32;
PVIDEOINFOHEADER(pmt^.pbFormat)^.bmiHeader.biPlanes:=1;
PVIDEOINFOHEADER(pmt^.pbFormat)^.bmiHeader.biXPelsPerMeter:=0;
PVIDEOINFOHEADER(pmt^.pbFormat)^.bmiHeader.biYPelsPerMeter:=0;
PVIDEOINFOHEADER(pmt^.pbFormat)^.bmiHeader.biClrUsed:=0;
PVIDEOINFOHEADER(pmt^.pbFormat)^.bmiHeader.biClrImportant:=0;
VStreamConf.SetFormat(pmt^);
но это ничего не дало.
При этом на Preview Pin отличная картинка. При использовании Smart Tee на Capture Pin - те же 256 градаций :(((
Подозреваю, что нужно прописать еще что-то для фильтров Video Capture или AVI Decompressor, но что и где?
Буду благодарен за любую помощь.

С уважением
Вадим


 
PGM   (2001-11-05 22:08) [1]

А пробовал строить граф в GraphEdt с выводом через Video Renderer?
Там то получается?



Страницы: 1 вся ветка

Текущий архив: 2002.02.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
7-32362
miamy
2001-11-04 15:40
2002.02.11
DirectShow


1-32285
XX
2002-01-28 17:12
2002.02.11
Как сложить (сумировать) все ячейки определенного столбца?


1-32265
Zuvom
2002-01-25 13:34
2002.02.11
Копирование из файла в файл


1-32181
Ig
2002-01-25 12:37
2002.02.11
Ошибка при StrToDate


1-32186
AlexanderV
2002-01-29 10:45
2002.02.11
Регистрация пользовательского шрифта на время выполнения программы