mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Philipp Zabel <p.zabel@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Subject: [ptxdist] [PATCH v2] opus: version bump 1.5.1 -> 1.5.2
Date: Thu, 11 Jul 2024 14:27:44 +0200	[thread overview]
Message-ID: <20240711122744.600520-1-p.zabel@pengutronix.de> (raw)

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




             reply	other threads:[~2024-07-11 12:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-11 12:27 Philipp Zabel [this message]
2024-07-12  8:05 ` [ptxdist] [APPLIED] " Michael Olbrich

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=20240711122744.600520-1-p.zabel@pengutronix.de \
    --to=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