Hardware AC3 Decoding Paradox (Audigy)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Hydrogin
    Junior Member
    Junior Member
    • Nov 2002
    • 6

    Hardware AC3 Decoding Paradox (Audigy)

    Howdy!

    I just spent two days in front of my browser teaching myself about playing AVI files. I'm now able to use WMP to play streams with DivX and XviD video encoding, plus MP3 and AC3 audio encoding. I've also managed to figure out how to have my sound card take care of the AC3 decoding, and to pass the AC3 undecoded to an external receiver/decoder. Whew! Lots o' reading and tired eyeballs!

    Now, my question ... for fun, I monitored my CPU utilization while playing an AVI with AC3-encoded audio. With the AC3 DirectShow filter/codec from Nimo's Codec Pack doing the AC3 decoding work, my utilization hovered in the range from 20%-25%.

    Next, I forced WMP (6.4, not 8.0) to spit out undecoded AC3 ("Enable SPDIF output") to my Audigy sound card (via the PCI bus, of course) and enabled AC3 decoding for the Audigy. Well, that worked too, and to my ears there was perhaps an audible difference. But to my surprise, the CPU utilization in this case went *UP* to 25%-30% while playing back the same file and passages.

    Intuitively, this doesn't make much sense to me. I expected CPU utilization to *DROP* when the Audigy card was doing the AC3 decoding.

    Could one of you guys/gals with the colorful icons and stars provide some insight into this paradox?

    My guess, and this is *ONLY* a guess, is that when the Audigy card is being used to decode AC3, what's happening is the DirectShow filter is still chugging away decoding AC3, but then WMP takes on the added task of re-encoding it back to AC3 to be sent out to the sound card for decoding! That added re-encoding task would account for the extra 5% CPU utilization.

    Hydrogin
  • Enchanter
    Old member
    • Feb 2002
    • 5417

    #2
    How much is the CPU utilisation when you are playing a video (preferably of the same resolution and bitrate) with MP3 stream? The point of this question is to find out whether AC3 decoding takes a lot of CPU cycles compared to plain MP3. As far as I'm concerned, it is the video alone that takes the most CPU cycles.

    Comment

    • Hydrogin
      Junior Member
      Junior Member
      • Nov 2002
      • 6

      #3
      Enchanter,

      It may very well be that video playback uses more CPU than audio playback. Unfortunately, the util stats aren't reported that way (just a lump number for WMP).

      As you suggested, I used a file with MP3 audio and similar vid characteristics to the file w. AC3. Here's more data ...

      File info (stats are from AVIcodec):

      File A: vid [640x272, ~24fps, 848Kbps], aud [448Kbps AC3]

      File B: vid [640x272, ~25fps, 841Kbps], aud[96 Kbps MP3]

      Measurement info:

      WinXP TaskMgr set to normal sampling period. Only apps running are WMP 6.4 and TaskMgr. Only processes running are WMP 6.4, TaskMgr, and System. TaskMgr and System occassionally contributes 2% each. While CPU utilization isn't a constant number while WMP is running, its easy to do an eyeball estimate of the DC level over the span of 10 minutes.

      Scenarios:

      (1) File A with AC3 filter enabled. CPU utilization's DC is ~25%.

      (2) File A with SPDIF output enabled in WMA, and HW AC3 decode in Audigy card enabled. CPU utilization's DC is ~30%.

      (3) File B. CPU utilization is similar to (1) although the utilization graph looks "smoother", DC is ~25%.


      It looks like the effort required to decode AC3 and MP3 in software is about the same. But when SPDIF output is enabled during AC3 playback, CPU utilization increases 5%. I'm still curious as to why this would be.

      Hydrogin

      Comment

      • Enchanter
        Old member
        • Feb 2002
        • 5417

        #4
        I'm not too sure either, but I can tell you that any current CPUs won't even break a sweat decoding MP3 tracks (my P4 1.8 GHz hovers at around 0-1%, with all background apps, such as AVP and firewall, ACTIVE). Hence, it seems to me that AC3 decoding does not take that much CPU cycles either. I'll try to find an AVI with AC3 track, play it and see how my CPU usage goes.

        What I can think of is that the transmission of digital data to the Audigy alone requires additional CPU cycle and perhaps, PCI latency has played a part in increasing the CPU usage as well.

        Comment

        • Hydrogin
          Junior Member
          Junior Member
          • Nov 2002
          • 6

          #5
          I look forward to your results.

          I have two ancillary questions as well. Is there a "preferred" AC3 codec/filter used by forum members here? If so, I'd like to run the same tests using those codecs.

          As I mentioned, I'm using the DirectShow filter that comes with Nimo's Codec Pack, v5, build8. I also have access to an old Intervideo WinDVD v3.1 player - I have not installed it, but assume it has an AC3 codec. I've run across reference's to a Tsunami codec pack but haven't researched that. Recommendations are greatly appreciated.

          Finally, I'm a newbie when it comes to PC AV. Would you kindly point me to any tutorials you like regarding how video files are created and read? I'm willing to do some work and as an electrical engineer, I have a moderate tolerance for techno-babble, although simple is always good. Ideally, it would be a mix of theory and practice (here's what functionally needs to be done, and here are some tools to do it).

          Comment

          • Enchanter
            Old member
            • Feb 2002
            • 5417

            #6
            I have two ancillary questions as well. Is there a "preferred" AC3 codec/filter used by forum members here? If so, I'd like to run the same tests using those codecs.
            I have always preferred the Cyberlink AC3 codec that is bundled with PowerDVD, but purely because I don't see any need to install any additional AC3 codec (Intervideo AC3 codec or others). I read in another forum as well that the Intervideo AC3 codec suffers from occasional jitter (due to slightly excessive "normalisation" or such), but I can't confirm that.

            Finally, I'm a newbie when it comes to PC AV. Would you kindly point me to any tutorials you like regarding how video files are created and read? I'm willing to do some work and as an electrical engineer, I have a moderate tolerance for techno-babble, although simple is always good. Ideally, it would be a mix of theory and practice (here's what functionally needs to be done, and here are some tools to do it).
            I'm pretty much an average user like you are. You can probably start by reading the articles on this site and also vcdhelp.com.

            Comment

            • setarip
              Retired
              • Dec 2001
              • 24955

              #7
              "I also have access to an old Intervideo WinDVD v3.1 player - I have not installed it, but assume it has an AC3 codec."

              Yes, it contains the "IVIAUDIO.AX" .AC3 filter, which despite Enchanter's "blowing smoke up your skirt" about it, is a rock solid performer ;>}

              Comment

              • Enchanter
                Old member
                • Feb 2002
                • 5417

                #8
                Originally posted by setarip
                "I also have access to an old Intervideo WinDVD v3.1 player - I have not installed it, but assume it has an AC3 codec."

                Yes, it contains the "IVIAUDIO.AX" .AC3 filter, which despite Enchanter's "blowing smoke up your skirt" about it, is a rock solid performer ;>}
                Read my sentence "I read in another forum as well that the Intervideo AC3 codec suffers from occasional jitter (due to slightly excessive "normalisation" or such), but I can't confirm that."

                I did not make that up...

                Comment

                Working...