Fixing the Blu-Ray Blues

Not too long ago I moved my former PC of greatness down to its destined home, the basement AV rack. That was after a reconfiguration to Windows 7 RC and the addition of a spiffy new Blu-Ray (BD) drive and IR receiver. For the most part Win 7 is great, and the Media Center application is better than ever.

So I finally got to the point of actually trying out BluRay playback for the first time, and here’s what I got:

Well, crap! I spent a total of seven hours tracking down the source of the problem. My first expectation was the video driver, so I tried several clean installs of various versions. No luck. I thought maybe it had to do with some of the auxiliary applications I run (anyDVD and powerStrip), so I tried updating, then altogether disabling them. No luck. Maybe the actually software playing back the BD disc? I updated PowerDVD to the latest version. No luck.

With all the software options running out I started to suspect hardware. To eliminate the BD drive itself, I tried playing back a 1080p rip of Ironman. Sure enough it quickly threw up the same BSOD. So, it seemed there was a problem with 1080p video decoding in general. Wasn’t my trusty 7900 GT OC up to the challenge of BluRay decoding? After all, 720p videos were playing fine and it still had decent power for gaming last time I used it.

Google eventually led me to this thread where one guy recommended changing the K-Lite ffdshow configuration for H.264 decoding. Pretty obscure, but I did that and then tried to play the Ironman file and it worked great! So this was definitely pointing to something about the 1080p H.264 decoding as the problem. I tried to play a BluRay disc in the drive again and got another BSOD. See, changing the ffdshow decoder works fine for apps that use ffdshow (like Media Player Classic and VLC Player), but it’s not used by powerDVD which is one of the very few programs that reads BluRay discs well (i.e. support the latest BD features). Not only that, but ffdshow involves software decoding leading to much higher CPU utilization than with hardware acceleration.

From there I started reading about the basics of Windows hardware acceleration trying to understand why I was crashing during HiDef playback. DXVA (Direct X video acceleration) is Microsoft’s API for hardware acceleration and, in my case using an Nvidia card, PureVideo is the bit-stream link for DXVA to use the GPU for processing. DXVA was even enhanced on Vista and Win 7, so what gives? Turns out, my 7900GT features Nvidia PureVideo technology, but not their enhanced version, PureVideo HD (this was added in the 8 series GPUs). The original generation of PureVideo cards apparently handles MPEG-2 decoding very well, but the second generation handles H.264 1080p decoding much better.

So, I needed to upgrade the graphics card after all. I decided on a 9500GT which offers the hardware acceleration I needed at a pretty low price point. While I was at it, I went with a card that had a native HDMI jack and a large heatsink with no fan. It also has 512MB of RAM, up from the 256MB on my last card. Suddenly 1080p playback with hardware acceleration was a breeze and CPU usage dropped way, way down. The native HDMI connection is extremely nice, too – the picture is sized and centered perfectly (no more need for PowerStrip) and much sharper than VGA which I was using before.

Tags:

Leave a Reply