[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cdee3f7d-3f98-02dc-9fc6-18ffc489c6f8@mailbox.org>
Date: Tue, 6 Dec 2022 16:16:12 +0100
From: Carlos Rafael Giani <crg7475@...lbox.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Vinod Koul <vkoul@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>
Cc: alsa-devel@...a-project.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ALSA: compress: Add AC3, EAC3, TrueHD, DTS, MPEG-H 3D
Audio Stream (MHAS)
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@...lbox.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
Powered by blists - more mailing lists