Audio Data Stream - 3.2 English

HDMI 1.4/2.0 Transmitter Subsystem Product Guide (PG235)

Document ID
Release Date
3.2 English

An AXI4-Stream audio cycle is illustrated in the following figure. The data is captured when both the valid (TVLD) and ready (TRDY) signals are asserted. The HDMI 1.4/2.0 TX Subsystem expects the channels in sequential order. If the channel data is not in order, the channel data might be mapped into other channel sample slots. Therefore, ensure that the audio stream source sends out adjacent channels in sequential order (CH0, CH1, etc.). Audio signals are defined in Audio Input Stream Interface.

Figure 1. Audio Cycle

In the HDMI 1.4/2.0 TX Subsystem, L-PCM (IEC 60958, Packet Type 0x02), HBR (Packet Type 0x09), and 3D Audio (Packet Type 0x0B) are handled by the hardware. The audio information, such as the format and number of channels, are set through API calls. Then the hardware packs the audio into the blanking period of the video stream accordingly.

void XV_HdmiTxSs_SetAudioFormat(XV_HdmiTxSs *InstancePtr, u8 format);
void XV_HdmiTxSs_SetAudioChannels(XV_HdmiTxSs *InstancePtr, u8 AudioChannels);


  1. InstancePtr is a pointer to the XV_HdmiTxSs instance.
  2. format is a selector of Audio Format
    • 0: L-PCM
    • 1: HBR
    • 2: 3D Audio
Important: When multiple channel audio is enabled in the system, ensure that the audio data is properly sent to their perspective channel allocation. Unused channels must be packed with zero (i.e., Mute) to avoid audio channel swapping, which means audio data might appear in unexpected channel locations.
Important: The HDMI specification requires all audio to be packed evenly (See table 7-6 of the HDMI specification). To send an odd number of channels, add a dummy channel. A dummy channel is created by adding zero data to last channel of the audio stream. This will make sure the audio packet is packed correctly by transferring your odd channels plus one dummy channel.