Thanks, applied as 9b4ef399f8df672f8c7b20bdcf1a20eea55338a4.

Michael

[sent from post-receive hook]

On Fri, 12 Jul 2024 10:05:40 +0200, Philipp Zabel <[email protected]> 
wrote:
> https://opus-codec.org/release/stable/2024/04/12/libopus-1_5_2.html
> 
> Signed-off-by: Philipp Zabel <[email protected]>
> Message-Id: <[email protected]>
> Signed-off-by: Michael Olbrich <[email protected]>
> 
> 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 <[email protected]>
> -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 <[email protected]>
> -Signed-off-by: Jean-Marc Valin <[email protected]>
> ----
> - 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: '@[email protected]',
> -+  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: '@[email protected]',
> -+  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: '@[email protected]',
> --      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 <[email protected]>
> -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 <[email protected]>
> -Signed-off-by: Jean-Marc Valin <[email protected]>
> ----
> - 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 <[email protected]>
> -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 <[email protected]>
> -Signed-off-by: Jean-Marc Valin <[email protected]>
> ----
> - 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 <[email protected]>
> -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 <[email protected]>
> -Signed-off-by: Jean-Marc Valin <[email protected]>
> ----
> - 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 <[email protected]>
> -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 via email to