Нашел в примерах подходящий для себя фильтр (ezrgb24), дальше хочу плясать от него. Но есть такая проблемка.
Беру авишный файл, ставлю его в GraphEdit, между Video Renderer и этим фильтром (Image Effects у него имя). Автоматом вставляется Color Space Converter (кстати, не понятно зачем, что, Video Renderer сам не может это преобразование провести? Не стоит ведь у него этого конвертера в других графах). Да ,еще Image Effects MEDIASUBTYPE_RGB24 проверяет вход на MEDIASUBTYPE_RGB24. Все работает ,все довольны ,ставлю свой код ,все трудится. MPEG Video Decoder и DV Video Decoder живут с ним нормально.
Теперь беру другой файл. Он декодируется Nero Video Decoder и видимо кидает данные несколько не в нужном субтипе. Тем не менее Video Renderer его проглатывает. Само собой "мой" фильтр в разрыв уже не встает.
Вопорс такой. А как узнать, какой субтип нужен на выходе? Видимо, GraphEdit определяет это в момент создания графа, мне же он просто не дает применить мой фильтр. И второй вопрос. Как это можно обойти?
Спасибо.
- Простите, профессор, не пса, а когда он уже был человеком.
— То-есть он говорил? Это еще не значит быть человеком. (с) Булгаков
Здравствуйте, small_cat, Вы писали:
_>Доброго всем времени суток!
_>Нашел в примерах подходящий для себя фильтр (ezrgb24), дальше хочу плясать от него. Но есть такая проблемка. _>Беру авишный файл, ставлю его в GraphEdit, между Video Renderer и этим фильтром (Image Effects у него имя). Автоматом вставляется Color Space Converter (кстати, не понятно зачем, что, Video Renderer сам не может это преобразование провести? Не стоит ведь у него этого конвертера в других графах). Да ,еще Image Effects MEDIASUBTYPE_RGB24 проверяет вход на MEDIASUBTYPE_RGB24. Все работает ,все довольны ,ставлю свой код ,все трудится. MPEG Video Decoder и DV Video Decoder живут с ним нормально.
Color Space Converter встает потому что твоя видюха настроена на RGB32, либо параметры в медиатипе не совсем корректны и CSC их правит и заодно конвертит цвета.
_>Теперь беру другой файл. Он декодируется Nero Video Decoder и видимо кидает данные несколько не в нужном субтипе. Тем не менее Video Renderer его проглатывает. Само собой "мой" фильтр в разрыв уже не встает.
_>Вопорс такой. А как узнать, какой субтип нужен на выходе? Видимо, GraphEdit определяет это в момент создания графа, мне же он просто не дает применить мой фильтр. И второй вопрос. Как это можно обойти?
открой GraphEdit и посмотри на какой тип он соединяеться с рендерилкой. Либо посмотри какой медиа тип предлагает этот декодер при попытке соединения с твоим фильтром — см. CheckInputType, по-моему так функция называеться, если мне память не изменяет.
Сергей.
Re: Transform Filter вопросы
От:
Аноним
Дата:
06.11.04 00:54
Оценка:
Здравствуйте, small_cat, Вы писали:
_>Доброго всем времени суток!
_>Нашел в примерах подходящий для себя фильтр (ezrgb24), дальше хочу плясать от него. Но есть такая проблемка. _>Беру авишный файл, ставлю его в GraphEdit, между Video Renderer и этим фильтром (Image Effects у него имя). Автоматом вставляется Color Space Converter (кстати, не понятно зачем, что, Video Renderer сам не может это преобразование провести? Не стоит ведь у него этого конвертера в других графах). Да ,еще Image Effects MEDIASUBTYPE_RGB24 проверяет вход на MEDIASUBTYPE_RGB24. Все работает ,все довольны ,ставлю свой код ,все трудится. MPEG Video Decoder и DV Video Decoder живут с ним нормально.
_>Теперь беру другой файл. Он декодируется Nero Video Decoder и видимо кидает данные несколько не в нужном субтипе. Тем не менее Video Renderer его проглатывает. Само собой "мой" фильтр в разрыв уже не встает.
_>Вопорс такой. А как узнать, какой субтип нужен на выходе? Видимо, GraphEdit определяет это в момент создания графа, мне же он просто не дает применить мой фильтр. И второй вопрос. Как это можно обойти?
_>Спасибо.
Покажите пожалуйста VIDEOINFOHEADER2, который генерируется на выходе Вашего фильтра.
Д.Евсеев.