All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] recipe updates
@ 2017-12-01 11:08 Andreas Müller
  2017-12-01 11:08 ` [PATCH 01/10] tumbler: ensure thumbnails work properly Andreas Müller
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

* 0001-tumbler-ensure-thumbnails-work-properly.patch is a resend

The following changes since commit 34aa4c3202b427f59f843dc43a4e1afda4f81d13:

  usb-modeswitch: add usb-modeswitch@.service (2017-11-19 13:45:38 -0800)

are available in the git repository at:

  https://github.com/schnitzeltony/meta-openembedded.git patches

for you to fetch changes up to c00a5c365f5a0215fbec2a056c2b3e292a38e4ac:

  fftw: Let dev-packages depend on libraries created (2017-12-01 12:01:19 +0100)

----------------------------------------------------------------
Andreas Müller (10):
      tumbler: ensure thumbnails work properly
      poppler-data: update 0.4.7 -> 0.4.8
      xfce4-whiskermenu-plugin: update 2.1.3 -> 2.1.4
      fluidsynth: performance improvements
      glibmm: update 2.50.1 -> 2.54.1
      thunar: update 1.6.12 -> thunar_1.6.13
      xfce4-pulseaudio-plugin: update 0.3.2 -> 0.3.3
      glm: update 0.9.8.4 -> 0.9.8.5
      fftw: update 3.3.6-p1 -> 3.3.7
      fftw: Let dev-packages depend on libraries created

 meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch      | 32 ++++++++++++++++++++++++++++++++
 meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch  | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb                                                    |  8 ++++++--
 meta-oe/recipes-core/glib-2.0/{glibmm_2.50.1.bb => glibmm_2.54.1.bb}                                                 |  6 +++---
 meta-oe/recipes-graphics/glm/{glm_0.9.8.4.bb => glm_0.9.8.5.bb}                                                      |  8 ++++----
 meta-oe/recipes-support/fftw/{fftw_3.3.6.bb => fftw_3.3.7.bb}                                                        | 11 +++++------
 meta-oe/recipes-support/poppler/{poppler-data_0.4.7.bb => poppler-data_0.4.8.bb}                                     |  4 ++--
 meta-xfce/recipes-panel-plugins/pulseaudio/{xfce4-pulseaudio-plugin_0.3.2.bb => xfce4-pulseaudio-plugin_0.3.3.bb}    |  4 ++--
 meta-xfce/recipes-panel-plugins/whiskermenu/{xfce4-whiskermenu-plugin_2.1.3.bb => xfce4-whiskermenu-plugin_2.1.4.bb} |  4 ++--
 meta-xfce/recipes-xfce/thunar/{thunar_1.6.12.bb => thunar_1.6.13.bb}                                                 |  4 ++--
 meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb                                                                      |  6 ++++++
 11 files changed, 140 insertions(+), 23 deletions(-)
 create mode 100644 meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
 create mode 100644 meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
 rename meta-oe/recipes-core/glib-2.0/{glibmm_2.50.1.bb => glibmm_2.54.1.bb} (84%)
 rename meta-oe/recipes-graphics/glm/{glm_0.9.8.4.bb => glm_0.9.8.5.bb} (79%)
 rename meta-oe/recipes-support/fftw/{fftw_3.3.6.bb => fftw_3.3.7.bb} (87%)
 rename meta-oe/recipes-support/poppler/{poppler-data_0.4.7.bb => poppler-data_0.4.8.bb} (90%)
 rename meta-xfce/recipes-panel-plugins/pulseaudio/{xfce4-pulseaudio-plugin_0.3.2.bb => xfce4-pulseaudio-plugin_0.3.3.bb} (73%)
 rename meta-xfce/recipes-panel-plugins/whiskermenu/{xfce4-whiskermenu-plugin_2.1.3.bb => xfce4-whiskermenu-plugin_2.1.4.bb} (66%)
 rename meta-xfce/recipes-xfce/thunar/{thunar_1.6.12.bb => thunar_1.6.13.bb} (88%)

-- 
2.9.5



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

* [PATCH 01/10] tumbler: ensure thumbnails work properly
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 11:08 ` [PATCH 02/10] poppler-data: update 0.4.7 -> 0.4.8 Andreas Müller
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

From: Andreas Müller <schnitzeltony@googlemail.com>

After some builds link tumbler-cache-plugin.so is not prperly created causing:
| Failed to load the cache plugin "tumbler-cache-plugin.so": /usr/lib/tumbler-1/plugins/cache/tumbler-cache-plugin.so: cannot open shared object file: No such file or directory

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
 meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
index 4922206..7e0c555 100644
--- a/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
+++ b/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
@@ -15,6 +15,12 @@ INSANE_SKIP_${PN} = "dev-so"
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
 
+do_install_append() {
+    # Makefile seems to race on creation of symlink. So ensure creation here
+    # until fixed properly
+    ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so
+}
+
 FILES_${PN} += "${datadir}/dbus-1/services \
                 ${libdir}/tumbler-1/tumblerd \
                 ${libdir}/tumbler-1/plugins/*.so \
-- 
2.9.5



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

* [PATCH 02/10] poppler-data: update 0.4.7 -> 0.4.8
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
  2017-12-01 11:08 ` [PATCH 01/10] tumbler: ensure thumbnails work properly Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 11:08 ` [PATCH 03/10] xfce4-whiskermenu-plugin: update 2.1.3 -> 2.1.4 Andreas Müller
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 .../poppler/{poppler-data_0.4.7.bb => poppler-data_0.4.8.bb}          | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-oe/recipes-support/poppler/{poppler-data_0.4.7.bb => poppler-data_0.4.8.bb} (90%)

diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.8.bb
similarity index 90%
rename from meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb
rename to meta-oe/recipes-support/poppler/poppler-data_0.4.8.bb
index e530a48..343b6db 100644
--- a/meta-oe/recipes-support/poppler/poppler-data_0.4.7.bb
+++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.8.bb
@@ -17,8 +17,8 @@ SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz \
            ${CMAP_RESOURCES_BASE}/Identity-H;name=idh \
            ${CMAP_RESOURCES_BASE}/Identity-V;name=idv"
 
-SRC_URI[md5sum] = "636a8f2b9f6df9e7ced8ec0946961eaf"
-SRC_URI[sha256sum] = "e752b0d88a7aba54574152143e7bf76436a7ef51977c55d6bd9a48dccde3a7de"
+SRC_URI[md5sum] = "00f8989c804de84af0ba2ea629949980"
+SRC_URI[sha256sum] = "1096a18161f263cccdc6d8a2eb5548c41ff8fcf9a3609243f1b6296abdf72872"
 SRC_URI[idh.md5sum] = "009c93cf0141ab7bd6acb7eea14306cc"
 SRC_URI[idh.sha256sum] = "ae702c203a82ea124e9b96590f821db6fbf8754e2c4547a9dba0e82f94739e95"
 SRC_URI[idv.md5sum] = "2f32a45d43d001c26eeac6b878855fbf"
-- 
2.9.5



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

* [PATCH 03/10] xfce4-whiskermenu-plugin: update 2.1.3 -> 2.1.4
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
  2017-12-01 11:08 ` [PATCH 01/10] tumbler: ensure thumbnails work properly Andreas Müller
  2017-12-01 11:08 ` [PATCH 02/10] poppler-data: update 0.4.7 -> 0.4.8 Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 11:08 ` [PATCH 04/10] fluidsynth: performance improvements Andreas Müller
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 ...-whiskermenu-plugin_2.1.3.bb => xfce4-whiskermenu-plugin_2.1.4.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-xfce/recipes-panel-plugins/whiskermenu/{xfce4-whiskermenu-plugin_2.1.3.bb => xfce4-whiskermenu-plugin_2.1.4.bb} (66%)

diff --git a/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.4.bb
similarity index 66%
rename from meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb
rename to meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.4.bb
index 3c67a2f..4a331c5 100644
--- a/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.3.bb
+++ b/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.1.4.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 inherit xfce-panel-plugin cmake
 
-SRC_URI[md5sum] = "032a2bb0a0d4a2e3c8c136910c8b551d"
-SRC_URI[sha256sum] = "e8918c1255f7ab86b950ebd13555fe87046c01a1a4cb0b5d460024b6efc01769"
+SRC_URI[md5sum] = "5aeff066c38fda9aea2a2a3d8ab6dc9e"
+SRC_URI[sha256sum] = "ffdf2d5d4e0eeffc96d4642fdce8c55f26d3444cbd6c7b3d6f6cd7168ad4a6d5"
 
 RRECOMMENDS_${PN} += "menulibre"
-- 
2.9.5



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

* [PATCH 04/10] fluidsynth: performance improvements
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
                   ` (2 preceding siblings ...)
  2017-12-01 11:08 ` [PATCH 03/10] xfce4-whiskermenu-plugin: update 2.1.3 -> 2.1.4 Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 14:49   ` Khem Raj
  2017-12-01 11:08 ` [PATCH 05/10] glibmm: update 2.50.1 -> 2.54.1 Andreas Müller
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

* Use floats instead of double for sound calculations. This improves
  performance notable and was default for version 1.1.6 using autotools.
* Fix buffer overrun when using floats
* Make use of ARM NEON for multithreading enabled

Performance and sound correctnes was tested with qtractor and a reworked
version of fluidsynth-dssi [1-2]. Tests were performed for single- and
multithreading enabled.

[1] https://github.com/schnitzeltony/fluidsynth-dssi/commit/bad09c6f5c5508c5f5330aa5188510f975e50c50
[2] https://github.com/schnitzeltony/meta-qt5-extra/blob/master/recipes-misc/recipes-multimedia/fluidsynth/fluidsynth-dssi_1.0.0.bb

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 ...uffer-overrun-in-fluid_synth_nwrite_float.patch | 32 +++++++++
 ...N-accelaration-for-float-multithreaded-se.patch | 76 ++++++++++++++++++++++
 .../fluidsynth/fluidsynth_1.1.8.bb                 |  8 ++-
 3 files changed, 114 insertions(+), 2 deletions(-)
 create mode 100644 meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
 create mode 100644 meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch

diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch b/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
new file mode 100644
index 0000000..dda76cf
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
@@ -0,0 +1,32 @@
+From a13cb63103aa56b5e8bad816c7d13d6e01c0cd9f Mon Sep 17 00:00:00 2001
+From: derselbst <tom.mbrt@googlemail.com>
+Date: Sun, 26 Nov 2017 22:12:12 +0100
+Subject: [PATCH 1/2] avoid buffer overrun in fluid_synth_nwrite_float()
+
+Upstream-Status: Backport [1]
+
+[1] https://github.com/FluidSynth/fluidsynth/commit/a13cb63103aa56b5e8bad816c7d13d6e01c0cd9f
+---
+ src/synth/fluid_synth.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c
+index 266d759..14f6b21 100644
+--- a/src/synth/fluid_synth.c
++++ b/src/synth/fluid_synth.c
+@@ -2752,10 +2752,10 @@ fluid_synth_nwrite_float(fluid_synth_t* synth, int len,
+     {
+ #ifdef WITH_FLOAT
+       if(fx_left != NULL)
+-        FLUID_MEMCPY(fx_left[i + count], fx_left_in[i], bytes);
++        FLUID_MEMCPY(fx_left[i] + count, fx_left_in[i], bytes);
+       
+       if(fx_right != NULL)
+-        FLUID_MEMCPY(fx_right[i + count], fx_right_in[i], bytes);
++        FLUID_MEMCPY(fx_right[i] + count, fx_right_in[i], bytes);
+ #else //WITH_FLOAT
+       int j;
+       if(fx_left != NULL) {
+-- 
+2.9.5
+
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch b/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
new file mode 100644
index 0000000..0e1846e
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
@@ -0,0 +1,76 @@
+From 2de7e128fbdf528716b500cf27ed9a4358c931c9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 24 Nov 2017 00:05:35 +0100
+Subject: [PATCH 2/2] Use ARM-NEON accelaration for float-multithreaded setups
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/rvoice/fluid_rvoice_mixer.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+diff --git a/src/rvoice/fluid_rvoice_mixer.c b/src/rvoice/fluid_rvoice_mixer.c
+index 9616518..dbf8057 100644
+--- a/src/rvoice/fluid_rvoice_mixer.c
++++ b/src/rvoice/fluid_rvoice_mixer.c
+@@ -27,6 +27,10 @@
+ #include "fluid_ladspa.h"
+ #include "fluid_synth.h"
+ 
++#if defined(__ARM_NEON__)
++#include "arm_neon.h"
++#endif
++
+ 
+ #define ENABLE_MIXER_THREADS 1
+ 
+@@ -794,20 +798,42 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t* dest, fluid_mixer_buffers_t* src)
+   if (minbuf > src->buf_count)
+     minbuf = src->buf_count;
+   for (i=0; i < minbuf; i++) {
++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
++    for (j=0; j < scount; j+=4) {
++        float32x4_t vleft = vld1q_f32(&dest->left_buf[i][j]);
++        float32x4_t vright = vld1q_f32(&dest->right_buf[i][j]);
++        vleft = vaddq_f32(vleft, vld1q_f32(&src->left_buf[i][j]));
++        vright = vaddq_f32(vright, vld1q_f32(&src->right_buf[i][j]));
++        vst1q_f32(&dest->left_buf[i][j], vleft);
++        vst1q_f32(&dest->right_buf[i][j], vright);
++    }
++#else
+     for (j=0; j < scount; j++) {
+       dest->left_buf[i][j] += src->left_buf[i][j];
+       dest->right_buf[i][j] += src->right_buf[i][j];
+     }
++#endif
+   }
+ 
+   minbuf = dest->fx_buf_count;
+   if (minbuf > src->fx_buf_count)
+     minbuf = src->fx_buf_count;
+   for (i=0; i < minbuf; i++) {
++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
++    for (j=0; j < scount; j+=4) {
++        float32x4_t vleft = vld1q_f32(&dest->fx_left_buf[i][j]);
++        float32x4_t vright = vld1q_f32(&dest->fx_right_buf[i][j]);
++        vleft = vaddq_f32(vleft, vld1q_f32(&src->fx_left_buf[i][j]));
++        vright = vaddq_f32(vright, vld1q_f32(&src->fx_right_buf[i][j]));
++        vst1q_f32(&dest->fx_left_buf[i][j], vleft);
++        vst1q_f32(&dest->fx_right_buf[i][j], vright);
++    }
++#else
+     for (j=0; j < scount; j++) {
+       dest->fx_left_buf[i][j] += src->fx_left_buf[i][j];
+       dest->fx_right_buf[i][j] += src->fx_right_buf[i][j];
+     }
++#endif
+   }
+ }
+ 
+-- 
+2.9.5
+
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb
index ef4c606..406bbf7 100644
--- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb
+++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb
@@ -6,13 +6,17 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
 
 DEPENDS = "alsa-lib ncurses glib-2.0"
 
-SRC_URI = "git://github.com/FluidSynth/fluidsynth.git;branch=1.1.x"
+SRC_URI = " \
+    git://github.com/FluidSynth/fluidsynth.git;branch=1.1.x \
+    file://0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch \
+    file://0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
+"
 SRCREV = "12e7afe3a806a6b397f28e0ca4bc6bab9ebe7047"
 S = "${WORKDIR}/git"
 
 inherit cmake pkgconfig lib_package
 
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
 PACKAGECONFIG[sndfile] = "-Denable-libsndfile-support=ON,-Denable-libsndfile-support=OFF,libsndfile1"
-- 
2.9.5



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

* [PATCH 05/10] glibmm: update 2.50.1 -> 2.54.1
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
                   ` (3 preceding siblings ...)
  2017-12-01 11:08 ` [PATCH 04/10] fluidsynth: performance improvements Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 11:08 ` [PATCH 06/10] thunar: update 1.6.12 -> thunar_1.6.13 Andreas Müller
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

License checksum changed was caused by FSF address change [1]

[1] https://git.gnome.org/browse/glibmm/commit/COPYING?h=glibmm-2-54&id=93a7c699e0194ab1a8e496ac602d75ab15f33c98

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 .../recipes-core/glib-2.0/{glibmm_2.50.1.bb => glibmm_2.54.1.bb}    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
 rename meta-oe/recipes-core/glib-2.0/{glibmm_2.50.1.bb => glibmm_2.54.1.bb} (84%)

diff --git a/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb b/meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb
similarity index 84%
rename from meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb
rename to meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb
index 9cc558f..3a69a70 100644
--- a/meta-oe/recipes-core/glib-2.0/glibmm_2.50.1.bb
+++ b/meta-oe/recipes-core/glib-2.0/glibmm_2.54.1.bb
@@ -2,7 +2,7 @@ SUMMARY = "C++ bindings for the glib library"
 HOMEPAGE = "http://www.gtkmm.org/"
 SECTION = "libs"
 LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
                     file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
 
 DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
@@ -14,8 +14,8 @@ SRC_URI = " \
     ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
     file://remove-examples.patch \
 "
-SRC_URI[md5sum] = "a5b915dc42fc62983fa78ca8486f4391"
-SRC_URI[sha256sum] = "1fd85051da9cb402cc8348cec72dfe4d79f9345df4a1dbf68703a4ded45846a4"
+SRC_URI[md5sum] = "dee5ebe309f5976c3dacfcf5c43a062b"
+SRC_URI[sha256sum] = "7cc28c732b04d70ed34f0c923543129083cfb90580ea4a2b4be5b38802bf6a4a"
 
 do_install_append() {
     install -d ${D}${datadir}/glibmm-2.4
-- 
2.9.5



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

* [PATCH 06/10] thunar: update 1.6.12 -> thunar_1.6.13
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
                   ` (4 preceding siblings ...)
  2017-12-01 11:08 ` [PATCH 05/10] glibmm: update 2.50.1 -> 2.54.1 Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 11:08 ` [PATCH 07/10] xfce4-pulseaudio-plugin: update 0.3.2 -> 0.3.3 Andreas Müller
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 meta-xfce/recipes-xfce/thunar/{thunar_1.6.12.bb => thunar_1.6.13.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-xfce/recipes-xfce/thunar/{thunar_1.6.12.bb => thunar_1.6.13.bb} (88%)

diff --git a/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb b/meta-xfce/recipes-xfce/thunar/thunar_1.6.13.bb
similarity index 88%
rename from meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb
rename to meta-xfce/recipes-xfce/thunar/thunar_1.6.13.bb
index 8f1b23e..df7c46c 100644
--- a/meta-xfce/recipes-xfce/thunar/thunar_1.6.12.bb
+++ b/meta-xfce/recipes-xfce/thunar/thunar_1.6.13.bb
@@ -9,8 +9,8 @@ inherit xfce distro_features_check
 REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2"
-SRC_URI[md5sum] = "1bdf3c4a57ff886c512341f24b5e0e88"
-SRC_URI[sha256sum] = "fb22091f07ec6de2c9d9d89c61289d2bc3436b36c8c53ccbc9c32ca8a99f2086"
+SRC_URI[md5sum] = "3e51987757d718ee7f27d0a0447b07fa"
+SRC_URI[sha256sum] = "a2900acfa92f965aff86cd7728d88a3836b3d21fb85d3355a8c5119c9975f93f"
 
 S = "${WORKDIR}/Thunar-${PV}/"
 
-- 
2.9.5



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

* [PATCH 07/10] xfce4-pulseaudio-plugin: update 0.3.2 -> 0.3.3
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
                   ` (5 preceding siblings ...)
  2017-12-01 11:08 ` [PATCH 06/10] thunar: update 1.6.12 -> thunar_1.6.13 Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 11:08 ` [PATCH 08/10] glm: update 0.9.8.4 -> 0.9.8.5 Andreas Müller
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 ...e4-pulseaudio-plugin_0.3.2.bb => xfce4-pulseaudio-plugin_0.3.3.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta-xfce/recipes-panel-plugins/pulseaudio/{xfce4-pulseaudio-plugin_0.3.2.bb => xfce4-pulseaudio-plugin_0.3.3.bb} (73%)

diff --git a/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.3.2.bb b/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.3.3.bb
similarity index 73%
rename from meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.3.2.bb
rename to meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.3.3.bb
index ad0b54a..c8eaa1c 100644
--- a/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.3.2.bb
+++ b/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.3.3.bb
@@ -8,8 +8,8 @@ REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
 
 DEPENDS += "pulseaudio"
 
-SRC_URI[md5sum] = "da70bb47755cccf8898dc5cfbe31a6f2"
-SRC_URI[sha256sum] = "fd4ae178912dc17ffb16ce887db24545624c7f423a02bd2eab47d52758fa99d8"
+SRC_URI[md5sum] = "d3d3e012369af6d2302d4b70a7720a17"
+SRC_URI[sha256sum] = "d6aae9409714c5ddea975c350b4d517e078a5550190165b17ca062d0eb69f9a6"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
-- 
2.9.5



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

* [PATCH 08/10] glm: update 0.9.8.4 -> 0.9.8.5
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
                   ` (6 preceding siblings ...)
  2017-12-01 11:08 ` [PATCH 07/10] xfce4-pulseaudio-plugin: update 0.3.2 -> 0.3.3 Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 11:08 ` [PATCH 09/10] fftw: update 3.3.6-p1 -> 3.3.7 Andreas Müller
  2017-12-01 11:08 ` [PATCH 10/10] fftw: Let dev-packages depend on libraries created Andreas Müller
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

Extend to build native recipe - meta-office says thanks.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 meta-oe/recipes-graphics/glm/{glm_0.9.8.4.bb => glm_0.9.8.5.bb} | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
 rename meta-oe/recipes-graphics/glm/{glm_0.9.8.4.bb => glm_0.9.8.5.bb} (79%)

diff --git a/meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb b/meta-oe/recipes-graphics/glm/glm_0.9.8.5.bb
similarity index 79%
rename from meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb
rename to meta-oe/recipes-graphics/glm/glm_0.9.8.5.bb
index 2d2e9ad..a174f2a 100644
--- a/meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb
+++ b/meta-oe/recipes-graphics/glm/glm_0.9.8.5.bb
@@ -10,13 +10,13 @@ SECTION = "libs"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://copying.txt;md5=4431606d144252143c9c3df384a74cad"
 
-SRC_URI = "git://github.com/g-truc/glm;protocol=https"
-
-SRCREV = "5dcc56489e1b66dfd5bca751fa9b8dc68059e008"
-
+SRC_URI = "git://github.com/g-truc/glm;branch=0.9.8"
+SRCREV = "6fa203eeb7fbcbb6f620501fad40359c8a456049"
 S = "${WORKDIR}/git"
 
 inherit cmake
 
 FILES_${PN}-dev += "${libdir}/cmake"
 RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
-- 
2.9.5



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

* [PATCH 09/10] fftw: update 3.3.6-p1 -> 3.3.7
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
                   ` (7 preceding siblings ...)
  2017-12-01 11:08 ` [PATCH 08/10] glm: update 0.9.8.4 -> 0.9.8.5 Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  2017-12-01 11:08 ` [PATCH 10/10] fftw: Let dev-packages depend on libraries created Andreas Müller
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 meta-oe/recipes-support/fftw/{fftw_3.3.6.bb => fftw_3.3.7.bb} | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
 rename meta-oe/recipes-support/fftw/{fftw_3.3.6.bb => fftw_3.3.7.bb} (89%)

diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.6.bb b/meta-oe/recipes-support/fftw/fftw_3.3.7.bb
similarity index 89%
rename from meta-oe/recipes-support/fftw/fftw_3.3.6.bb
rename to meta-oe/recipes-support/fftw/fftw_3.3.7.bb
index ed14e16..310d726 100644
--- a/meta-oe/recipes-support/fftw/fftw_3.3.6.bb
+++ b/meta-oe/recipes-support/fftw/fftw_3.3.7.bb
@@ -4,13 +4,11 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 
 SRC_URI = " \
-    http://www.fftw.org/fftw-${PV}-pl1.tar.gz \
+    http://www.fftw.org/fftw-${PV}.tar.gz \
     file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \
 "
-SRC_URI[md5sum] = "682a0e78d6966ca37c7446d4ab4cc2a1"
-SRC_URI[sha256sum] = "1ef4aa8427d9785839bc767f3eb6a84fcb5e9a37c31ed77a04e7e047519a183d"
-
-S = "${WORKDIR}/fftw-${PV}-pl1"
+SRC_URI[md5sum] = "0d5915d7d39b3253c1cc05030d79ac47"
+SRC_URI[sha256sum] = "3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573"
 
 inherit autotools pkgconfig
 
@@ -76,6 +74,7 @@ FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom"
 FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom"
 FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
 
+FILES_${PN}-dev += "${libdir}/cmake"
 RDEPENDS_${PN}-dev = ""
 
 BBCLASSEXTEND = "native"
-- 
2.9.5



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

* [PATCH 10/10] fftw: Let dev-packages depend on libraries created
  2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
                   ` (8 preceding siblings ...)
  2017-12-01 11:08 ` [PATCH 09/10] fftw: update 3.3.6-p1 -> 3.3.7 Andreas Müller
@ 2017-12-01 11:08 ` Andreas Müller
  9 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 11:08 UTC (permalink / raw)
  To: openembedded-devel

Without libraries installed dev-package is useless.

Tested by buildung an image with fftw-dev included.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
 meta-oe/recipes-support/fftw/fftw_3.3.7.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.7.bb b/meta-oe/recipes-support/fftw/fftw_3.3.7.bb
index 310d726..aae6ec9 100644
--- a/meta-oe/recipes-support/fftw/fftw_3.3.7.bb
+++ b/meta-oe/recipes-support/fftw/fftw_3.3.7.bb
@@ -75,6 +75,6 @@ FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom"
 FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
 
 FILES_${PN}-dev += "${libdir}/cmake"
-RDEPENDS_${PN}-dev = ""
+RDEPENDS_${PN}-dev = "libfftw libfftwl libfftwf"
 
 BBCLASSEXTEND = "native"
-- 
2.9.5



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

* Re: [PATCH 04/10] fluidsynth: performance improvements
  2017-12-01 11:08 ` [PATCH 04/10] fluidsynth: performance improvements Andreas Müller
@ 2017-12-01 14:49   ` Khem Raj
  2017-12-01 17:35     ` Andreas Müller
  0 siblings, 1 reply; 15+ messages in thread
From: Khem Raj @ 2017-12-01 14:49 UTC (permalink / raw)
  To: Andreas Müller; +Cc: openembeded-devel

On Fri, Dec 1, 2017 at 3:08 AM, Andreas Müller <schnitzeltony@gmail.com> wrote:
> * Use floats instead of double for sound calculations. This improves
>   performance notable and was default for version 1.1.6 using autotools.
> * Fix buffer overrun when using floats
> * Make use of ARM NEON for multithreading enabled
>
> Performance and sound correctnes was tested with qtractor and a reworked
> version of fluidsynth-dssi [1-2]. Tests were performed for single- and
> multithreading enabled.
>
> [1] https://github.com/schnitzeltony/fluidsynth-dssi/commit/bad09c6f5c5508c5f5330aa5188510f975e50c50
> [2] https://github.com/schnitzeltony/meta-qt5-extra/blob/master/recipes-misc/recipes-multimedia/fluidsynth/fluidsynth-dssi_1.0.0.bb
>
> Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> ---
>  ...uffer-overrun-in-fluid_synth_nwrite_float.patch | 32 +++++++++
>  ...N-accelaration-for-float-multithreaded-se.patch | 76 ++++++++++++++++++++++
>  .../fluidsynth/fluidsynth_1.1.8.bb                 |  8 ++-
>  3 files changed, 114 insertions(+), 2 deletions(-)
>  create mode 100644 meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
>  create mode 100644 meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
>
> diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch b/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
> new file mode 100644
> index 0000000..dda76cf
> --- /dev/null
> +++ b/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
> @@ -0,0 +1,32 @@
> +From a13cb63103aa56b5e8bad816c7d13d6e01c0cd9f Mon Sep 17 00:00:00 2001
> +From: derselbst <tom.mbrt@googlemail.com>
> +Date: Sun, 26 Nov 2017 22:12:12 +0100
> +Subject: [PATCH 1/2] avoid buffer overrun in fluid_synth_nwrite_float()
> +
> +Upstream-Status: Backport [1]
> +
> +[1] https://github.com/FluidSynth/fluidsynth/commit/a13cb63103aa56b5e8bad816c7d13d6e01c0cd9f
> +---
> + src/synth/fluid_synth.c | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c
> +index 266d759..14f6b21 100644
> +--- a/src/synth/fluid_synth.c
> ++++ b/src/synth/fluid_synth.c
> +@@ -2752,10 +2752,10 @@ fluid_synth_nwrite_float(fluid_synth_t* synth, int len,
> +     {
> + #ifdef WITH_FLOAT
> +       if(fx_left != NULL)
> +-        FLUID_MEMCPY(fx_left[i + count], fx_left_in[i], bytes);
> ++        FLUID_MEMCPY(fx_left[i] + count, fx_left_in[i], bytes);
> +
> +       if(fx_right != NULL)
> +-        FLUID_MEMCPY(fx_right[i + count], fx_right_in[i], bytes);
> ++        FLUID_MEMCPY(fx_right[i] + count, fx_right_in[i], bytes);
> + #else //WITH_FLOAT
> +       int j;
> +       if(fx_left != NULL) {
> +--
> +2.9.5
> +
> diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch b/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
> new file mode 100644
> index 0000000..0e1846e
> --- /dev/null
> +++ b/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
> @@ -0,0 +1,76 @@
> +From 2de7e128fbdf528716b500cf27ed9a4358c931c9 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
> +Date: Fri, 24 Nov 2017 00:05:35 +0100
> +Subject: [PATCH 2/2] Use ARM-NEON accelaration for float-multithreaded setups
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> +---
> + src/rvoice/fluid_rvoice_mixer.c | 26 ++++++++++++++++++++++++++
> + 1 file changed, 26 insertions(+)
> +
> +diff --git a/src/rvoice/fluid_rvoice_mixer.c b/src/rvoice/fluid_rvoice_mixer.c
> +index 9616518..dbf8057 100644
> +--- a/src/rvoice/fluid_rvoice_mixer.c
> ++++ b/src/rvoice/fluid_rvoice_mixer.c
> +@@ -27,6 +27,10 @@
> + #include "fluid_ladspa.h"
> + #include "fluid_synth.h"
> +
> ++#if defined(__ARM_NEON__)
> ++#include "arm_neon.h"
> ++#endif
> ++
> +
> + #define ENABLE_MIXER_THREADS 1
> +
> +@@ -794,20 +798,42 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t* dest, fluid_mixer_buffers_t* src)
> +   if (minbuf > src->buf_count)
> +     minbuf = src->buf_count;
> +   for (i=0; i < minbuf; i++) {
> ++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
> ++    for (j=0; j < scount; j+=4) {
> ++        float32x4_t vleft = vld1q_f32(&dest->left_buf[i][j]);
> ++        float32x4_t vright = vld1q_f32(&dest->right_buf[i][j]);
> ++        vleft = vaddq_f32(vleft, vld1q_f32(&src->left_buf[i][j]));
> ++        vright = vaddq_f32(vright, vld1q_f32(&src->right_buf[i][j]));
> ++        vst1q_f32(&dest->left_buf[i][j], vleft);
> ++        vst1q_f32(&dest->right_buf[i][j], vright);
> ++    }

I wonder if gcc could be initiated to see if it can vectorize the code, here
have you tried setting cmdline options or may be pragma hints

> ++#else
> +     for (j=0; j < scount; j++) {
> +       dest->left_buf[i][j] += src->left_buf[i][j];
> +       dest->right_buf[i][j] += src->right_buf[i][j];
> +     }
> ++#endif
> +   }
> +
> +   minbuf = dest->fx_buf_count;
> +   if (minbuf > src->fx_buf_count)
> +     minbuf = src->fx_buf_count;
> +   for (i=0; i < minbuf; i++) {
> ++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
> ++    for (j=0; j < scount; j+=4) {
> ++        float32x4_t vleft = vld1q_f32(&dest->fx_left_buf[i][j]);
> ++        float32x4_t vright = vld1q_f32(&dest->fx_right_buf[i][j]);
> ++        vleft = vaddq_f32(vleft, vld1q_f32(&src->fx_left_buf[i][j]));
> ++        vright = vaddq_f32(vright, vld1q_f32(&src->fx_right_buf[i][j]));
> ++        vst1q_f32(&dest->fx_left_buf[i][j], vleft);
> ++        vst1q_f32(&dest->fx_right_buf[i][j], vright);
> ++    }
> ++#else
> +     for (j=0; j < scount; j++) {
> +       dest->fx_left_buf[i][j] += src->fx_left_buf[i][j];
> +       dest->fx_right_buf[i][j] += src->fx_right_buf[i][j];
> +     }
> ++#endif
> +   }
> + }
> +
> +--
> +2.9.5
> +
> diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb
> index ef4c606..406bbf7 100644
> --- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb
> +++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.8.bb
> @@ -6,13 +6,17 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
>
>  DEPENDS = "alsa-lib ncurses glib-2.0"
>
> -SRC_URI = "git://github.com/FluidSynth/fluidsynth.git;branch=1.1.x"
> +SRC_URI = " \
> +    git://github.com/FluidSynth/fluidsynth.git;branch=1.1.x \
> +    file://0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch \
> +    file://0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
> +"
>  SRCREV = "12e7afe3a806a6b397f28e0ca4bc6bab9ebe7047"
>  S = "${WORKDIR}/git"
>
>  inherit cmake pkgconfig lib_package
>
> -EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
> +EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
>
>  PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
>  PACKAGECONFIG[sndfile] = "-Denable-libsndfile-support=ON,-Denable-libsndfile-support=OFF,libsndfile1"
> --
> 2.9.5
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


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

* Re: [PATCH 04/10] fluidsynth: performance improvements
  2017-12-01 14:49   ` Khem Raj
@ 2017-12-01 17:35     ` Andreas Müller
  2017-12-01 17:52       ` Khem Raj
  0 siblings, 1 reply; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 17:35 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel

On Fri, Dec 1, 2017 at 3:49 PM, Khem Raj <raj.khem@gmail.com> wrote:

> On Fri, Dec 1, 2017 at 3:08 AM, Andreas Müller <schnitzeltony@gmail.com>
> wrote:
> > * Use floats instead of double for sound calculations. This improves
> >   performance notable and was default for version 1.1.6 using autotools.
> > * Fix buffer overrun when using floats
> > * Make use of ARM NEON for multithreading enabled
> >
> > Performance and sound correctnes was tested with qtractor and a reworked
> > version of fluidsynth-dssi [1-2]. Tests were performed for single- and
> > multithreading enabled.
> >
> > [1] https://github.com/schnitzeltony/fluidsynth-dssi/commit/
> bad09c6f5c5508c5f5330aa5188510f975e50c50
> > [2] https://github.com/schnitzeltony/meta-qt5-extra/
> blob/master/recipes-misc/recipes-multimedia/fluidsynth/
> fluidsynth-dssi_1.0.0.bb
> >
> > Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> > ---
> >  ...uffer-overrun-in-fluid_synth_nwrite_float.patch | 32 +++++++++
> >  ...N-accelaration-for-float-multithreaded-se.patch | 76
> ++++++++++++++++++++++
> >  .../fluidsynth/fluidsynth_1.1.8.bb                 |  8 ++-
> >  3 files changed, 114 insertions(+), 2 deletions(-)
> >  create mode 100644 meta-multimedia/recipes-multimedia/fluidsynth/files/
> 0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
> >  create mode 100644 meta-multimedia/recipes-multimedia/fluidsynth/files/
> 0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
> >
> > diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/files/
> 0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
> b/meta-multimedia/recipes-multimedia/fluidsynth/files/
> 0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
> > new file mode 100644
> > index 0000000..dda76cf
> > --- /dev/null
> > +++ b/meta-multimedia/recipes-multimedia/fluidsynth/files/
> 0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
> > @@ -0,0 +1,32 @@
> > +From a13cb63103aa56b5e8bad816c7d13d6e01c0cd9f Mon Sep 17 00:00:00 2001
> > +From: derselbst <tom.mbrt@googlemail.com>
> > +Date: Sun, 26 Nov 2017 22:12:12 +0100
> > +Subject: [PATCH 1/2] avoid buffer overrun in fluid_synth_nwrite_float()
> > +
> > +Upstream-Status: Backport [1]
> > +
> > +[1] https://github.com/FluidSynth/fluidsynth/commit/
> a13cb63103aa56b5e8bad816c7d13d6e01c0cd9f
> > +---
> > + src/synth/fluid_synth.c | 4 ++--
> > + 1 file changed, 2 insertions(+), 2 deletions(-)
> > +
> > +diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c
> > +index 266d759..14f6b21 100644
> > +--- a/src/synth/fluid_synth.c
> > ++++ b/src/synth/fluid_synth.c
> > +@@ -2752,10 +2752,10 @@ fluid_synth_nwrite_float(fluid_synth_t* synth,
> int len,
> > +     {
> > + #ifdef WITH_FLOAT
> > +       if(fx_left != NULL)
> > +-        FLUID_MEMCPY(fx_left[i + count], fx_left_in[i], bytes);
> > ++        FLUID_MEMCPY(fx_left[i] + count, fx_left_in[i], bytes);
> > +
> > +       if(fx_right != NULL)
> > +-        FLUID_MEMCPY(fx_right[i + count], fx_right_in[i], bytes);
> > ++        FLUID_MEMCPY(fx_right[i] + count, fx_right_in[i], bytes);
> > + #else //WITH_FLOAT
> > +       int j;
> > +       if(fx_left != NULL) {
> > +--
> > +2.9.5
> > +
> > diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/files/
> 0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
> b/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-
> accelaration-for-float-multithreaded-se.patch
> > new file mode 100644
> > index 0000000..0e1846e
> > --- /dev/null
> > +++ b/meta-multimedia/recipes-multimedia/fluidsynth/files/
> 0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
> > @@ -0,0 +1,76 @@
> > +From 2de7e128fbdf528716b500cf27ed9a4358c931c9 Mon Sep 17 00:00:00 2001
> > +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
> > +Date: Fri, 24 Nov 2017 00:05:35 +0100
> > +Subject: [PATCH 2/2] Use ARM-NEON accelaration for float-multithreaded
> setups
> > +MIME-Version: 1.0
> > +Content-Type: text/plain; charset=UTF-8
> > +Content-Transfer-Encoding: 8bit
> > +
> > +Upstream-Status: Pending
> > +
> > +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> > +---
> > + src/rvoice/fluid_rvoice_mixer.c | 26 ++++++++++++++++++++++++++
> > + 1 file changed, 26 insertions(+)
> > +
> > +diff --git a/src/rvoice/fluid_rvoice_mixer.c b/src/rvoice/fluid_rvoice_
> mixer.c
> > +index 9616518..dbf8057 100644
> > +--- a/src/rvoice/fluid_rvoice_mixer.c
> > ++++ b/src/rvoice/fluid_rvoice_mixer.c
> > +@@ -27,6 +27,10 @@
> > + #include "fluid_ladspa.h"
> > + #include "fluid_synth.h"
> > +
> > ++#if defined(__ARM_NEON__)
> > ++#include "arm_neon.h"
> > ++#endif
> > ++
> > +
> > + #define ENABLE_MIXER_THREADS 1
> > +
> > +@@ -794,20 +798,42 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t*
> dest, fluid_mixer_buffers_t* src)
> > +   if (minbuf > src->buf_count)
> > +     minbuf = src->buf_count;
> > +   for (i=0; i < minbuf; i++) {
> > ++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
> > ++    for (j=0; j < scount; j+=4) {
> > ++        float32x4_t vleft = vld1q_f32(&dest->left_buf[i][j]);
> > ++        float32x4_t vright = vld1q_f32(&dest->right_buf[i][j]);
> > ++        vleft = vaddq_f32(vleft, vld1q_f32(&src->left_buf[i][j]));
> > ++        vright = vaddq_f32(vright, vld1q_f32(&src->right_buf[i][j]));
> > ++        vst1q_f32(&dest->left_buf[i][j], vleft);
> > ++        vst1q_f32(&dest->right_buf[i][j], vright);
> > ++    }
>
> > I wonder if gcc could be initiated to see if it can vectorize the code,
> here
> > have you tried setting cmdline options or may be pragma hints
>
>
I've sent patches like these to some projects. If I remember correctly
first one was jack2 [1]. For that I wrote some performance tests [2] and
tested vectorizing either but with disappointing results. This is ~ a year
ago and I think intrinsics are still the option performing better.

[1]
https://github.com/jackaudio/jack2/commit/77bb8be12e0d856fbc004cf57185ab36a2df04c2
[2]
https://github.com/jackaudio/jack2/commit/c32b823860bc8e887774ab10bc3e9bd76e85e3f3

Andreas


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

* Re: [PATCH 04/10] fluidsynth: performance improvements
  2017-12-01 17:35     ` Andreas Müller
@ 2017-12-01 17:52       ` Khem Raj
  2017-12-01 18:23         ` Andreas Müller
  0 siblings, 1 reply; 15+ messages in thread
From: Khem Raj @ 2017-12-01 17:52 UTC (permalink / raw)
  To: Andreas Müller; +Cc: openembeded-devel

On Fri, Dec 1, 2017 at 9:35 AM, Andreas Müller <schnitzeltony@gmail.com> wrote:
> On Fri, Dec 1, 2017 at 3:49 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> On Fri, Dec 1, 2017 at 3:08 AM, Andreas Müller <schnitzeltony@gmail.com>
>> wrote:
>> > * Use floats instead of double for sound calculations. This improves
>> >   performance notable and was default for version 1.1.6 using autotools.
>> > * Fix buffer overrun when using floats
>> > * Make use of ARM NEON for multithreading enabled
>> >
>> > Performance and sound correctnes was tested with qtractor and a reworked
>> > version of fluidsynth-dssi [1-2]. Tests were performed for single- and
>> > multithreading enabled.
>> >
>> > [1]
>> > https://github.com/schnitzeltony/fluidsynth-dssi/commit/bad09c6f5c5508c5f5330aa5188510f975e50c50
>> > [2]
>> > https://github.com/schnitzeltony/meta-qt5-extra/blob/master/recipes-misc/recipes-multimedia/fluidsynth/fluidsynth-dssi_1.0.0.bb
>> >
>> > Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
>> > ---
>> >  ...uffer-overrun-in-fluid_synth_nwrite_float.patch | 32 +++++++++
>> >  ...N-accelaration-for-float-multithreaded-se.patch | 76
>> > ++++++++++++++++++++++
>> >  .../fluidsynth/fluidsynth_1.1.8.bb                 |  8 ++-
>> >  3 files changed, 114 insertions(+), 2 deletions(-)
>> >  create mode 100644
>> > meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
>> >  create mode 100644
>> > meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
>> >
>> > diff --git
>> > a/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
>> > b/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
>> > new file mode 100644
>> > index 0000000..dda76cf
>> > --- /dev/null
>> > +++
>> > b/meta-multimedia/recipes-multimedia/fluidsynth/files/0001-avoid-buffer-overrun-in-fluid_synth_nwrite_float.patch
>> > @@ -0,0 +1,32 @@
>> > +From a13cb63103aa56b5e8bad816c7d13d6e01c0cd9f Mon Sep 17 00:00:00 2001
>> > +From: derselbst <tom.mbrt@googlemail.com>
>> > +Date: Sun, 26 Nov 2017 22:12:12 +0100
>> > +Subject: [PATCH 1/2] avoid buffer overrun in fluid_synth_nwrite_float()
>> > +
>> > +Upstream-Status: Backport [1]
>> > +
>> > +[1]
>> > https://github.com/FluidSynth/fluidsynth/commit/a13cb63103aa56b5e8bad816c7d13d6e01c0cd9f
>> > +---
>> > + src/synth/fluid_synth.c | 4 ++--
>> > + 1 file changed, 2 insertions(+), 2 deletions(-)
>> > +
>> > +diff --git a/src/synth/fluid_synth.c b/src/synth/fluid_synth.c
>> > +index 266d759..14f6b21 100644
>> > +--- a/src/synth/fluid_synth.c
>> > ++++ b/src/synth/fluid_synth.c
>> > +@@ -2752,10 +2752,10 @@ fluid_synth_nwrite_float(fluid_synth_t* synth,
>> > int len,
>> > +     {
>> > + #ifdef WITH_FLOAT
>> > +       if(fx_left != NULL)
>> > +-        FLUID_MEMCPY(fx_left[i + count], fx_left_in[i], bytes);
>> > ++        FLUID_MEMCPY(fx_left[i] + count, fx_left_in[i], bytes);
>> > +
>> > +       if(fx_right != NULL)
>> > +-        FLUID_MEMCPY(fx_right[i + count], fx_right_in[i], bytes);
>> > ++        FLUID_MEMCPY(fx_right[i] + count, fx_right_in[i], bytes);
>> > + #else //WITH_FLOAT
>> > +       int j;
>> > +       if(fx_left != NULL) {
>> > +--
>> > +2.9.5
>> > +
>> > diff --git
>> > a/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
>> > b/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
>> > new file mode 100644
>> > index 0000000..0e1846e
>> > --- /dev/null
>> > +++
>> > b/meta-multimedia/recipes-multimedia/fluidsynth/files/0002-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch
>> > @@ -0,0 +1,76 @@
>> > +From 2de7e128fbdf528716b500cf27ed9a4358c931c9 Mon Sep 17 00:00:00 2001
>> > +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
>> > +Date: Fri, 24 Nov 2017 00:05:35 +0100
>> > +Subject: [PATCH 2/2] Use ARM-NEON accelaration for float-multithreaded
>> > setups
>> > +MIME-Version: 1.0
>> > +Content-Type: text/plain; charset=UTF-8
>> > +Content-Transfer-Encoding: 8bit
>> > +
>> > +Upstream-Status: Pending
>> > +
>> > +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
>> > +---
>> > + src/rvoice/fluid_rvoice_mixer.c | 26 ++++++++++++++++++++++++++
>> > + 1 file changed, 26 insertions(+)
>> > +
>> > +diff --git a/src/rvoice/fluid_rvoice_mixer.c
>> > b/src/rvoice/fluid_rvoice_mixer.c
>> > +index 9616518..dbf8057 100644
>> > +--- a/src/rvoice/fluid_rvoice_mixer.c
>> > ++++ b/src/rvoice/fluid_rvoice_mixer.c
>> > +@@ -27,6 +27,10 @@
>> > + #include "fluid_ladspa.h"
>> > + #include "fluid_synth.h"
>> > +
>> > ++#if defined(__ARM_NEON__)
>> > ++#include "arm_neon.h"
>> > ++#endif
>> > ++
>> > +
>> > + #define ENABLE_MIXER_THREADS 1
>> > +
>> > +@@ -794,20 +798,42 @@ fluid_mixer_buffers_mix(fluid_mixer_buffers_t*
>> > dest, fluid_mixer_buffers_t* src)
>> > +   if (minbuf > src->buf_count)
>> > +     minbuf = src->buf_count;
>> > +   for (i=0; i < minbuf; i++) {
>> > ++#if defined(__ARM_NEON__) && defined(WITH_FLOAT)
>> > ++    for (j=0; j < scount; j+=4) {
>> > ++        float32x4_t vleft = vld1q_f32(&dest->left_buf[i][j]);
>> > ++        float32x4_t vright = vld1q_f32(&dest->right_buf[i][j]);
>> > ++        vleft = vaddq_f32(vleft, vld1q_f32(&src->left_buf[i][j]));
>> > ++        vright = vaddq_f32(vright, vld1q_f32(&src->right_buf[i][j]));
>> > ++        vst1q_f32(&dest->left_buf[i][j], vleft);
>> > ++        vst1q_f32(&dest->right_buf[i][j], vright);
>> > ++    }
>>
>> > I wonder if gcc could be initiated to see if it can vectorize the code,
>> > here
>> > have you tried setting cmdline options or may be pragma hints
>>
>
> I've sent patches like these to some projects. If I remember correctly first
> one was jack2 [1]. For that I wrote some performance tests [2] and tested
> vectorizing either but with disappointing results. This is ~ a year ago and
> I think intrinsics are still the option performing better.
>
> [1]
> https://github.com/jackaudio/jack2/commit/77bb8be12e0d856fbc004cf57185ab36a2df04c2
> [2]
> https://github.com/jackaudio/jack2/commit/c32b823860bc8e887774ab10bc3e9bd76e85e3f3

interesting. does it mean that vectorization sucks in gcc form arm ?
and works ok on other architectures


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

* Re: [PATCH 04/10] fluidsynth: performance improvements
  2017-12-01 17:52       ` Khem Raj
@ 2017-12-01 18:23         ` Andreas Müller
  0 siblings, 0 replies; 15+ messages in thread
From: Andreas Müller @ 2017-12-01 18:23 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel

On Fri, Dec 1, 2017 at 6:52 PM, Khem Raj <raj.khem@gmail.com> wrote:

>
> >>
> >> > I wonder if gcc could be initiated to see if it can vectorize the
> code,
> >> > here
> >> > have you tried setting cmdline options or may be pragma hints
> >>
> >
> > I've sent patches like these to some projects. If I remember correctly
> first
> > one was jack2 [1]. For that I wrote some performance tests [2] and tested
> > vectorizing either but with disappointing results. This is ~ a year ago
> and
> > I think intrinsics are still the option performing better.
> >
> > [1]
> > https://github.com/jackaudio/jack2/commit/77bb8be12e0d856fbc004cf57185ab
> 36a2df04c2
> > [2]
> > https://github.com/jackaudio/jack2/commit/c32b823860bc8e887774ab10bc3e9b
> d76e85e3f3
>
> interesting. does it mean that vectorization sucks in gcc form arm ?
> and works ok on other architectures
>
I am not using other arches than ARM so I cannot help you here.

What I can say is that this patch together with setting fluidsynth to multi
threaded operation [1] helped me to play MIDI arrangements with >20 tracks
on Raspi3 without audible issues. Before it was a nightmare: Output was
distorted totally and XRUNS reached numbers > 1000 very soon.

A bit off-topic (but only a bit :) At the moment I am writing an extension
to qjackctl: Some chart for so called DSP performance and XRUN frequency to
gather reproducible numbers. So I can see exactly what change is an
enhancement and how much it increases performance. Once this is done I plan
to send this patch (and maybe others) upstream. I could try vectorizing
once again then.

Ahh - maybe I should mention: The patch causes effect only for fluidsynth
in multi threaded mode.

[1]
https://github.com/schnitzeltony/fluidsynth-dssi/commit/bad09c6f5c5508c5f5330aa5188510f975e50c50

Cheers

Andreas


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

end of thread, other threads:[~2017-12-01 18:23 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-01 11:08 [PATCH 00/10] recipe updates Andreas Müller
2017-12-01 11:08 ` [PATCH 01/10] tumbler: ensure thumbnails work properly Andreas Müller
2017-12-01 11:08 ` [PATCH 02/10] poppler-data: update 0.4.7 -> 0.4.8 Andreas Müller
2017-12-01 11:08 ` [PATCH 03/10] xfce4-whiskermenu-plugin: update 2.1.3 -> 2.1.4 Andreas Müller
2017-12-01 11:08 ` [PATCH 04/10] fluidsynth: performance improvements Andreas Müller
2017-12-01 14:49   ` Khem Raj
2017-12-01 17:35     ` Andreas Müller
2017-12-01 17:52       ` Khem Raj
2017-12-01 18:23         ` Andreas Müller
2017-12-01 11:08 ` [PATCH 05/10] glibmm: update 2.50.1 -> 2.54.1 Andreas Müller
2017-12-01 11:08 ` [PATCH 06/10] thunar: update 1.6.12 -> thunar_1.6.13 Andreas Müller
2017-12-01 11:08 ` [PATCH 07/10] xfce4-pulseaudio-plugin: update 0.3.2 -> 0.3.3 Andreas Müller
2017-12-01 11:08 ` [PATCH 08/10] glm: update 0.9.8.4 -> 0.9.8.5 Andreas Müller
2017-12-01 11:08 ` [PATCH 09/10] fftw: update 3.3.6-p1 -> 3.3.7 Andreas Müller
2017-12-01 11:08 ` [PATCH 10/10] fftw: Let dev-packages depend on libraries created Andreas Müller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.