请教大家关于directshow的硬件反交错问题
qjipa 2013-02-16 01:19:51 现在我用directshow做了一个视频实时特效滤镜,滤镜用的是CTransInPlaceFilter类来做,由于源视频帧中有逐行和隔行的,所以需要对隔行的做硬件反交错处理用于显示,但我不清楚该怎么去做,初学directshow实在有太多不懂的地方。。。
请问要硬件反交错输出是不是仅仅在AM_MEDIA_TYPE的VIDEOINFOHEADER2里的dwInterlaceFlags设置值就可以?会不会还要调用别的什么函数?
但我在GetMediaType函数里输出了改动的dwInterlaceFlags为0x81后,自己滤镜OutputPin输出的dwInterlaceFlags值确实改变了,但反交错效果没有出来,后来我检查了OverlayMixer的InputPin发现这里的dwInterlaceFlags值为0。
在我没有连接自己的滤镜情况下,如果解码器的OutputPin和OverlayMixer的InputPin都能输出0x81的dwInterlaceFlags值,反交错效果就有了,而我的滤镜在解码器与OverlayMixer之间,该怎样才能使OverlayMixer接受改动过的dwInterlaceFlags值?
应该是很简单的问题来的,我实在不熟悉directshow的架构,大家指点一下,谢了!大家新年快乐哈!