mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Subject: Re: [ptxdist] [APPLIED] opus: version bump 1.5.1 -> 1.5.2
Date: Fri, 12 Jul 2024 10:05:40 +0200	[thread overview]
Message-ID: <20240712080540.651320-1-m.olbrich@pengutronix.de> (raw)
In-Reply-To: <20240711122744.600520-1-p.zabel@pengutronix.de>

Thanks, applied as 9b4ef399f8df672f8c7b20bdcf1a20eea55338a4.

Michael

[sent from post-receive hook]

On Fri, 12 Jul 2024 10:05:40 +0200, Philipp Zabel <p.zabel@pengutronix.de> wrote:
> https://opus-codec.org/release/stable/2024/04/12/libopus-1_5_2.html
> 
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> Message-Id: <20240711122744.600520-1-p.zabel@pengutronix.de>
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> 
> diff --git a/patches/opus-1.5.1/0001-fix-arm-asm-meson-source-build.patch b/patches/opus-1.5.1/0001-fix-arm-asm-meson-source-build.patch
> deleted file mode 100644
> index 046b12c655f6..000000000000
> --- a/patches/opus-1.5.1/0001-fix-arm-asm-meson-source-build.patch
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -From: Rudi Heitbaum <rudi@heitbaum.com>
> -Date: Wed, 6 Mar 2024 11:21:07 +0000
> -Subject: [PATCH] fix arm asm meson source build
> -
> -meson does mot support output with paths; add a meson.build file in the arm
> -directory. The output files were being incorrectly placed in the celt/ directory.
> -
> -Program arm/arm2gnu.pl found: YES (/var/media/DATA/home-rudi/LibreELEC.kernel11/build.LibreELEC-H3.arm-12.0-devel/build/opus-v1.5.1/celt/arm/arm2gnu.pl)
> -Configuring celt_pitch_xcorr_arm-gnu.S with command
> -
> -../celt/meson.build:51:25: ERROR: configure_file keyword argument "output" Output 'arm/armopts.s' must not contain a path segment.
> -
> -before:
> -celt/celt_pitch_xcorr_arm-gnu.S
> -
> -after:
> -celt/arm/celt_pitch_xcorr_arm-gnu.S
> -celt/arm/armopts.s
> -celt/arm/armopts-gnu.S
> -
> -Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
> -Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
> ----
> - celt/arm/meson.build | 12 ++++++++++++
> - celt/meson.build     |  9 +--------
> - 2 files changed, 13 insertions(+), 8 deletions(-)
> - create mode 100644 celt/arm/meson.build
> -
> -diff --git a/celt/arm/meson.build b/celt/arm/meson.build
> -new file mode 100644
> -index 000000000000..b4dec564fcbe
> ---- /dev/null
> -+++ b/celt/arm/meson.build
> -@@ -0,0 +1,12 @@
> -+arm2gnu = [find_program('arm2gnu.pl')] + arm2gnu_args
> -+celt_sources_arm_asm = configure_file(input: 'celt_pitch_xcorr_arm.s',
> -+  output: '@BASENAME@-gnu.S',
> -+  command: arm2gnu + ['@INPUT@'],
> -+  capture: true)
> -+celt_arm_armopts_s_in = configure_file(input: 'armopts.s.in',
> -+  output: 'armopts.s',
> -+  configuration: opus_conf)
> -+celt_arm_armopts_s = configure_file(input: [celt_arm_armopts_s_in],
> -+  output: '@BASENAME@-gnu.S',
> -+  command: arm2gnu + ['@INPUT@'],
> -+  capture: true)
> -diff --git a/celt/meson.build b/celt/meson.build
> -index 7852fc156021..46601ca13586 100644
> ---- a/celt/meson.build
> -+++ b/celt/meson.build
> -@@ -43,14 +43,7 @@ if host_cpu_family in ['arm', 'aarch64'] and have_arm_intrinsics_or_asm
> -     celt_sources += sources['CELT_SOURCES_ARM_NE10']
> -   endif
> -   if opus_arm_external_asm
> --    arm2gnu = [find_program('arm/arm2gnu.pl')] + arm2gnu_args
> --    celt_sources_arm_asm = configure_file(input: 'arm/celt_pitch_xcorr_arm.s',
> --      output: '@BASENAME@-gnu.S',
> --      command: arm2gnu + ['@INPUT@'],
> --      capture: true)
> --    celt_arm_armopts_s = configure_file(input: 'arm/armopts.s.in',
> --      output: 'arm/armopts.s',
> --      configuration: opus_conf)
> -+    subdir('arm')
> -     celt_static_libs += static_library('celt-armasm',
> -       celt_arm_armopts_s, celt_sources_arm_asm,
> -       install: false)
> diff --git a/patches/opus-1.5.1/0002-Extended-asm-with-C-operands-doesn-t-work-at-top-lev.patch b/patches/opus-1.5.1/0002-Extended-asm-with-C-operands-doesn-t-work-at-top-lev.patch
> deleted file mode 100644
> index 6fd6e641d3a1..000000000000
> --- a/patches/opus-1.5.1/0002-Extended-asm-with-C-operands-doesn-t-work-at-top-lev.patch
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -From: Rudi Heitbaum <rudi@heitbaum.com>
> -Date: Sat, 9 Mar 2024 17:39:20 +0000
> -Subject: [PATCH] =?UTF-8?q?Extended=20asm=20with=20C=20operands=20doesn?=
> - =?UTF-8?q?=E2=80=99t=20work=20at=20top=20level?=
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -fix the following test in the meson.build
> -
> -stderr:
> -testfile.c:6:34: error: expected ')' before '::' token
> -    6 |__asm__ (""::)
> -      |        ~  ^~
> -      |           )
> -testfile.c:6:37: error: expected ';' at end of input
> -    6 |__asm__ (""::)
> -      |              ^
> -      |              ;
> ------------
> -Checking if "compiler supports gcc-style inline assembly" compiles: NO
> -
> -refer:
> -- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41045
> -
> -Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
> -Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
> ----
> - meson.build | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/meson.build b/meson.build
> -index 5623260962fc..1b16b08f662a 100644
> ---- a/meson.build
> -+++ b/meson.build
> -@@ -227,7 +227,7 @@ if not opt_asm.disabled()
> -                       #error GCC before 3.4 has critical bugs compiling inline assembly
> -                       #endif
> -                       #endif
> --                      __asm__ (""::)''',
> -+                      int main(int argc, char ** argv) { __asm__ (""::); }''',
> -                    name : 'compiler supports gcc-style inline assembly')
> - 
> -       opus_conf.set('OPUS_ARM_INLINE_ASM', 1)
> diff --git a/patches/opus-1.5.1/0003-use-semicolon-not-newline-for-inline-assembler.patch b/patches/opus-1.5.1/0003-use-semicolon-not-newline-for-inline-assembler.patch
> deleted file mode 100644
> index e36073e2acd3..000000000000
> --- a/patches/opus-1.5.1/0003-use-semicolon-not-newline-for-inline-assembler.patch
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -From: Rudi Heitbaum <rudi@heitbaum.com>
> -Date: Sat, 9 Mar 2024 17:58:18 +0000
> -Subject: [PATCH] use semicolon not newline for inline assembler
> -
> -fixes:
> -
> -testfile.c:3:11: warning: missing terminating " character
> -    3 |   __asm__(".arch armv5te
> -      |           ^
> -testfile.c:4:1: error: expected string literal before '.' token
> -    4 | .object_arch armv4t
> -      | ^
> -testfile.c:5:14: warning: missing terminating " character
> -    5 | qadd r3,r3,r3");
> -      |              ^
> -
> -Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
> -Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
> ----
> - meson.build | 6 +++---
> - 1 file changed, 3 insertions(+), 3 deletions(-)
> -
> -diff --git a/meson.build b/meson.build
> -index 1b16b08f662a..bd23744cadb1 100644
> ---- a/meson.build
> -+++ b/meson.build
> -@@ -277,17 +277,17 @@ if not opt_asm.disabled()
> -         if not opus_arm_may_have_edsp
> -           message('Trying to force-enable armv5e EDSP instructions...')
> -           # AS_ASM_ARM_EDSP_FORCE
> --          opus_arm_may_have_edsp = cc.compiles(asm_tmpl.format('.arch armv5te\n.object_arch armv4t\nqadd r3,r3,r3'),
> -+          opus_arm_may_have_edsp = cc.compiles(asm_tmpl.format('.arch armv5te;.object_arch armv4t;qadd r3,r3,r3'),
> -                                                name : 'Assembler supports EDSP instructions on ARM (forced)')
> -         endif
> -         if not opus_arm_may_have_media
> -           message('Trying to force-enable ARMv6 media instructions...')
> --          opus_arm_may_have_media = cc.compiles(asm_tmpl.format('.arch armv6\n.object_arch armv4t\nshadd8 r3,r3,r3'),
> -+          opus_arm_may_have_media = cc.compiles(asm_tmpl.format('.arch armv6;.object_arch armv4t;shadd8 r3,r3,r3'),
> -                                                 name : 'Assembler supports ARMv6 media instructions on ARM (forced)')
> -         endif
> -         if not opus_arm_may_have_neon
> -           message('Trying to force-enable NEON instructions...')
> --          opus_arm_may_have_neon = cc.compiles(asm_tmpl.format('.arch armv7-a\n.fpu neon\n.object_arch armv4t\nvorr d0,d0,d0'),
> -+          opus_arm_may_have_neon = cc.compiles(asm_tmpl.format('.arch armv7-a;.fpu neon;.object_arch armv4t;vorr d0,d0,d0'),
> -                                                name : 'Assembler supports NEON instructions on ARM (forced)')
> -         endif
> -       endif
> diff --git a/patches/opus-1.5.1/0004-Add-OPUS_ARM_INLINE_DOTPROD-dotprod-check.patch b/patches/opus-1.5.1/0004-Add-OPUS_ARM_INLINE_DOTPROD-dotprod-check.patch
> deleted file mode 100644
> index 30590fb63c4b..000000000000
> --- a/patches/opus-1.5.1/0004-Add-OPUS_ARM_INLINE_DOTPROD-dotprod-check.patch
> +++ /dev/null
> @@ -1,73 +0,0 @@
> -From: Rudi Heitbaum <rudi@heitbaum.com>
> -Date: Sat, 9 Mar 2024 18:55:53 +0000
> -Subject: [PATCH] Add OPUS_ARM_INLINE_DOTPROD dotprod check
> -
> -fixes:
> -  ../meson.build:322:9: ERROR: Unknown variable "opus_arm_may_have_dotprod"
> -
> -after:
> -  dotprod check passes through.
> -
> -Checking if "compiler supports gcc-style inline assembly" compiles: YES
> -Checking if "assembler supports EDSP instructions on ARM" compiles: YES
> -Checking if "assembler supports ARMv6 media instructions on ARM" compiles: YES
> -Checking if "assembler supports NEON instructions on ARM" compiles: YES
> -Checking if "assembler supports DOTPROD instructions on ARM" compiles: NO
> -Program perl found: YES (/usr/bin/perl)
> -Fetching value of define "__APPLE__" : (undefined)
> -Checking if "compiler supports ARMv7/AArch64 NEON intrinsics" : links: YES
> -Checking if "compiler supports AArch64 NEON intrinsics" : links: NO
> -Checking if "compiler supports AArch64 NEON intrinsics with -mfpu=neon" : links: NO
> -Message: Compiler does not support AArch64 NEON intrinsics
> -Checking if "compiler supports AArch64 DOTPROD intrinsics" : links: NO
> -Checking if "compiler supports AArch64 DOTPROD intrinsics with -march=armv8.2-a+dotprod" : links: NO
> -Message: Compiler does not support AArch64 DOTPROD intrinsics
> -
> -refer:
> -- https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/exploring-the-arm-dot-product-instructions
> -
> -test with:
> -armv7ve-none-linux-gnueabihf-gcc test.c
> -/tmp/cc02sooK.s: Assembler messages:
> -/tmp/cc02sooK.s:32: Error: bad instruction `udot v0.4s,v1.16b,v2.16b'
> -
> -aarch64-none-linux-gnu-gcc test.c
> -/tmp/ccnVi9Ec.s: Assembler messages:
> -/tmp/ccnVi9Ec.s:12: Error: selected processor does not support `udot v0.4s,v1.16b,v2.16b'
> -
> -aarch64-none-linux-gnu-gcc -march=armv8.2-a+dotprod test.c
> -
> -Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
> -Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
> ----
> - meson.build | 10 ++++++++++
> - 1 file changed, 10 insertions(+)
> -
> -diff --git a/meson.build b/meson.build
> -index bd23744cadb1..8624f0c38a59 100644
> ---- a/meson.build
> -+++ b/meson.build
> -@@ -252,6 +252,13 @@ if not opt_asm.disabled()
> -         opus_conf.set('OPUS_ARM_INLINE_NEON', 1)
> -         inline_optimization += ['NEON']
> -       endif
> -+
> -+      # AS_ASM_ARM_DOTPROD
> -+      if cc.compiles(asm_tmpl.format('udot v0.4s,v1.16b,v2.16b'),
> -+                     name : 'assembler supports DOTPROD instructions on ARM')
> -+        opus_conf.set('OPUS_ARM_INLINE_DOTPROD', 1)
> -+        inline_optimization += ['DOTPROD']
> -+      endif
> -     endif
> - 
> -     # We need Perl to translate RVCT-syntax asm to gas syntax
> -@@ -273,6 +280,9 @@ if not opt_asm.disabled()
> -       opus_arm_may_have_neon = opus_conf.has('OPUS_ARM_INLINE_NEON')
> -       opus_arm_presume_neon = opus_arm_may_have_neon and opus_can_presume_simd
> - 
> -+      opus_arm_may_have_dotprod = opus_conf.has('OPUS_ARM_INLINE_DOTPROD')
> -+      opus_arm_presume_dotprod = opus_arm_may_have_dotprod and opus_can_presume_simd
> -+
> -       if not opt_rtcd.disabled()
> -         if not opus_arm_may_have_edsp
> -           message('Trying to force-enable armv5e EDSP instructions...')
> diff --git a/patches/opus-1.5.1/0005-Fix-meson-AVX2-fixed-point.patch b/patches/opus-1.5.1/0005-Fix-meson-AVX2-fixed-point.patch
> deleted file mode 100644
> index 3ca42f93b983..000000000000
> --- a/patches/opus-1.5.1/0005-Fix-meson-AVX2-fixed-point.patch
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -From: Jean-Marc Valin <jmvalin@jmvalin.ca>
> -Date: Tue, 12 Mar 2024 02:03:22 -0400
> -Subject: [PATCH] Fix meson AVX2 fixed-point
> -
> ----
> - silk/meson.build | 4 +---
> - 1 file changed, 1 insertion(+), 3 deletions(-)
> -
> -diff --git a/silk/meson.build b/silk/meson.build
> -index 80a59b050eb5..35d955784f5d 100644
> ---- a/silk/meson.build
> -+++ b/silk/meson.build
> -@@ -44,9 +44,7 @@ foreach intr_name : ['sse4_1', 'avx2', 'neon_intr']
> -   endif
> - 
> -   intr_sources = get_variable('silk_sources_' + intr_name)
> --  if opt_fixed_point
> --    intr_sources += get_variable('silk_sources_fixed_' + intr_name)
> --  else
> -+  if not opt_fixed_point
> -     intr_sources += get_variable('silk_sources_float_' + intr_name)
> -   endif
> - 
> diff --git a/patches/opus-1.5.1/series b/patches/opus-1.5.1/series
> deleted file mode 100644
> index 5678dc243583..000000000000
> --- a/patches/opus-1.5.1/series
> +++ /dev/null
> @@ -1,11 +0,0 @@
> -# generated by git-ptx-patches
> -#tag:base --start-number 1
> -#tag:upstream --start-number 1
> -0001-fix-arm-asm-meson-source-build.patch
> -0002-Extended-asm-with-C-operands-doesn-t-work-at-top-lev.patch
> -0003-use-semicolon-not-newline-for-inline-assembler.patch
> -0004-Add-OPUS_ARM_INLINE_DOTPROD-dotprod-check.patch
> -0005-Fix-meson-AVX2-fixed-point.patch
> -#tag:ptxdist --start-number 100
> -0100-ptxdist-get-version.py-don-t-detect-extract-git-as-g.patch
> -# d3a0d1e86246dea00cfd9809d8cd3632  - git-ptx-patches magic
> diff --git a/patches/opus-1.5.1/0100-ptxdist-get-version.py-don-t-detect-extract-git-as-g.patch b/patches/opus-1.5.2/0001-ptxdist-get-version.py-don-t-detect-extract-git-as-g.patch
> similarity index 100%
> rename from patches/opus-1.5.1/0100-ptxdist-get-version.py-don-t-detect-extract-git-as-g.patch
> rename to patches/opus-1.5.2/0001-ptxdist-get-version.py-don-t-detect-extract-git-as-g.patch
> diff --git a/patches/opus-1.5.2/series b/patches/opus-1.5.2/series
> new file mode 100644
> index 000000000000..0723ece39410
> --- /dev/null
> +++ b/patches/opus-1.5.2/series
> @@ -0,0 +1,5 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +#tag:ptxdist --start-number 1
> +0001-ptxdist-get-version.py-don-t-detect-extract-git-as-g.patch
> +# 1bdeb1d97ceee32f819192c5ae88c2a3  - git-ptx-patches magic
> diff --git a/rules/opus.make b/rules/opus.make
> index 707889c79662..49a22b0c5897 100644
> --- a/rules/opus.make
> +++ b/rules/opus.make
> @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_OPUS) += opus
>  #
>  # Paths and names
>  #
> -OPUS_VERSION	:= 1.5.1
> -OPUS_MD5	:= 06c0e626ea3ad72f7b006e9130c8b15d
> +OPUS_VERSION	:= 1.5.2
> +OPUS_MD5	:= c40b3a1fbdbb9a7aa178600b88200c76
>  OPUS		:= opus-$(OPUS_VERSION)
>  OPUS_SUFFIX	:= tar.gz
>  OPUS_URL	:= http://downloads.xiph.org/releases/opus/$(OPUS).$(OPUS_SUFFIX)
> @@ -51,12 +51,11 @@ OPUS_CONF_OPT	:= \
>  	-Dassertions=false \
>  	-Dcheck-asm=false \
>  	-Dcustom-modes=false \
> +	-Ddeep-plc=$(call ptx/endis, PTXCONF_OPUS_DEEP_PLC)d \
> +	-Ddnn-debug-float=disabled \
> +	-Ddred=disabled \
>  	-Ddocdir=doc/opus \
>  	-Ddocs=disabled \
> -	-Denable-deep-plc=$(call ptx/truefalse, PTXCONF_OPUS_DEEP_PLC) \
> -	-Denable-dnn-debug-float=false \
> -	-Denable-dred=false \
> -	-Denable-osce=$(call ptx/truefalse, PTXCONF_OPUS_OSCE) \
>  	-Dextra-programs=disabled \
>  	-Dfixed-point=$(call ptx/falsetrue, PTXCONF_HAS_HARDFLOAT) \
>  	-Dfixed-point-debug=false \
> @@ -65,6 +64,7 @@ OPUS_CONF_OPT	:= \
>  	-Dfuzzing=false \
>  	-Dhardening=true \
>  	-Dintrinsics=$(call ptx/endis, OPUS_INTRINSICS)d \
> +	-Dosce=$(call ptx/endis, PTXCONF_OPUS_OSCE)d \
>  	-Drtcd=$(call ptx/endis, OPUS_RTCD)d \
>  	-Dtests=disabled
>  



      reply	other threads:[~2024-07-12  8:06 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-11 12:27 [ptxdist] [PATCH v2] " Philipp Zabel
2024-07-12  8:05 ` Michael Olbrich [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=20240712080540.651320-1-m.olbrich@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=p.zabel@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /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