mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1
@ 2024-03-08 11:57 Philipp Zabel
  2024-03-08 11:57 ` [ptxdist] [PATCH 2/2] opus: switch to meson build system Philipp Zabel
  2024-03-15  6:19 ` [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1 Michael Olbrich
  0 siblings, 2 replies; 4+ messages in thread
From: Philipp Zabel @ 2024-03-08 11:57 UTC (permalink / raw)
  To: ptxdist; +Cc: Philipp Zabel

https://opus-codec.org/demo/opus-1.5/

New features optional, enabling DRED, deep PLC, and OSCE increases
the library size by a few MiB.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 rules/opus.in   | 20 ++++++++++++++++++--
 rules/opus.make | 11 +++++++++--
 2 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/rules/opus.in b/rules/opus.in
index 7412eb76a538..3b8e6444cd3e 100644
--- a/rules/opus.in
+++ b/rules/opus.in
@@ -1,7 +1,23 @@
 ## SECTION=multimedia_libs
 
-config OPUS
+menuconfig OPUS
 	tristate
-	prompt "opus"
+	prompt "opus                          "
 	help
 	  Opus is a totally open, royalty-free, highly versatile audio codec.
+
+if OPUS
+
+config OPUS_DRED
+	bool
+	prompt "enable deep redundancy (DRED)"
+
+config OPUS_DEEP_PLC
+	bool
+	prompt "enable deep packet loss concealment (PLC)"
+
+config OPUS_OSCE
+	bool
+	prompt "enable opus speech coding enhancement (OSCE)"
+
+endif
diff --git a/rules/opus.make b/rules/opus.make
index 4dd2f9d9b653..ea1f04837cf1 100644
--- a/rules/opus.make
+++ b/rules/opus.make
@@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_OPUS) += opus
 #
 # Paths and names
 #
-OPUS_VERSION	:= 1.4
-OPUS_MD5	:= 0d89c15268c5c5984f583d7997d2a148
+OPUS_VERSION	:= 1.5.1
+OPUS_MD5	:= 06c0e626ea3ad72f7b006e9130c8b15d
 OPUS		:= opus-$(OPUS_VERSION)
 OPUS_SUFFIX	:= tar.gz
 OPUS_URL	:= http://downloads.xiph.org/releases/opus/$(OPUS).$(OPUS_SUFFIX)
@@ -38,6 +38,9 @@ OPUS_CONF_OPT	:= \
 	--disable-fixed-point-debug \
 	--enable-float-api \
 	--disable-custom-modes \
+	--$(call ptx/endis, PTXCONF_OPUS_DRED)-dred \
+	--$(call ptx/endis, PTXCONF_OPUS_DEEP_PLC)-deep-plc \
+	--disable-lossgen \
 	--enable-float-approx \
 	--enable-asm \
 	--enable-rtcd \
@@ -47,6 +50,10 @@ OPUS_CONF_OPT	:= \
 	--disable-fuzzing \
 	--disable-check-asm \
 	--disable-doc \
+	--disable-dot-product \
+	--disable-dnn-debug-float \
+	--disable-osce-training-data \
+	--$(call ptx/endis, PTXCONF_OPUS_OSCE)-osce \
 	--disable-extra-programs \
 	--enable-rfc8251
 
-- 
2.39.2




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ptxdist] [PATCH 2/2] opus: switch to meson build system
  2024-03-08 11:57 [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1 Philipp Zabel
@ 2024-03-08 11:57 ` Philipp Zabel
  2024-03-15  6:19 ` [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1 Michael Olbrich
  1 sibling, 0 replies; 4+ messages in thread
From: Philipp Zabel @ 2024-03-08 11:57 UTC (permalink / raw)
  To: ptxdist; +Cc: Philipp Zabel

Enable the asm option only together with fixed-point.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 rules/opus.in   |  1 +
 rules/opus.make | 50 ++++++++++++++++++++++---------------------------
 2 files changed, 23 insertions(+), 28 deletions(-)

diff --git a/rules/opus.in b/rules/opus.in
index 3b8e6444cd3e..6751e17cfe24 100644
--- a/rules/opus.in
+++ b/rules/opus.in
@@ -3,6 +3,7 @@
 menuconfig OPUS
 	tristate
 	prompt "opus                          "
+	select HOST_MESON
 	help
 	  Opus is a totally open, royalty-free, highly versatile audio codec.
 
diff --git a/rules/opus.make b/rules/opus.make
index ea1f04837cf1..0feb0ebc401b 100644
--- a/rules/opus.make
+++ b/rules/opus.make
@@ -27,35 +27,29 @@ OPUS_LICENSE	:= BSD-3-Clause
 # Prepare
 # ----------------------------------------------------------------------------
 
-#
-# autoconf
-#
-OPUS_CONF_TOOL	:= autoconf
+OPUS_CONF_TOOL	:= meson
 OPUS_CONF_OPT	:= \
-	$(CROSS_AUTOCONF_USR) \
-	--disable-static \
-	--$(call ptx/disen, PTXCONF_HAS_HARDFLOAT)-fixed-point \
-	--disable-fixed-point-debug \
-	--enable-float-api \
-	--disable-custom-modes \
-	--$(call ptx/endis, PTXCONF_OPUS_DRED)-dred \
-	--$(call ptx/endis, PTXCONF_OPUS_DEEP_PLC)-deep-plc \
-	--disable-lossgen \
-	--enable-float-approx \
-	--enable-asm \
-	--enable-rtcd \
-	--enable-intrinsics \
-	--disable-assertions \
-	--enable-hardening \
-	--disable-fuzzing \
-	--disable-check-asm \
-	--disable-doc \
-	--disable-dot-product \
-	--disable-dnn-debug-float \
-	--disable-osce-training-data \
-	--$(call ptx/endis, PTXCONF_OPUS_OSCE)-osce \
-	--disable-extra-programs \
-	--enable-rfc8251
+	$(CROSS_MESON_USR) \
+	-Dasm=$(call ptx/disen, PTXCONF_HAS_HARDFLOAT)d \
+	-Dassertions=false \
+	-Dcheck-asm=false \
+	-Dcustom-modes=false \
+	-Ddocdir=doc/opus \
+	-Ddocs=disabled \
+	-Denable-deep-plc=$(call ptx/truefalse, PTXCONF_OPUS_DEEP_PLC) \
+	-Denable-dnn-debug-float=false \
+	-Denable-dred=$(call ptx/truefalse, PTXCONF_OPUS_DRED) \
+	-Denable-osce=$(call ptx/truefalse, PTXCONF_OPUS_OSCE) \
+	-Dextra-programs=disabled \
+	-Dfixed-point=$(call ptx/falsetrue, PTXCONF_HAS_HARDFLOAT) \
+	-Dfixed-point-debug=false \
+	-Dfloat-api=true \
+	-Dfloat-approx=true \
+	-Dfuzzing=false \
+	-Dhardening=true \
+	-Dintrinsics=enabled \
+	-Drtcd=enabled \
+	-Dtests=disabled
 
 # ----------------------------------------------------------------------------
 # Target-Install
-- 
2.39.2




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1
  2024-03-08 11:57 [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1 Philipp Zabel
  2024-03-08 11:57 ` [ptxdist] [PATCH 2/2] opus: switch to meson build system Philipp Zabel
@ 2024-03-15  6:19 ` Michael Olbrich
  2024-03-15 12:00   ` Philipp Zabel
  1 sibling, 1 reply; 4+ messages in thread
From: Michael Olbrich @ 2024-03-15  6:19 UTC (permalink / raw)
  To: Philipp Zabel; +Cc: ptxdist

On Fri, Mar 08, 2024 at 12:57:55PM +0100, Philipp Zabel wrote:
> https://opus-codec.org/demo/opus-1.5/
> 
> New features optional, enabling DRED, deep PLC, and OSCE increases
> the library size by a few MiB.
> 
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> ---
>  rules/opus.in   | 20 ++++++++++++++++++--
>  rules/opus.make | 11 +++++++++--
>  2 files changed, 27 insertions(+), 4 deletions(-)
> 
> diff --git a/rules/opus.in b/rules/opus.in
> index 7412eb76a538..3b8e6444cd3e 100644
> --- a/rules/opus.in
> +++ b/rules/opus.in
> @@ -1,7 +1,23 @@
>  ## SECTION=multimedia_libs
>  
> -config OPUS
> +menuconfig OPUS
>  	tristate
> -	prompt "opus"
> +	prompt "opus                          "
>  	help
>  	  Opus is a totally open, royalty-free, highly versatile audio codec.
> +
> +if OPUS
> +
> +config OPUS_DRED
> +	bool
> +	prompt "enable deep redundancy (DRED)"
> +
> +config OPUS_DEEP_PLC
> +	bool
> +	prompt "enable deep packet loss concealment (PLC)"
> +
> +config OPUS_OSCE
> +	bool
> +	prompt "enable opus speech coding enhancement (OSCE)"

What's the reason for making these optional? I'd prefer to just hardcode
whatever everybody else is doing unless there is a good reason to make
these optional. And in that case, the options need a help text to help
decide what to choose. I wouldn't know what to do by just looking at these
options.

Michael

> +
> +endif
> diff --git a/rules/opus.make b/rules/opus.make
> index 4dd2f9d9b653..ea1f04837cf1 100644
> --- a/rules/opus.make
> +++ b/rules/opus.make
> @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_OPUS) += opus
>  #
>  # Paths and names
>  #
> -OPUS_VERSION	:= 1.4
> -OPUS_MD5	:= 0d89c15268c5c5984f583d7997d2a148
> +OPUS_VERSION	:= 1.5.1
> +OPUS_MD5	:= 06c0e626ea3ad72f7b006e9130c8b15d
>  OPUS		:= opus-$(OPUS_VERSION)
>  OPUS_SUFFIX	:= tar.gz
>  OPUS_URL	:= http://downloads.xiph.org/releases/opus/$(OPUS).$(OPUS_SUFFIX)
> @@ -38,6 +38,9 @@ OPUS_CONF_OPT	:= \
>  	--disable-fixed-point-debug \
>  	--enable-float-api \
>  	--disable-custom-modes \
> +	--$(call ptx/endis, PTXCONF_OPUS_DRED)-dred \
> +	--$(call ptx/endis, PTXCONF_OPUS_DEEP_PLC)-deep-plc \
> +	--disable-lossgen \
>  	--enable-float-approx \
>  	--enable-asm \
>  	--enable-rtcd \
> @@ -47,6 +50,10 @@ OPUS_CONF_OPT	:= \
>  	--disable-fuzzing \
>  	--disable-check-asm \
>  	--disable-doc \
> +	--disable-dot-product \
> +	--disable-dnn-debug-float \
> +	--disable-osce-training-data \
> +	--$(call ptx/endis, PTXCONF_OPUS_OSCE)-osce \
>  	--disable-extra-programs \
>  	--enable-rfc8251
>  
> -- 
> 2.39.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1
  2024-03-15  6:19 ` [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1 Michael Olbrich
@ 2024-03-15 12:00   ` Philipp Zabel
  0 siblings, 0 replies; 4+ messages in thread
From: Philipp Zabel @ 2024-03-15 12:00 UTC (permalink / raw)
  To: ptxdist

On Fri, Mar 15, 2024 at 07:19:24AM +0100, Michael Olbrich wrote:
> On Fri, Mar 08, 2024 at 12:57:55PM +0100, Philipp Zabel wrote:
> > https://opus-codec.org/demo/opus-1.5/
> > 
> > New features optional, enabling DRED, deep PLC, and OSCE increases
> > the library size by a few MiB.
> > 
> > Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> > ---
> >  rules/opus.in   | 20 ++++++++++++++++++--
> >  rules/opus.make | 11 +++++++++--
> >  2 files changed, 27 insertions(+), 4 deletions(-)
> > 
> > diff --git a/rules/opus.in b/rules/opus.in
> > index 7412eb76a538..3b8e6444cd3e 100644
> > --- a/rules/opus.in
> > +++ b/rules/opus.in
> > @@ -1,7 +1,23 @@
> >  ## SECTION=multimedia_libs
> >  
> > -config OPUS
> > +menuconfig OPUS
> >  	tristate
> > -	prompt "opus"
> > +	prompt "opus                          "
> >  	help
> >  	  Opus is a totally open, royalty-free, highly versatile audio codec.
> > +
> > +if OPUS
> > +
> > +config OPUS_DRED
> > +	bool
> > +	prompt "enable deep redundancy (DRED)"
> > +
> > +config OPUS_DEEP_PLC
> > +	bool
> > +	prompt "enable deep packet loss concealment (PLC)"
> > +
> > +config OPUS_OSCE
> > +	bool
> > +	prompt "enable opus speech coding enhancement (OSCE)"
> 
> What's the reason for making these optional? I'd prefer to just hardcode
> whatever everybody else is doing unless there is a good reason to make
> these optional. And in that case, the options need a help text to help
> decide what to choose. I wouldn't know what to do by just looking at these
> options.

Enabling the new ML features increases the library size by about 5 MiB
(2 MiB for DRED + 1 MiB for deep PLC, and 1 MiB 1.6 MiB for OSCE, according
to the blog post).

DRED and deep PLC are supposed to improve voice quality under packet loss,
OSCE at low bitrates.

regards
Philipp



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-03-15 12:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-08 11:57 [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1 Philipp Zabel
2024-03-08 11:57 ` [ptxdist] [PATCH 2/2] opus: switch to meson build system Philipp Zabel
2024-03-15  6:19 ` [ptxdist] [PATCH 1/2] opus: version bump 1.4 -> 1.5.1 Michael Olbrich
2024-03-15 12:00   ` Philipp Zabel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox