From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 08 Apr 2024 13:07:59 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rtmr1-002Z8v-1Q for lore@lore.pengutronix.de; Mon, 08 Apr 2024 13:07:59 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1rtmr0-0005wO-Te; Mon, 08 Apr 2024 13:07:58 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rtmog-0002iW-KO; Mon, 08 Apr 2024 13:05:34 +0200 Received: from [2a0a:edc0:0:1101:1d::54] (helo=dude05.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rtmog-00B6PO-86; Mon, 08 Apr 2024 13:05:34 +0200 Received: from mol by dude05.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1rtmog-007bk3-0f; Mon, 08 Apr 2024 13:05:34 +0200 From: Michael Olbrich To: ptxdist@pengutronix.de Date: Mon, 8 Apr 2024 13:05:34 +0200 Message-Id: <20240408110534.1813147-1-m.olbrich@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240326082400.2458682-1-p.zabel@pengutronix.de> References: <20240326082400.2458682-1-p.zabel@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: Re: [ptxdist] [APPLIED] opus: add machine learning options X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Philipp Zabel Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false Thanks, applied as 13df1bf7f28fbfe7632b2fba67391b9093dc5010. Michael [sent from post-receive hook] On Mon, 08 Apr 2024 13:05:34 +0200, Philipp Zabel wrote: > Allow to use machine learning methods that improve voice quality under > sporadic packet loss and at low bitrates, by enabling the deep packet > loss concealment (PLC) and opus speech coding enhancement (OSCE), > respectively. > > The speech coding enhancements are not yet standardized, but turning > them on does not have compability implications, as they are purely > voice quality enhancement steps done by the decoder. > > For details, see https://opus-codec.org/demo/opus-1.5/. > > Signed-off-by: Philipp Zabel > Message-Id: <20240326082400.2458682-1-p.zabel@pengutronix.de> > Signed-off-by: Michael Olbrich > > diff --git a/rules/opus.in b/rules/opus.in > index d906da5e687a..df7e715690a6 100644 > --- a/rules/opus.in > +++ b/rules/opus.in > @@ -1,9 +1,35 @@ > ## SECTION=multimedia_libs > > -config OPUS > +menuconfig OPUS > tristate > prompt "opus" > select HOST_SYSTEM_PERL > select HOST_MESON > help > Opus is a totally open, royalty-free, highly versatile audio codec. > + > +if OPUS > + > +config OPUS_DEEP_PLC > + bool > + prompt "enable deep packet loss concealment (PLC)" > + help > + Improves voice quality under sporadic packet loss, by using a deep > + neural network to help with filling in short audio gaps in the > + decoder. The decoder complexity needs to be set to 5 or more for this. > + Increases binary size by about 1 MiB. > + For details, see https://opus-codec.org/demo/opus-1.5/. > + > +config OPUS_OSCE > + bool > + prompt "enable opus speech coding enhancement (OSCE)" > + help > + Improves voice quality of low-bitrate streams by applying voice > + enhancements in the decoder. > + A Linear Adaptive Coding Enhancer (LACE, ~100 MFLOPS) is used at > + decoder complexity setting 6, and a Non-Linear variation (NoLACE, > + ~400 MFLOPS) is used at decoder complexity setting 7. > + Increases binary size by about 1.6 MiB. > + For details, see https://opus-codec.org/demo/opus-1.5/. > + > +endif > diff --git a/rules/opus.make b/rules/opus.make > index 0c3c659d0d43..707889c79662 100644 > --- a/rules/opus.make > +++ b/rules/opus.make > @@ -53,10 +53,10 @@ OPUS_CONF_OPT := \ > -Dcustom-modes=false \ > -Ddocdir=doc/opus \ > -Ddocs=disabled \ > - -Denable-deep-plc=false \ > + -Denable-deep-plc=$(call ptx/truefalse, PTXCONF_OPUS_DEEP_PLC) \ > -Denable-dnn-debug-float=false \ > -Denable-dred=false \ > - -Denable-osce=false \ > + -Denable-osce=$(call ptx/truefalse, PTXCONF_OPUS_OSCE) \ > -Dextra-programs=disabled \ > -Dfixed-point=$(call ptx/falsetrue, PTXCONF_HAS_HARDFLOAT) \ > -Dfixed-point-debug=false \