mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH v2] opus: version bump 1.5.1 -> 1.5.2
@ 2024-07-11 12:27 Philipp Zabel
  2024-07-12  8:05 ` [ptxdist] [APPLIED] " Michael Olbrich
  0 siblings, 1 reply; 2+ messages in thread
From: Philipp Zabel @ 2024-07-11 12:27 UTC (permalink / raw)
  To: ptxdist; +Cc: Philipp Zabel

https://opus-codec.org/release/stable/2024/04/12/libopus-1_5_2.html

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
v2: update patches
---
 .../0001-fix-arm-asm-meson-source-build.patch | 66 -----------------
 ...h-C-operands-doesn-t-work-at-top-lev.patch | 44 -----------
 ...lon-not-newline-for-inline-assembler.patch | 47 ------------
 ...PUS_ARM_INLINE_DOTPROD-dotprod-check.patch | 73 -------------------
 .../0005-Fix-meson-AVX2-fixed-point.patch     | 23 ------
 patches/opus-1.5.1/series                     | 11 ---
 ...on.py-don-t-detect-extract-git-as-g.patch} |  0
 patches/opus-1.5.2/series                     |  5 ++
 rules/opus.make                               | 12 +--
 9 files changed, 11 insertions(+), 270 deletions(-)
 delete mode 100644 patches/opus-1.5.1/0001-fix-arm-asm-meson-source-build.patch
 delete mode 100644 patches/opus-1.5.1/0002-Extended-asm-with-C-operands-doesn-t-work-at-top-lev.patch
 delete mode 100644 patches/opus-1.5.1/0003-use-semicolon-not-newline-for-inline-assembler.patch
 delete mode 100644 patches/opus-1.5.1/0004-Add-OPUS_ARM_INLINE_DOTPROD-dotprod-check.patch
 delete mode 100644 patches/opus-1.5.1/0005-Fix-meson-AVX2-fixed-point.patch
 delete mode 100644 patches/opus-1.5.1/series
 rename patches/{opus-1.5.1/0100-ptxdist-get-version.py-don-t-detect-extract-git-as-g.patch => opus-1.5.2/0001-ptxdist-get-version.py-don-t-detect-extract-git-as-g.patch} (100%)
 create mode 100644 patches/opus-1.5.2/series

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
 
-- 
2.39.2




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

* Re: [ptxdist] [APPLIED] opus: version bump 1.5.1 -> 1.5.2
  2024-07-11 12:27 [ptxdist] [PATCH v2] opus: version bump 1.5.1 -> 1.5.2 Philipp Zabel
@ 2024-07-12  8:05 ` Michael Olbrich
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Olbrich @ 2024-07-12  8:05 UTC (permalink / raw)
  To: ptxdist; +Cc: Philipp Zabel

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
>  



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

end of thread, other threads:[~2024-07-12  8:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-11 12:27 [ptxdist] [PATCH v2] opus: version bump 1.5.1 -> 1.5.2 Philipp Zabel
2024-07-12  8:05 ` [ptxdist] [APPLIED] " Michael Olbrich

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