[PATCH] ALSA: compress: Add AC3, EAC3, TrueHD, DTS, MPEG-H 3D Audio Stream (MHAS)

Carlos Rafael Giani crg7475 at mailbox.org
Tue Dec 6 16:16:12 CET 2022


IEC61937 is quite commonly used, yes. However, I have been working with 
a commercial system that is getting support for these formats 
implemented via compress-offload. Since these formats aren't exactly 
uncommon, I figured that adding these could be useful, especially since 
only the #defines need to be added, nothing else.

On 06.12.22 16:07, Pierre-Louis Bossart wrote:
>
> On 12/6/22 08:53, Carlos Rafael Giani wrote:
>> These audio codecs are used in sound bars and digital TVs, and benefit
>> from off-loading to a DSP. In particular, Dolby Atmos and MPEG-H 3D audio
>> spatialization is done in dedicated DSPs. Thus, adding these codecs  to
>> the Compress-Offload API makes sense.
> The question is "how is the stream transported". In most implementations
> for these formats, the DSP is on the receiver side and the transport
> happens with an IEC61937 format - which does not require the use of the
> compressed API.
>
>> Signed-off-by: Carlos Rafael Giani <crg7475 at mailbox.org>
>> ---
>>   include/uapi/sound/compress_params.h | 8 +++++++-
>>   1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/uapi/sound/compress_params.h b/include/uapi/sound/compress_params.h
>> index ddc77322d571..7a58e2026be3 100644
>> --- a/include/uapi/sound/compress_params.h
>> +++ b/include/uapi/sound/compress_params.h
>> @@ -43,7 +43,13 @@
>>   #define SND_AUDIOCODEC_BESPOKE               ((__u32) 0x0000000E)
>>   #define SND_AUDIOCODEC_ALAC                  ((__u32) 0x0000000F)
>>   #define SND_AUDIOCODEC_APE                   ((__u32) 0x00000010)
>> -#define SND_AUDIOCODEC_MAX                   SND_AUDIOCODEC_APE
>> +#define SND_AUDIOCODEC_AC3                   ((__u32) 0x00000011)
>> +#define SND_AUDIOCODEC_EAC3                  ((__u32) 0x00000012)
>> +#define SND_AUDIOCODEC_TRUEHD                ((__u32) 0x00000013)
>> +#define SND_AUDIOCODEC_DTS                   ((__u32) 0x00000014)
> IIRC there are multiple flavors of DTS, off the top of my head DTS-ES,
> 96, HD, Master Audio. "DTS" only doesn't even begin to describe the
> possible variants.
>
>> +/* MPEG-H 3D Audio Stream (MHAS) as defined in ISO/IEC 23008-3 */
>> +#define SND_AUDIOCODEC_MHAS                  ((__u32) 0x00000015)
> Doesn't this need the definition of profiles and various types of
> formats - classic problem with designed-by-committee MPEG codecs.
>
>> +#define SND_AUDIOCODEC_MAX                   SND_AUDIOCODEC_MHAS
>
>>   /*
>>    * Profile and modes are listed with bit masks. This allows for a


More information about the Alsa-devel mailing list