我回去考虑了一下,看来先前说的还是有问题.实际上是否YC扩张与YUV的哪种编码无关.YV12和YUY2都有可能扩张或者压缩.这点上误导了kzhou,错怪了techneek,向两位道歉.
但实际运作起来得到的结果却很诡异.vempx所遇到的问题应该是以下几种可能:1,使用了wmr9,这肯定会使画面看起来很暗;2,使用了旧版ffdshow,旧版的ffdshow运行在wmr7(也就是default)也会出现类似的情况.所以先升级一下ffdshow吧
但在我的机器上,即使是最新版的ffdshow,使用YV12输出和YUY2输出得到的结果就是不一样.YUY2输出时即使wmr9渲染也会做YC扩张.这应该可以说明问题根子上还是解码器闹的.
wmr9有错吗?其实它并没错.因为你们首先要想到它是directX,是为游戏服务的.所以它假设的视频输入当然都是以电脑视频为准,也就是avs文档上所谓的PC.601.
而wmr7会做扩张,到了wmr9就改成不做扩张,这显然有M$自己的理由.可能是有游戏商提出抗议,也可能是为了配合XBOX的开发,总之不能武断地就说人家错----再怎么着M$也是做标准的人.
另外sswroom,你再看一下,你帖的那个是windowsCE的文档,这和PC的当然还是有微妙的差别.PC版的东西至少还提一下"BT.601",这CE干脆连提都不待提的.不过也难怪,现在MSDN整得乱七八糟,很多东西我都找不到了.M$是成心不让API党活了啊.....