English | 中文 | Русский | Français
2,600 Posts served
8,349 Conversations started
I've already discussed the benefits to Intel Graphics and HDMI Audio in a previous post, and complained about the HDCP repeater mode bug (still unresolved as of graphics driver release 15.9.2) which forces people to use gray-market software if they want to use Intel HDMI Audio to play Blu-ray disks with a receiver, but there's still one more nit I have to pick: there is a very prominent, mid- to high-end consumer electronics supplier whose receivers are still not playing ball with Intel HDMI Audio. Let's explore why this is, and-- at least philosophically-- how I think this should be fixed.
With HDMI, we finally have a two-way path for communication between the source and endpoint devices in the consumer electronics space. This means a lot for the Digital Rights Management crowd, but it also enables something pretty cool for end customers in general: a source device can query the end device and tailor its output to the best possible the endpoint device can produce.
Computer monitors have been doing this over VGA for years, and later over DVI. There is, in fact, a special data structure called the EDID (Extended Display Identification Data). The source sends a command to the monitor/television to send its EDID, and the monitor/television responds with a 128-byte message which details the native resolution of the screen, any specific timings it likes best, etc.
For HDMI, this structure has been extended further with another 128-bytes. These bytes supply more specific timings and, most relevant to our discussion here, a list of which audio possibilities the end device supports. In the normal case of a TV as the end device, the report back is typically "LPCM 2.0" (lossless stereo sound) or at best "Dolby Digital 5.1" (five channel lossy compressed sound). When you place a nifty new audio receiver in the signal path (as an HDMI "repeater"), however, the receiver itself intercepts the TV's EDID and adds its own information before sending it back to the source device (DVD player or Blu-ray player or PC). The specifics of how this is done are discussed in the consumer electronics spec CEA/EIA-861D, and summarized in the EDID Wikipedia article.
Theoretically, this should allow the source device (in this case, the PC) to send the best possible audio your TV or receiver can decode. Simple, right?
Let's ignore the graphics case, for now; I can (and eventually will) write an entire article about the lies EDID can tell about TV/monitor resolutions. As ever, let's hit audio.
As discussed in a previous post, Intel's HDMI Audio solution is a bizarre intersection between Intel HD Audio (aka The Artist Formerly Known as "Azalia") and Intel's SDVO video. The interactions between the operating system (using Microsoft's Unified Audio Architecture or UAA) and the Intel HD Audio hub in the southbridge are complex enough before you add HDMI. Suffice it to say that, in a roundabout way, the operating system asks the audio subsystem what it can do so it knows how to send any sounds without something screechy and horrible erupting from your speakers.
Taking this further, in order to report this back to the OS, Intel's HDMI Audio needs to get the ELD (or "EDID-Like Data") from the end device. It does this by... you guessed it... querying the connected device(s) for EDID.
So the path in a typical configuration is:
OS --> (query for capabilities) --> HD Audio Bus --> HDMI Audio chip --> (query for ELD) --> Graphics drivers --> (query for Receiver EDID) --> Receiver --> (query for TV EDID) --> TV
The TV gets the query, reports back what it can do, the receiver adds on its own capabilities, and the answer cascades back to the OS, which reveals in some Audio Properties window what the HDMI Audio is permitted to send to the downstream devices.
Slightly insane, and with this many players you can see the potential for software or firmware breakdown. Needless to say, in order to protect you (and Microsoft's legal department) from sound which will rupture your expensive speakers, the OS will not send sound in any format that the HDMI audio chip does not explicitly state it supports. Therefore, the UAA driver in the OS, the HD Audio Bus driver, the HDMI audio driver, the graphics driver, the receiver firmware, and the TV's firmware are all links in a chain which can mess up the audio capabilities.
In this case, again, we must focus. Pretty much everything in this path works, miraculously enough, but there is one corner case that does not, and it's an ugly one. Denon is a very popular brand of AV receiver-- especially in the demographic that is currently messing around with HDMI audio: the early adopters and the audiophiles. Hooking up a sparkling new Denon 7.1 channel receiver to your nifty Intel HDMI audio solution will net you... 2 channel stereo. Same as most TV sets. Other receivers (Onkyo, Yamaha, etc.) don't have this difficulty.
Where in the signal path is the problem?
The problem, after much debug by myself and some second level folks in our support group, is that Denon is doing things differently in their EDID than other consumer electronics manufacturers, and the way Intel drivers are handling this is not helping.
Which puts it somewhere in here:
HDMI Audio chip --> (query for ELD) --> Graphics drivers --> (query for Receiver EDID) --> Receiver
Per spec, the audio data in the EDID is found in one or more Short Audio Descriptors ("SADs"). The way most manufacturers do this is to have a single "tag" byte followed by a number of SADs. For instance, an Onkyo receiver enumerates its audio with
38 09 7f 07 0f 7f 07 17 07 50 3f 06 c0 4d 02 00 57 06 00 5f 7e 01 67 7e 00
The "tag" byte tells how many bytes follow which are SAD data (in this case, 24), and the remaining bytes are three-byte SADs which detail stuff like which formats are supported (like Dolby Digital, DTS, LPCM, WMA Pro, MLP), which bit rate and depth they are supported at, and how many channels can be played back. In this case the Onkyo parses out as:
LPCM 2 Channel Sound, Frequencies:192kHz, 176kHz, 96kHz, 88kHz, 48kHz, 44kHz, 32kHz, Bit Depth :24 bit, 20 bit, 16 bit
LPCM 8 Channel Sound, Frequencies:192kHz, 176kHz, 96kHz, 88kHz, 48kHz, 44kHz, 32kHz, Bit Depth :24 bit, 20 bit, 16 bit
AC-3 8 Channel Sound, Frequencies:48kHz, 44kHz, 32kHz, Max bitrate :640
DTS 8 Channel Sound, Frequencies:48kHz, 44kHz, Max bitrate :1536
SACD 6 channel Audio
Dolby Digital+ 8 Channel Sound
DTS-HD 8 Channel Sound
MLP/Dolby TrueHD 8 Channel Sound
What happens with Denon? Denon takes a slightly different approach. Denon precedes each SAD with a "tag" byte:
23 0d 1f 07 23 09 7f 07 23 3d 1f c0 23 15 1f 51
Note the recurring "23". That's "This Audio block has 3 bytes (1 SAD)". The first one is 8 channel LPCM, the second is 2 channel LPCM, the third is 6 channel DTS, and the fourth is 6 channel AC-3.
Herein lies the problem. Intel audio drivers sample the ELD and see the first Audio block has an LPCM value of 8 channel capabilities and are thrilled to offer this... then they keep reading and see there is a completely new Audio block, with a new set of SADs. This second Audio block has a SAD with an LPCM value of 2 channels... which overwrites the 8-channel value. Oops. Now the drivers report back that the receiver can only do 2 channels and the OS will not even offer 7.1 channel LPCM as an option. Wouldn't want to frighten the Denon with sound it can't handle, after all.
At this point, I am uncertain whether the error gets made at the HDMI audio driver level or the Intel Graphics driver level-- does the Graphics driver parse the EDID and pass along the ELD with 2 channel values, or does the Graphics driver send the entire EDID and the Audio driver overwrites the 8 channel values with 2 channel all on its own? No idea. But Intel's system does not cope well with Denon's "special" way of doing things.
Now, as for that "special way"... it's unconventional-- no one else does it this way-- and it's wasteful of bytes... but is it against spec?
Here's where strict adherence to a crappily-written spec can (and in this case, does) get Intel and Denon into trouble: CEA/EIA-861B states
"The format of the "CEA Data Block Collection" shall conform to that shown in Table 30."
I'm sure it would be a violation of copyright restrictions to include Table 30 here, but please trust me when I say it looks exactly like the Onkyo example above: single "tag" byte, followed by a stream of three-digit SADs.
But wait... in the exact same paragraph:
"Note that the order of the Data Blocks is not constrained. It is also possible to have more than one of a specific type of data block if necessary to include all of the descriptors needed to describe the DTV Monitor’s capabilities."
So... Denon is providing more than one of a specific type of data block (Audio). They don't have to all be in one stream, per this interpretation.
And so the argument extends. Denon sees nothing wrong with their interpretation. Intel says Denon should fix their EDID.
Intel can point to what is arguably their accurate reading of the spec (I tend to read it this way, as well); Denon can point to the fact that HD DVD and Blu-ray players, the PS3, and other devices don't seem to be having difficulties streaming 8-channel sound to Denon receivers... why should they have to distribute new firmware to all the owners of their receivers... why is this their problem again?
The irony is: if Denon had chosen to write LPCM 2 channel first and LPCM 8 channel second, everything would still have worked and we'd never have known about the problem.
Ultimately, the consumer doesn't care who's right or wrong in this esoteric technical dispute. They plug an Intel computer into a Denon receiver and it only gives them stereo. They swear at it for a bit, plug in their friend's PS3, and it works fine with 7.1 channels. Do you think they consider it important whether Intel's or Denon's reading of the spec is right?
Of course not. The PS3 and other consumer electronics devices are at best simply ignoring the problem; at worst, they are aware and don't care-- they'd rather have their device be transparent to the consumer than argue the intricacies of specs.
It is my firm belief that Intel should relax its read of the audio bytes of the EDID to accomodate what is arguably an ambiguity in the spec purely to satisfy customers. I don't know if it's our Graphics driver or our Audio driver, but it should be able to cope with Stupid EDID Tricks.
Yes, Denon is probably at fault. I'm with you driver guys, and will drink a beer with you to commiserate. But in the end-- at least in this matter-- fault isn't important. Results are, and we need to show that our solution works on as much equipment as possible.
Right now we're being stubborn on something that doesn't really matter to us, but matters a whole heck of a lot to the end user.
Which is most important?
| May 13, 2008 10:06 AM PDT
Simon Leinen |
> It is my firm belief that Intel should relax its read of the audio bytes of the EDID to accomodate what is arguably an ambiguity in the spec [...] I agree; this is probably a case where you can safely apply the ancient IETF interoperability mantra, "Be liberal in what you accept, and conservative in what you send." (http://www.postel.org/postel.html) |
| May 14, 2008 10:47 AM PDT
JuMz |
"Ultimately, the consumer doesn't care who's right or wrong in this esoteric technical dispute. They plug an Intel computer into a Denon receiver and it only gives them stereo. They swear at it for a bit, plug in their friend's PS3, and it works fine with 7.1 channels. Do you think they consider it important whether Intel's or Denon's reading of the spec is right? Of course not. The PS3 and other consumer electronics devices are at best simply ignoring the problem; at worst, they are aware and don't care-- they'd rather have their device be transparent to the consumer than argue the intricacies of specs." Well said. |
| May 14, 2008 11:11 AM PDT
stoked | Thanks for the info Aaron. This is the only reason I am not going with an Intel G35/G45 motherboard and I'd prefer to stick with Intel. If Intel relaxes the spec conformity to allow for the Denon's I would purchase an Intel G35/G45 over competitor products. Have you suggested a middle ground perhaps by not putting the option to force audio formats in a gui menu but a registry key workaround for us Denon owners? At least that way J6P won't blow up their AV receivers and us Denon users can still receive multichannel LPCM by a manual registry change. |
| May 14, 2008 12:03 PM PDT
Aaron Brezenski (Intel)
| I suspect it would be easier to rewrite the ELD/EDID parser than to put a registry entry in which would essentially override the ELD data, but I admit I'm not aware of what the C# (or whatever language is used) routines look like that do this stuff. |
| May 15, 2008 2:08 PM PDT
James |
I just wanted to say that this blog has been one of the most informative information sources I have found online. Even after reading AVSForums, and doing my own personal research, there is still a lot of ambiguity. Aaron, please keep up the excellent posts. I hate to say this but it is indeed the multi-channel LPCM (and hope for future bitstream) audio over HDMI that has kept me waiting to pick up a G45 chipset based board. One of the competitor's offerings is already out, and while their graphics horsepower is amazing, their HDMI audio is limited to 2-channel LPCM. (In the terms of the Internet caste, FAIL.) The other competitor is plagued by driver problems. I was leaning towards one of the competitor's due to power usage. But now that all of the Big-Three companies have moved their chipsets to new manufacturing processes (65nm and smaller), which ensures cooler running chipsets, that front is a wash. It makes it nearly impossible to find a solution that can satisfy the most basic needs of an HTPC. Can it display the video without dropping frames, and can it playback the audio tracks as originally intended? I would really like to see someone (and Intel is currently the closest) get this right. |
| May 16, 2008 1:32 PM PDT
Andre Bernier |
Very nice debug Aaron. Reading the spec part I think your'e right it may be both variants and as such intel should probably do best 'extending' the parser. Maybe the denon edid would be a nice testcase to add to the testsuite. Actually this reminds me of similar specs from 3gpp regarding simcard field contents with tagged data blocks where tags sometimes are put in tags or other times put after each other. Btw, the audio specs of highend denon recievers are most impressive too :) I'm buying a 3808 and would love to try it out with a htpc soon (which hopefully will be intel based but that depends on the same arguments as James mentioned). |
| May 19, 2008 5:49 PM PDT
David C | Very informative article. I've been on the verge of buying a 3808 and a new HTPC. Since I've found out of this problem 2 months ago, everything has been on hold. I've owned Denon receivers before and will continue to do so only because I know what to expect when paired with my speakers. Since a HTPC is the most versatile and flexible, I contemplate going to outside Intel. I would rather not but this situation is a conflict for me. I hope Intel and/or Denon is reading this and will provide a solution soon before they loose customers. At least this one is informed but I can feel for the others that have G35 and Denon and have no clue what's wrong. |
| May 24, 2008 10:01 AM PDT
Aaron Brezenski (Intel)
|
Actually, David C, I saw confirmation that Denon has fixed their EDID on the 3808 model, and that the Intel drivers are working fine to pass 7.1 channel LPCM over HDMI. See this thread: http://www.avsforum.com/avs-vb/showthread.php?p=13935995#post13935995 The portion of the EDID containing the SADs is now 38 0f 7f 07 3d 1e c0 15 07 50 5f 7e 01 57 06 00 65 7e 00 67 1e 00 4d 02 00 which is the standard format everyone else has been using. |
| May 24, 2008 10:05 AM PDT
thompmd | OK, so I have to admit I am an impatient consumer that just received her new XPS M1530 with Blu Ray disc player and wants to play blu ray discs on her new Samsung LN52A750 HDTV. In my spare time I will read up on all the details of how it works - this discussion is enlightening and as an aerospace engineer I am interested - but in the meatime I just want my TV to play the HD sound. Can it happen? |
| May 24, 2008 9:15 PM PDT
Aaron Brezenski (Intel)
| Don't think so. According to the specs I'm looking at, it has an Nvidia 8400M graphics chip in it, which does not support high-def audio over HDMI. You can probably still get DVD-quality audio over the interface, but won't get 8-channel LPCM. |
| June 14, 2008 3:30 PM PDT
Fool-HD |
Aaron, could you provide a link to 8400M spec you are referring to? I own a XPS M1330 with hope of having 8-ch 24-bit LPCM output - it seems I'm a fool-hd once again. Your PC/HDMI investigation realy helps, thank you. Another great I am reading here is the AVR3808 fix. thompmd, I am afraid your TV is not able to fully perform HD sound due to amp and speakers quality but you can send HD audio content from most discs by your XPS, including stereo 24/96 (depending on software player you use). The issue could be multichannel LPCM which I asume is a rare case on BDs. I try to confirm this when I own AVR3808 - hopefully soon. |
| June 16, 2008 7:55 AM PDT
Nick |
Aaron, I have AVR Denon 2307. Do you think that the problem with Denon EDID will be solved in G45 chipset based board? Thank you! |
| June 16, 2008 12:31 PM PDT
Aaron Brezenski (Intel)
|
Fool-HD: I'm uncertain on the XPS M1330. There are two models: one with Intel X3100 graphics and one with Nvidia 8400M graphics. The one with X3100 might have 8-channel LPCM depending on whether Dell connected the HD Audio link in the Chrontel/SiI HDMI chip. Hard to say without one in my hands. The 8400M graphics will definitely not, however: it is only with the very latest integrated Nvidia graphics motherboards which possess 8-channel LPCM. Prior Nvidia graphics do not. There's no spec I have on the 8400M, just anecdotal evidence from the AVSForum. Nick: I just don't know. It's purely a software driver thing. Most of the driver improvements of this nature are OEM/ODM driven-- if Dell or Toshiba sees an issue on their validation setup, it gets highlighted and fixed. If any of them are using a Denon, perhaps it will be corrected for by Intel in their drivers. |
| June 18, 2008 4:32 PM PDT
Art O |
Thanks for bringing this issue to light. I thought I had finally found the board to build a reasonably priced media PC using the DG45ID. Unfortunately, I need it to work with my new Denon 2308CI receiver, or I guess bypass it by connecting to 2nd HDMI input on my Sharp AQUOS LC-37D62U and grabbing the multi-channel audio from there? I can't believe - even as an IT Pro for 15 years, an audio-video engineer & CEDIA home theater installer since the 80s, Certified in Digital Electronics, MCSE certified, etc., etc., - that our electronics industries continue to make things so difficult for experts, let alone the average consumer! Any confirmation you can give that Intel maybe updating drivers in the near future would be greatly appreciated. (BTW - Any news on release date for the G45 boards?) |
| June 18, 2008 4:42 PM PDT
Aaron Brezenski (Intel)
|
Art-O, How new is the 2308CI? Given that the 3808 has been fixed by Denon, it's possible they've fixed others as well. If you could pull an EDID off the thing I could tell you in a matter of seconds whether there are issues or not. But I agree, it's a complicated matter. Manual overrides, even if obscure, are preferable. In many cases, in an effort to make things easier for the generic consumer we've made it harder to get more advanced things done. |
| June 22, 2008 10:01 PM PDT
Øivind S. |
Been looking for an motherboard with built in gpu onboard and hdmi. Anyone know if intel chipset G45 will support bitstreaming of HD audio from BD ? As one has receiver/surround processor to do the work the best solution to HD audio is to just let HD audio pass to hdmi untouched and let receiver/processor do work ? |
| July 10, 2008 6:28 AM PDT
Mal |
When are Intel going to provide GLSL support for eg X3100 chipsets, seeing as Apple and Linux drivers support it ( ie the hardware is capable )? If Intel have the expertise in both the hardware and the software, why not recreate what for example Apple did with their X3100 drivers for eg the Mac Air, and allow GLSL? If Intel want to continue to dominate the consumer 3D graphics chip market, they might want to start supporting its customers with better drivers with more functionality. Are there any Beta drivers for this chipset? ( URL ) |
| July 12, 2008 3:11 PM PDT
Mike H | Any idea when the Intel driver will be updated to support "unfixed" Denon receivers? I have a Denon AVR-1908 which I don't think can be updated. I am currently using S/PDIF to route audio to the receiver, but would like to use HDMI to get the higher quality LPCM output. The G35 based motherboard I'm using performs very well and I don't want to give up on it with this problem. |
| August 26, 2008 11:11 AM PDT
jpshinn
|
Hi Aaron: Thanks for this interesting post. I am wondering whether this issue effects other manufacturers of pre/pros, such as Halcro (in my instance). I just installed the Giga-byte G45 board into my HTPC and I am now completely without audio on my HDMI connection. I can run an optical out just fine and get 2-channel only but when I try to run with the HDMI, I get nothing. Zippo. Coincidentally, when I first booted up the HTPC with my Halcro (which runs out to a Pioneer Elite plasma display at 720p), the HTPC tried to tell me that I wasn't using the optimal display, which the PC wanted to say was at 1080i. Thoughts? |
| August 26, 2008 2:48 PM PDT
Martin | Has anyone noticed the latest Intel drivers are now working correctly with Dolby Digital and DTS over HDMI, but still no LPCM 8 channel. Wonder why they would fix the issue for part of the problem and not others! |
| October 19, 2008 7:07 PM PDT
countryfeller | this tells me absolutly nothing about how to bypass the content block when i hook up hdmi to my laptop to play bluray on my hdtv.... |
| March 18, 2009 12:20 PM PDT
Rune |
Got this comment from Cberlink with regard to DTS-HD, meaning that Cyberlink PowerDVD does not support DTS-HD on Intel. In regard to your issue, we have forwarded this issue to our Product Development Department and they provide us the information that PowerDVD can output DTS/AC3 5.1 ch if you select SPDIF\(AC3 or DTS passthrough). If you want to use DTS-HD bitstream output, then please use the audio card which supports audio security path. You can use this card Auzentech X-Fi HomeTheater HD and the link given below: http://www.cyberlink.com/multi/products/item_1_4_1_en_US.html |

Links for May 13th, 2008 at wolfgang.lonien.de