[alsa-devel] DSD over HDMI: audio data packetization
Hi Community,
I am trying to implement DSD (one bit audio) over HDMI, for Intel integrated graphics. I am referencing HDMI specification 1.3a.
Regarding audio data packetization, I am referencing spec: 5.3.4 Audio Sample Packet 7.6 Audio Data Packetization
Q1) Would you please point to me where is the source code to handle L-PCM audio sample packetization (to implement 5.3.4 Audio Sample Packet)?
Q2) I admit that I did not carefully read HD-Audio specification. Is this possible that this L-PCM audio data packetization is done by *hardware* (e.g HDMI related widgets/pins)?
Q3) Did we implement "7.2 Audio Sample Clock Capture and Regeneration"?
Thanks. Xuebing Wang
31.12.2014, 15:32, Xuebing Wang kirjoitti:
Hi Community,
Hi,
I am trying to implement DSD (one bit audio) over HDMI, for Intel integrated graphics. I am referencing HDMI specification 1.3a.
Regarding audio data packetization, I am referencing spec: 5.3.4 Audio Sample Packet 7.6 Audio Data Packetization
Q1) Would you please point to me where is the source code to handle L-PCM audio sample packetization (to implement 5.3.4 Audio Sample Packet)?
It is done by the hardware.
Q2) I admit that I did not carefully read HD-Audio specification. Is this possible that this L-PCM audio data packetization is done by *hardware* (e.g HDMI related widgets/pins)?
Yes.
Q3) Did we implement "7.2 Audio Sample Clock Capture and Regeneration"?
That is done by hardware. With some HDA codecs the video driver calculates the N/CTS values "manually", but AFAIK not on Intel HW.
Thanks. Xuebing Wang
Hi Xuebing,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 9:41 PM To: Xuebing Wang Cc: alsa-devel@alsa-project.org; Yang, Libin; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 15:32, Xuebing Wang kirjoitti:
Hi Community,
Hi,
I am trying to implement DSD (one bit audio) over HDMI, for Intel integrated graphics. I am referencing HDMI specification 1.3a.
Regarding audio data packetization, I am referencing spec: 5.3.4 Audio Sample Packet 7.6 Audio Data Packetization
Q1) Would you please point to me where is the source code to handle L-PCM audio sample packetization (to implement 5.3.4 Audio Sample Packet)?
It is done by the hardware.
Q2) I admit that I did not carefully read HD-Audio specification. Is this possible that this L-PCM audio data packetization is done by *hardware* (e.g HDMI related widgets/pins)?
Yes.
Q3) Did we implement "7.2 Audio Sample Clock Capture and Regeneration"?
That is done by hardware. With some HDA codecs the video driver calculates the N/CTS values "manually", but AFAIK not on Intel HW.
As the N/CTS need fs and frequency of TMDS info, the hdmi driver does not implement this feature.
We currently are designing an audio link between audio subsystem and other components, like video or USB.
Maybe we will add the N/CTS information transmission. So we can calculate the N/CTS value in audio or gfx driver.
Thanks. Xuebing Wang
-- Anssi Hannula
Anssi, Libin,
Thank you very much for your help.
If L-PCM audio data packetization is done by hardware, is it possible to implement DSD over HDMI on Intel integrated graphics? Thanks again.
On 12/31/2014 10:28 PM, Yang, Libin wrote:
Hi Xuebing,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 9:41 PM To: Xuebing Wang Cc: alsa-devel@alsa-project.org; Yang, Libin; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 15:32, Xuebing Wang kirjoitti:
Hi Community,
Hi,
I am trying to implement DSD (one bit audio) over HDMI, for Intel integrated graphics. I am referencing HDMI specification 1.3a.
Regarding audio data packetization, I am referencing spec: 5.3.4 Audio Sample Packet 7.6 Audio Data Packetization
Q1) Would you please point to me where is the source code to handle L-PCM audio sample packetization (to implement 5.3.4 Audio Sample Packet)?
It is done by the hardware.
Q2) I admit that I did not carefully read HD-Audio specification. Is this possible that this L-PCM audio data packetization is done by *hardware* (e.g HDMI related widgets/pins)?
Yes.
Q3) Did we implement "7.2 Audio Sample Clock Capture and Regeneration"?
That is done by hardware. With some HDA codecs the video driver calculates the N/CTS values "manually", but AFAIK not on Intel HW.
As the N/CTS need fs and frequency of TMDS info, the hdmi driver does not implement this feature.
We currently are designing an audio link between audio subsystem and other components, like video or USB.
Maybe we will add the N/CTS information transmission. So we can calculate the N/CTS value in audio or gfx driver.
Thanks. Xuebing Wang
-- Anssi Hannula
31.12.2014, 17:38, Xuebing Wang kirjoitti:
Anssi, Libin,
Thank you very much for your help.
If L-PCM audio data packetization is done by hardware, is it possible to implement DSD over HDMI on Intel integrated graphics? Thanks again.
I don't think so, unless:
(a) It is possible to somehow encapsulate the stream in Audio Sample Packets and be accepted by the receiver (like e.g. AC3, DTS). I'm not aware of such a way.
or: (b) There is some undocumented feature in the Intel HDMI codecs allowing the driver to switch to DSD or driver-constructed packets (instead of ASP) in similar way as there is a way to switch to HBR packets.
On 12/31/2014 10:28 PM, Yang, Libin wrote:
Hi Xuebing,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 9:41 PM To: Xuebing Wang Cc: alsa-devel@alsa-project.org; Yang, Libin; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 15:32, Xuebing Wang kirjoitti:
Hi Community,
Hi,
I am trying to implement DSD (one bit audio) over HDMI, for Intel integrated graphics. I am referencing HDMI specification 1.3a.
Regarding audio data packetization, I am referencing spec: 5.3.4 Audio Sample Packet 7.6 Audio Data Packetization
Q1) Would you please point to me where is the source code to handle L-PCM audio sample packetization (to implement 5.3.4 Audio Sample Packet)?
It is done by the hardware.
Q2) I admit that I did not carefully read HD-Audio specification. Is this possible that this L-PCM audio data packetization is done by *hardware* (e.g HDMI related widgets/pins)?
Yes.
Q3) Did we implement "7.2 Audio Sample Clock Capture and Regeneration"?
That is done by hardware. With some HDA codecs the video driver calculates the N/CTS values "manually", but AFAIK not on Intel HW.
As the N/CTS need fs and frequency of TMDS info, the hdmi driver does not implement this feature.
We currently are designing an audio link between audio subsystem and other components, like video or USB.
Maybe we will add the N/CTS information transmission. So we can calculate the N/CTS value in audio or gfx driver.
Thanks. Xuebing Wang
-- Anssi Hannula
Hi,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 11:45 PM To: Xuebing Wang Cc: Yang, Libin; alsa-devel@alsa-project.org; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 17:38, Xuebing Wang kirjoitti:
Anssi, Libin,
Thank you very much for your help.
If L-PCM audio data packetization is done by hardware, is it possible to implement DSD over HDMI on Intel integrated graphics? Thanks again.
I don't think so, unless:
(a) It is possible to somehow encapsulate the stream in Audio Sample Packets and be accepted by the receiver (like e.g. AC3, DTS). I'm not aware of such a way.
or: (b) There is some undocumented feature in the Intel HDMI codecs allowing the driver to switch to DSD or driver-constructed packets (instead of ASP) in similar way as there is a way to switch to HBR packets.
Yes, I agree. And I'm not sure whether HDMI spec supports DSD.
On 12/31/2014 10:28 PM, Yang, Libin wrote:
Hi Xuebing,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 9:41 PM To: Xuebing Wang Cc: alsa-devel@alsa-project.org; Yang, Libin; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 15:32, Xuebing Wang kirjoitti:
Hi Community,
Hi,
I am trying to implement DSD (one bit audio) over HDMI, for Intel integrated graphics. I am referencing HDMI specification 1.3a.
Regarding audio data packetization, I am referencing spec: 5.3.4 Audio Sample Packet 7.6 Audio Data Packetization
Q1) Would you please point to me where is the source code to handle L-PCM audio sample packetization (to implement 5.3.4 Audio Sample Packet)?
It is done by the hardware.
Q2) I admit that I did not carefully read HD-Audio specification. Is this possible that this L-PCM audio data packetization is done by *hardware* (e.g HDMI related widgets/pins)?
Yes.
Q3) Did we implement "7.2 Audio Sample Clock Capture and
Regeneration"?
That is done by hardware. With some HDA codecs the video driver calculates the N/CTS values "manually", but AFAIK not on Intel HW.
As the N/CTS need fs and frequency of TMDS info, the hdmi driver does not implement this feature.
We currently are designing an audio link between audio subsystem and other components, like video or USB.
Maybe we will add the N/CTS information transmission. So we can calculate the N/CTS value in audio or gfx driver.
Thanks. Xuebing Wang
-- Anssi Hannula
-- Anssi Hannula
01.01.2015, 04:07, Yang, Libin kirjoitti:
Hi,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 11:45 PM To: Xuebing Wang Cc: Yang, Libin; alsa-devel@alsa-project.org; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 17:38, Xuebing Wang kirjoitti:
Anssi, Libin,
Thank you very much for your help.
If L-PCM audio data packetization is done by hardware, is it possible to implement DSD over HDMI on Intel integrated graphics? Thanks again.
I don't think so, unless:
(a) It is possible to somehow encapsulate the stream in Audio Sample Packets and be accepted by the receiver (like e.g. AC3, DTS). I'm not aware of such a way.
or: (b) There is some undocumented feature in the Intel HDMI codecs allowing the driver to switch to DSD or driver-constructed packets (instead of ASP) in similar way as there is a way to switch to HBR packets.
Yes, I agree. And I'm not sure whether HDMI spec supports DSD.
It does, via the "One Bit Audio" and "DST" formats (spec 5.3.9, 5.3.10 in 1.3a/1.4a).
On 12/31/2014 10:28 PM, Yang, Libin wrote:
Hi Xuebing,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 9:41 PM To: Xuebing Wang Cc: alsa-devel@alsa-project.org; Yang, Libin; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 15:32, Xuebing Wang kirjoitti:
Hi Community,
Hi,
I am trying to implement DSD (one bit audio) over HDMI, for Intel integrated graphics. I am referencing HDMI specification 1.3a.
Regarding audio data packetization, I am referencing spec: 5.3.4 Audio Sample Packet 7.6 Audio Data Packetization
Q1) Would you please point to me where is the source code to handle L-PCM audio sample packetization (to implement 5.3.4 Audio Sample Packet)?
It is done by the hardware.
Q2) I admit that I did not carefully read HD-Audio specification. Is this possible that this L-PCM audio data packetization is done by *hardware* (e.g HDMI related widgets/pins)?
Yes.
Q3) Did we implement "7.2 Audio Sample Clock Capture and
Regeneration"?
That is done by hardware. With some HDA codecs the video driver calculates the N/CTS values "manually", but AFAIK not on Intel HW.
As the N/CTS need fs and frequency of TMDS info, the hdmi driver does not implement this feature.
We currently are designing an audio link between audio subsystem and other components, like video or USB.
Maybe we will add the N/CTS information transmission. So we can calculate the N/CTS value in audio or gfx driver.
Thanks. Xuebing Wang
-- Anssi Hannula
-- Anssi Hannula
Anssi, Libin,
Thanks for your help.
After a little bit of research, I do think it is possible to stream DSD over HDMI (the mechanism is as Anssi mentioned, similar way as HBR).
Please see HDA spec: 3.7.1 Stream Format Structure (If the TYPE is set to Non-PCM, the controller just pushes data over the link and is not concerned with formatting. The base rate, data type, and number of Words (MULT) to send each valid frame are specified to control the rate at which the non-PCM data is sent.)
7.3.3.8 Converter Format
What do you think? In order to implement this similiar mechanism (similar to HBR), I still have some detailed questions that I will write in another email. Thanks.
On Thu, 2015-01-01 at 06:37 +0200, Anssi Hannula wrote:
01.01.2015, 04:07, Yang, Libin kirjoitti:
Hi,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 11:45 PM To: Xuebing Wang Cc: Yang, Libin; alsa-devel@alsa-project.org; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 17:38, Xuebing Wang kirjoitti:
Anssi, Libin,
Thank you very much for your help.
If L-PCM audio data packetization is done by hardware, is it possible to implement DSD over HDMI on Intel integrated graphics? Thanks again.
I don't think so, unless:
(a) It is possible to somehow encapsulate the stream in Audio Sample Packets and be accepted by the receiver (like e.g. AC3, DTS). I'm not aware of such a way.
or: (b) There is some undocumented feature in the Intel HDMI codecs allowing the driver to switch to DSD or driver-constructed packets (instead of ASP) in similar way as there is a way to switch to HBR packets.
Yes, I agree. And I'm not sure whether HDMI spec supports DSD.
It does, via the "One Bit Audio" and "DST" formats (spec 5.3.9, 5.3.10 in 1.3a/1.4a).
04.01.2015, 05:10, Xuebing Wang kirjoitti:
Anssi, Libin,
Thanks for your help.
After a little bit of research, I do think it is possible to stream DSD over HDMI (the mechanism is as Anssi mentioned, similar way as HBR).
Please see HDA spec: 3.7.1 Stream Format Structure (If the TYPE is set to Non-PCM, the controller just pushes data over the link and is not concerned with formatting. The base rate, data type, and number of Words (MULT) to send each valid frame are specified to control the rate at which the non-PCM data is sent.)
7.3.3.8 Converter Format
What do you think? In order to implement this similiar mechanism (similar to HBR), I still have some detailed questions that I will write in another email. Thanks.
That setting will still not allow you to send One-bit audio or DST packets. The stream will still be encapsulated in either ASP or HBR packets, depending on the value of the EPT field (Encoded Packet Type, 7.3.3.13).
On Thu, 2015-01-01 at 06:37 +0200, Anssi Hannula wrote:
01.01.2015, 04:07, Yang, Libin kirjoitti:
Hi,
-----Original Message----- From: Anssi Hannula [mailto:anssi.hannula@iki.fi] Sent: Wednesday, December 31, 2014 11:45 PM To: Xuebing Wang Cc: Yang, Libin; alsa-devel@alsa-project.org; Lin, Mengdong; ; Takashi Iwai; ; Wu Fengguang Subject: Re: [alsa-devel] DSD over HDMI: audio data packetization
31.12.2014, 17:38, Xuebing Wang kirjoitti:
Anssi, Libin,
Thank you very much for your help.
If L-PCM audio data packetization is done by hardware, is it possible to implement DSD over HDMI on Intel integrated graphics? Thanks again.
I don't think so, unless:
(a) It is possible to somehow encapsulate the stream in Audio Sample Packets and be accepted by the receiver (like e.g. AC3, DTS). I'm not aware of such a way.
or: (b) There is some undocumented feature in the Intel HDMI codecs allowing the driver to switch to DSD or driver-constructed packets (instead of ASP) in similar way as there is a way to switch to HBR packets.
Yes, I agree. And I'm not sure whether HDMI spec supports DSD.
It does, via the "One Bit Audio" and "DST" formats (spec 5.3.9, 5.3.10 in 1.3a/1.4a).
participants (3)
-
Anssi Hannula
-
Xuebing Wang
-
Yang, Libin