mbox series

[0/2] iec958 plugin enhancements for HDMI

Message ID 20200713211704.19083-1-hias@horus.com (mailing list archive)
Headers show
Series iec958 plugin enhancements for HDMI | expand

Message

Matthias Reichl July 13, 2020, 9:17 p.m. UTC
Testing with vc4-hdmi / Raspberry Pi 4 showed that the iec958 plugin
was missing two features required for HDMI compatibility:

HD audio bitstreams like DTS HD MA or Dolby True HD are usually packed
into 8-channel 192kHz 16-bit frames but are in fact a single IEC 61937
stream at 768kHz frame rate. So the data in the 8-channel frame has to
be formatted as 4 contiguous IEC 60958 frames.

If channel status bits weren't set, iec958 indicated a sample rate of
48kHz in the channel status bits which the HDMI analyzer complained about
and caused issues with some HDMI devices if it didn't match the real
rate. That was a long outstanding FIXME since the iec958 plugin was added.

With this series HD audio passthrough and PCM audio works fine with
the downstream 5.4 RPi kernel.

Matthias Reichl (2):
  pcm: iec958: implement HDMI HBR audio formatting
  pcm: iec958: set channel status bits according to rate and format

 src/pcm/pcm_iec958.c | 117 ++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 109 insertions(+), 8 deletions(-)

Comments

Takashi Iwai July 14, 2020, 10:53 a.m. UTC | #1
On Mon, 13 Jul 2020 23:17:02 +0200,
Matthias Reichl wrote:
> 
> Testing with vc4-hdmi / Raspberry Pi 4 showed that the iec958 plugin
> was missing two features required for HDMI compatibility:
> 
> HD audio bitstreams like DTS HD MA or Dolby True HD are usually packed
> into 8-channel 192kHz 16-bit frames but are in fact a single IEC 61937
> stream at 768kHz frame rate. So the data in the 8-channel frame has to
> be formatted as 4 contiguous IEC 60958 frames.
> 
> If channel status bits weren't set, iec958 indicated a sample rate of
> 48kHz in the channel status bits which the HDMI analyzer complained about
> and caused issues with some HDMI devices if it didn't match the real
> rate. That was a long outstanding FIXME since the iec958 plugin was added.
> 
> With this series HD audio passthrough and PCM audio works fine with
> the downstream 5.4 RPi kernel.
> 
> Matthias Reichl (2):
>   pcm: iec958: implement HDMI HBR audio formatting
>   pcm: iec958: set channel status bits according to rate and format

Both patches look like a nice improvement.
Applied now.  Thanks!


Takashi