IEC61937 13 HDMI playback on Linux OS - Fraunhofer-IIS/iec61937-13 GitHub Wiki

The scope of this page is to show how to play an IEC61937-13 data bursts file on Linux OS in HDMI passthrough mode to a connected HDMI sink device supporting the MPEG-H decoding.

iec61937-13_linux_playback

Requirements

  • aplay command-line tool
    • if not installed on your Linux OS, aplay can be usually found as part of the alsa-utils package
  • Nvidia graphic card with HDMI output
    • please note that the following instructions may also work with other graphic cards than Nvidia
  • MPEG-H capable HDMI sink devices
    • please find the available devices supporting MPEG-H here

Test PCM playback

Before playing an IEC61937-13 data bursts file in HDMI passthrough mode verify the PCM playback.

First find the right device to be used:

$ aplay -L

The output could look like:

...
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1220 Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 1
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 2
    HDMI Audio Output
...

In our case we use hdmi:CARD=NVidia,DEV=1 device to verify that the PCM playback to a connected HDMI sink device works:

$ aplay -D hdmi:CARD=NVidia,DEV=1 some_2ch_48000Hz_test_file.wav

If the connected HDMI sink device can produce audio output then the selected device is correct. If there is no audio output, please select another device prefixed with hdmi: and try again.

Depending on the used sound system configuration on your Linux OS the desired audio output device maybe be blocked by a system process. Try to reconfigure your sound system to use a different audio output device to make the desired audio output device available for our IEC61937-13 playback test.

IEC61937-13 passthrough playback

After we found the right audio output device, we can play an IEC61937-13 data burst file (e.g. generated with IEC61937-13 encoder program):

$ aplay -D hdmi:CARD=NVidia,DEV=1,AES=06 -f S16_LE -c2 -r192000 out.raw

Note the AES=06 parameter. This parameter configures the ALSA output to run in bitstream mode.

-f S16_LE defines the byte order format of the out.raw file. In our case it's little endian.

-c2 -r192000 defines the used IEC61937-13 sampling rate factor in the out.raw file. In our case it's 4x. If you want to play the IEC61937-13 data bursts file generated in 16x sampling rate mode, you will need to use -c8 -r192000 instead.