From: "Alexey Klimov" <alexey.klimov@linaro.org>
To: "Srinivas Kandagatla" <srinivas.kandagatla@oss.qualcomm.com>
Cc: "Vinod Koul" <vkoul@kernel.org>,
"Jaroslav Kysela" <perex@perex.cz>,
"Takashi Iwai" <tiwai@suse.com>,
"Srinivas Kandagatla" <srini@kernel.org>,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Mark Brown" <broonie@kernel.org>,
"Patrick Lai" <plai@qti.qualcomm.com>,
"Annemarie Porter" <annemari@quicinc.com>,
<linux-sound@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-arm-msm@vger.kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>,
<kernel@oss.qualcomm.com>,
"Ekansh Gupta" <ekansh.gupta@oss.qualcomm.com>,
"Pierre-Louis Bossart" <pierre-louis.bossart@linux.dev>
Subject: Re: [PATCH RFC 2/2] ASoC: qcom: qdsp6/audioreach: add support for offloading raw opus playback
Date: Wed, 20 Aug 2025 18:56:30 +0100 [thread overview]
Message-ID: <DC7G65CXCQRB.3NGHI539I09CP@linaro.org> (raw)
In-Reply-To: <c4d934c1-0218-4147-882f-279795bcd1f4@oss.qualcomm.com>
On Wed Jun 18, 2025 at 1:34 PM BST, Srinivas Kandagatla wrote:
>
>
> On 6/16/25 4:26 PM, Alexey Klimov wrote:
>> Add support for OPUS module, OPUS format ID, media format payload struct
>> and make it all recognizable by audioreach compress playback path.
>>
>> At this moment this only supports raw or plain OPUS packets not
>> encapsulated in container (for instance OGG container). For this usecase
>> each OPUS packet needs to be prepended with 4-bytes long length field
>> which is expected to be done by userspace applications. This is
>> Qualcomm DSP specific requirement.
>> > This patch is based on earlier work done by
>> Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>
> Thanks for picking this up Alexey,
>
> Same, co-dev by should be good attribute for such things.
Thanks. I'll update it for the next version.
>> Cc: Annemarie Porter <annemari@quicinc.com>
>> Cc: Srinivas Kandagatla <srini@kernel.org>
>> Cc: Vinod Koul <vkoul@kernel.org>
>> Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
>> ---
>> sound/soc/qcom/qdsp6/audioreach.c | 33 +++++++++++++++++++++++++++++++++
>> sound/soc/qcom/qdsp6/audioreach.h | 17 +++++++++++++++++
>> sound/soc/qcom/qdsp6/q6apm-dai.c | 3 ++-
>> sound/soc/qcom/qdsp6/q6apm.c | 3 +++
>> 4 files changed, 55 insertions(+), 1 deletion(-)
>>
>> diff --git a/sound/soc/qcom/qdsp6/audioreach.c b/sound/soc/qcom/qdsp6/audioreach.c
>> index 4ebaaf736fb98a5a8a58d06416b3ace2504856e1..09e3a4da945d61b6915bf8b6f382c25ae94c5888 100644
>> --- a/sound/soc/qcom/qdsp6/audioreach.c
>> +++ b/sound/soc/qcom/qdsp6/audioreach.c
>> @@ -859,6 +859,7 @@ static int audioreach_set_compr_media_format(struct media_format *media_fmt_hdr,
>> struct payload_media_fmt_aac_t *aac_cfg;
>> struct payload_media_fmt_pcm *mp3_cfg;
>> struct payload_media_fmt_flac_t *flac_cfg;
>> + struct payload_media_fmt_opus_t *opus_cfg;
>>
>> switch (mcfg->fmt) {
>> case SND_AUDIOCODEC_MP3:
>> @@ -901,6 +902,38 @@ static int audioreach_set_compr_media_format(struct media_format *media_fmt_hdr,
>> flac_cfg->min_frame_size = mcfg->codec.options.flac_d.min_frame_size;
>> flac_cfg->max_frame_size = mcfg->codec.options.flac_d.max_frame_size;
>> break;
>> + case SND_AUDIOCODEC_OPUS_RAW:
>> + media_fmt_hdr->data_format = DATA_FORMAT_RAW_COMPRESSED;
>> + media_fmt_hdr->fmt_id = MEDIA_FMT_ID_OPUS;
>> + media_fmt_hdr->payload_size = sizeof(struct payload_media_fmt_opus_t);
>
> maybe sizeof(*opus_cfg)?
Ack.
Best regards,
Alexey
prev parent reply other threads:[~2025-08-20 17:56 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-16 15:26 [PATCH RFC 0/2] Add raw OPUS codec support for compress offload Alexey Klimov
2025-06-16 15:26 ` [PATCH RFC 1/2] ALSA: compress: add raw opus codec define and struct snd_dec_opus Alexey Klimov
2025-06-18 12:33 ` Srinivas Kandagatla
2025-08-20 17:59 ` Alexey Klimov
2025-06-16 15:26 ` [PATCH RFC 2/2] ASoC: qcom: qdsp6/audioreach: add support for offloading raw opus playback Alexey Klimov
2025-06-18 12:34 ` Srinivas Kandagatla
2025-07-03 14:33 ` Alexey Klimov
2025-08-20 18:04 ` Alexey Klimov
2025-08-20 17:56 ` Alexey Klimov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DC7G65CXCQRB.3NGHI539I09CP@linaro.org \
--to=alexey.klimov@linaro.org \
--cc=annemari@quicinc.com \
--cc=broonie@kernel.org \
--cc=ekansh.gupta@oss.qualcomm.com \
--cc=kernel@oss.qualcomm.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.dev \
--cc=plai@qti.qualcomm.com \
--cc=srini@kernel.org \
--cc=srinivas.kandagatla@oss.qualcomm.com \
--cc=tiwai@suse.com \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).