The lack of a standardized HTPC GPU evaluation methodology always puts us in a quandary when covering the low end / integrated GPUs. Towards this, I had a long discussion with Andrew Van Til, Mathias Rauen and Hendrik Leppkes, all popular open source multimedia software developers. The methodology we developed is presented below.

The first step is to ensure that all the post processing steps work as expected. HQV benchmarking gives us an idea. Once the cards' post processed videos pass visual inspection, we need to gather an idea of how much time is left for the GPU to do further post processing activities. These may include specialized scaling algorithms, bit-depth etc. as implemented by custom MPC-HC shaders / renderers like madVR.

Deinterlacing and cadence detection are aspects which affect almost all HTPC users. Other aspects such as denoising, edge sharpening, dynamic contrast enhancement etc. are not needed in the mainstream HTPC user's usage scenario. Most mainstream videos being watched are either from a Blu-ray source or re-encoded offline or TV shows which need deinterlacing (if they are in 480i / 1080i format).
 

Denoising OFF Denoising ON
Under what circumstances would a GPU run out of steam for such post processing?

The intent of the benchmark is to first disable all post processing and check how fast the decoder can pump out decoded frames. In the typical scenario, we expect post processing to take more time than the decoding. Identifying the stage which decides the throughput of the decoded frames can give us an idea of whether we can put in more post processing steps. This is similar to a pipeline whose operating frequency is decided by the slowest stage. We then enable post processing steps one by one and see how the throughput is affected.

DXVAChecker enables us to measure the performance of the DXVA decoders. We use a standard set of 1080p / 1080i H264 / MPEG-2 and VC-1 clips. We also have 1080p DIVX / XVID and MS-MPEG4 clips. Cyberlink PowerDVD 11, Arcsoft Total Media Theater 5 and MPC-HC video decoders were registered under DirectShow. DXVA Checker was used to identify which codecs could take advantage of DXVA2 and capable of rendering under EVR for the sample clips. An interesting aspect to note was that none of the codecs could process 1080i VC-1 or the MPEG-4 clips with DXVA2.

Note that the results in the next section list all the cards being tested. However, the 6450s and GT 520 shouldn't really be considered with seriousness because of the issues pointed out in the previous sections.

Denoising Performance and ESVP on the 6450s DXVA Benchmarking
Comments Locked

70 Comments

View All Comments

  • enki - Monday, June 13, 2011 - link

    How about a short conclusion section for those who just use a Windows 7 box with a Ceton tuner card to watch hdtv in Windows Media Center? (i.e. will just be playing back WTV files recorded directly on the box)

    What provides the best quality output?

    What can stream better then stereo over HDMI? On my old 3400 ATI card it either streams the Dolby Digital directly (the computer doesn't do any processing of the audio) or can output stereo (doesn't think there can be more then 2 speakers connected)

    Thanks
  • BernardP - Monday, June 13, 2011 - link

    The inability to create and scale custom resolutions within AMD graphics drivers is, for me, a deal-breaker that keeps me from even considering AMD graphics. It will also keep me from Llano, Trinity and future AMD Fusion APU's. I'll stay with NVidia as long as they keep allowing for custom resolutions.

    My older eyes are grateful for the custom 1536 X 960 desktop resolution on my 24 inch 16:10 monitor. I couldn't create this resolution with AMD graphics drivers.
  • bobbozzo - Tuesday, June 14, 2011 - link

    In your case, you should just increase the size of the fonts and widgets instead of lowering the screen res.
  • Assimilator87 - Tuesday, June 14, 2011 - link

    I wish there was a section dedicated to the silent stream bug. I have a GTX 470 hooked up to an Onkyo TX-SR805 and this issue is driving me insane. For instance, does this issue only plague certain cards or do all nVidia suffer from it? I was hoping the latest WHQL driver (275.33) would fix this, but sadly, no. Otherwise, the article was amazing and I'll definitely have to check out LAV Splitter.
  • ganeshts - Tuesday, June 14, 2011 - link

    The problem with the silent stream bug is that one driver version has it, the next one doesn't and then the next release brings it back. It is hard to pinpoint where the issue is.

    Amongst our candidates, even with the same driver release, the GT 520 had the bug, but the GT 430 didn't. I am quite confident that the GT 520 issue will get resolved in a future update, but then, I can just hope that it doesn't break the GT 430.
  • JoeHH - Tuesday, June 14, 2011 - link

    This is simply one of the best articles I have ever seen about HTPC. Congrats Ganesh and thank you. Very informative and useful.
  • bobbozzo - Tuesday, June 14, 2011 - link

    Hi, Can you please compare hardware de-intelacing, etc., vs software?

    e.g. many players/codecs can do de-interlacing, de-noise, etc. in software, using the CPU.

    How does this compare with a hardware implementation?

    thanks
  • ganeshts - Tuesday, June 14, 2011 - link

    This is a good suggestion. Let me try that out in the next HTPC / GPU piece.
  • CiNcH - Wednesday, June 15, 2011 - link

    Hey guys,

    here is how I understand the refresh rate issue. It does not matter weather it is 0.005 Hz off. You can't calculate frame drops/repeats from that. In DirectShow, frames are scheduled with the graph reference clock. So the real problem is how much the clock which the VSync is based on and the reference clock in the DirectShow graph drift from each other. And here comes ReClock into play. It derives the DirectShow graph clock from the VSync, i.e. synchronizes the two. So it does not matter weather your VSync is off as long as playback speed is adjusted accordingly. A problem here is synchronizing audio which is not too easy if you bitstream it...
  • NikosD - Thursday, June 16, 2011 - link

    Nice guide but you missed something.
    It's called PotPlayer, it's free and has built-in almost everything.
    CPU & DXVA (partial, full) codecs and splitters for almost every container and every video file out there.
    The same is true for audio, too.
    It has even Pass through (S/PDIF, HDMI) for AC3/TrueHD/DTS, DTS-HD. Only EAC3 is not working.
    It has also support for madVR and a unique DXVA-renderless mode which combines DXVA & madVR!
    I think it's close to perfect!
    BTW, in the article says that there is no free audio decoder for DTS, DTS-HD.
    That's not correct.
    FFDShow is capable of decoding and pass through (S/PDIF, HDMI) both DTS and DTS-HD.
    And PotPlayer of course!

Log in

Don't have an account? Sign up now