There is more to this issue for UK content than there is for US content. The UK content is intentionally encoded with a mixture of progressive and interlaced frames, thus the progressive_frame flag fluctuates legitimately. This differs from US content, where only hard-telecined content ever legitimately contains a mixture of progressive and interlaced frames (and most telecined content in the US is soft-telecined, not hard-telecined).
I am currently using an Intel HD4000 GPU, and it plays US 29/59 content smoothly. I attempted to play a clip of UK 25/50 content, and it does not
play smoothly on my GPU. This leads me to believe that something else is happening besides a just the change in the progressive_frame flag.
foxwood wrote:The best place to fix it would be in Microsoft's code. The fix would work for everyone, and it would only apply to the content that people see a problem with.
It is impossible to "fix" the progressive_frame flag fluctuations by altering Microsoft's code. First, you can't fix something that isn't broken (UK content is flagged correctly, and US hard-telecined content may be flagged correctly). Second, even if the progressive_frame flag is set incorrectly, how do you logically determine what it is supposed to be? And of course, even if you did figure out some way of determining the correct state of the progressive_frame flag, it would still fluctuate with content that contains legitimate fluctuations (like the UK content or hard-telecined content), so the side-effects (stuttering, blanking, flickering, etc.) would still exist on certain GPUs/drivers/settings.
That said, I think the other MPEG-4 decoding issues can certainly be fixed by altering Microsoft's code. However, that's just my opinion. I don't know enough about the MPEG-4 issues (sans progressive_frame fluctuations) to make any kind of educated statement one way or the other.