问题
Our streaming media player is an in house C++/DirectShow application and runs on XP and greater.
One of our most widely used streaming codecs is WMV, as it's widely supported.
We've noticed that output from WMV media streams looks different on Windows 7 clients than on Windows XP.
Windows 7 output looks much more pixelated / blocky for WMV streams. An identical stream (coming from a media server) on Windows XP appears much smoother / less pixelated.
The same playback graph is used on both platforms and the same media server is used to encode and stream to both clients.
W7 client has the windows media codec that comes as part of the windows media player application.
Has anyone else noticed this issue, or can anyone comment on what I might check / correct on the Windows 7 platform?
回答1:
From communication with Chris P, a Microsoft MVP:
The VMR9 renderer on Windows 7 appears not to support the texture smoothing properties, as such all video looks like crap. The only viable solution that I've found is to use the EVR or a custom renderer It doesn't implement any of these features (but gives no error if you enable it):
MixerPref9_BiLinearFiltering,
MixerPref9_AnisotropicFiltering,
MixerPref9_PyramidalQuadFiltering,
MixerPref9_GaussianQuadFiltering
instead it always seems to use MixerPref9_PointFiltering.
回答2:
The problem of course is not in WMV per se. It's the implementation of the Video Renderer filter that is different in Windows Vista and in Windows 7. And the deeper reason for this is that with Aero turned on there are no overlay surfaces. So you have to search for other means of rendering on Windows 7.
来源:https://stackoverflow.com/questions/4134579/wmv-media-streams-appear-more-pixelated-on-windows-7-than-on-xp