lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ