LINUX.ORG.RU

Выпущены аудиоэффекты LSP Plugins 1.1.14

 ,


1

2

Выпущена новая версия пакета LV2-эффектов LSP PLugins, предназначенных для обработки звука при сведении и мастеринге аудиозаписей.

Наиболее значимые изменения:

  • Коллекция плагинов пополнена многополосными экспандерами (LSP Multiband Expander plugin series).
  • Код DSP значительно оптимизирован под использование инструкций SSE/AVX (i386, x86_64), NEON (ARM-32) и ASIMD (AArch64).
  • В пользовательский интерфейс интегрирована поддержка локализации на различных языках с возможностью мгновенного переключения языка.
  • Исправлен ряд багов в плагинах динамической обработки.

Короткая демонстрация работы нового плагина: https://youtu.be/TR_Ox7U_a84

Финансовая поддержка проекта:

>>> Подробности



Проверено: AP ()

DSP код значительно оптимизирован под использование инструкций SSE/AVX (i386, x86_64), NEON (ARM-32) и ASIMD (AArch64).

Это здорово. Ещё бы #68 пофиксить :) Но я читал ответ в #73, там явно немало работы.

AP ★★★★★ ()

А на чём там гуй в этих lv2 пишется? (просто в Cinelerra-GG есть опция подключения этих плагинов, но не всех... я их в живую никогда не видел, так что даже и не знаю что сказать ...)

Andrew-R ★★ ()
Ответ на: комментарий от AP

Это здорово. Ещё бы #68 пофиксить :) Но я читал ответ в #73, там явно немало работы.

Да, к сожалению не всё сразу. Локализация и низкоуровневые оптимизации потребовали очень много сил и времени. Поэтому чтобы не тянуть опять по полгода с релизами, решил выпустить 1.1.14.

sadko4u ()
Ответ на: комментарий от Andrew-R

А на чём там гуй в этих lv2 пишется?

Пока самое лучшее решение - pure xlib/xcb + какая-нибудь графическая библиотека для 2D/3D графики (очень популярна cairo).

Использование любого «жирного» тулкита (GTK, Qt) приводит к серьёзным проблемам вплоть до того, что плагины работают только под конкретными немногочисленными хостами.

Именно из-за этого мне в своё время и пришлось уйти от GTK к своему графическому тулкиту.

sadko4u ()
Последнее исправление: sadko4u (всего исправлений: 1)
Ответ на: комментарий от sadko4u

Использование любого «жирного» тулкита (GTK, Qt) приводит к серьёзным проблемам вплоть до того, что плагины работают только под конкретными немногочисленными хостами.

Надо же, минимализм в этой области сейчас редок. И что, народ с 4к экранами не жалуется? :} (у меня 1440*900, так что меня пока это не касается).

Сейчас попробую скачать i586 версию, хотя что с ней делать я слабо представляю.

Andrew-R ★★ ()
Ответ на: комментарий от Andrew-R

И что, народ с 4к экранами не жалуется?

Жалуется, есть даже топик отдельный: https://github.com/sadko4u/lsp-plugins/issues/68

Поэтому придётся найти время и перелопатить все виджеты, чтобы скейлились по-нормальному.

Надо же, минимализм в этой области сейчас редок.

Практика показывает, что чем меньше плагины за собой тащат зависимостей, тем легче они интегрируются и тем меньше геморроя вызывают у пользователей. Ну и портабельность между платформами тоже повышается, что немаловажно.

sadko4u ()
Последнее исправление: sadko4u (всего исправлений: 1)
Ответ на: комментарий от sadko4u
init lv2 index:
LOAD: http://lsp-plug.in/plugins/lv2/comp_delay_mono
LOAD: http://lsp-plug.in/plugins/lv2/comp_delay_stereo
LOAD: http://lsp-plug.in/plugins/lv2/compressor_lr
LOAD: http://lsp-plug.in/plugins/lv2/compressor_mono
LOAD: http://lsp-plug.in/plugins/lv2/compressor_ms
LOAD: http://lsp-plug.in/plugins/lv2/compressor_stereo
LOAD: http://lsp-plug.in/plugins/lv2/dyna_processor_lr
LOAD: http://lsp-plug.in/plugins/lv2/dyna_processor_mono
LOAD: http://lsp-plug.in/plugins/lv2/dyna_processor_ms
LOAD: http://lsp-plug.in/plugins/lv2/dyna_processor_stereo
LOAD: http://lsp-plug.in/plugins/lv2/expander_lr
LOAD: http://lsp-plug.in/plugins/lv2/expander_mono
LOAD: http://lsp-plug.in/plugins/lv2/expander_ms
LOAD: http://lsp-plug.in/plugins/lv2/expander_stereo
LOAD: http://lsp-plug.in/plugins/lv2/gate_lr
LOAD: http://lsp-plug.in/plugins/lv2/gate_mono
LOAD: http://lsp-plug.in/plugins/lv2/gate_ms
LOAD: http://lsp-plug.in/plugins/lv2/gate_stereo
LOAD: http://lsp-plug.in/plugins/lv2/graph_equalizer_x16_mono
LOAD: http://lsp-plug.in/plugins/lv2/graph_equalizer_x32_mono
LOAD: http://lsp-plug.in/plugins/lv2/impulse_responses_mono
LOAD: http://lsp-plug.in/plugins/lv2/impulse_responses_stereo
LOAD: http://lsp-plug.in/plugins/lv2/impulse_reverb_mono
LOAD: http://lsp-plug.in/plugins/lv2/impulse_reverb_stereo
LOAD: http://lsp-plug.in/plugins/lv2/latency_meter
LOAD: http://lsp-plug.in/plugins/lv2/limiter_mono
LOAD: http://lsp-plug.in/plugins/lv2/limiter_stereo
LOAD: http://lsp-plug.in/plugins/lv2/mb_compressor_mono
LOAD: http://lsp-plug.in/plugins/lv2/mb_expander_lr
LOAD: http://lsp-plug.in/plugins/lv2/mb_expander_mono
LOAD: http://lsp-plug.in/plugins/lv2/mb_expander_ms
LOAD: http://lsp-plug.in/plugins/lv2/mb_expander_stereo
LOAD: http://lsp-plug.in/plugins/lv2/multisampler_x12
LOAD: http://lsp-plug.in/plugins/lv2/multisampler_x12_do
LOAD: http://lsp-plug.in/plugins/lv2/multisampler_x24
LOAD: http://lsp-plug.in/plugins/lv2/multisampler_x24_do
LOAD: http://lsp-plug.in/plugins/lv2/multisampler_x48
LOAD: http://lsp-plug.in/plugins/lv2/multisampler_x48_do
LOAD: http://lsp-plug.in/plugins/lv2/oscillator_mono
LOAD: http://lsp-plug.in/plugins/lv2/phase_detector
LOAD: http://lsp-plug.in/plugins/lv2/profiler_mono
LOAD: http://lsp-plug.in/plugins/lv2/profiler_stereo
LOAD: http://lsp-plug.in/plugins/lv2/room_builder_mono
LOAD: http://lsp-plug.in/plugins/lv2/room_builder_stereo
LOAD: http://lsp-plug.in/plugins/lv2/sampler_mono
LOAD: http://lsp-plug.in/plugins/lv2/sampler_stereo
LOAD: http://lsp-plug.in/plugins/lv2/sc_compressor_mono
LOAD: http://lsp-plug.in/plugins/lv2/sc_compressor_ms
LOAD: http://lsp-plug.in/plugins/lv2/sc_compressor_stereo
LOAD: http://lsp-plug.in/plugins/lv2/sc_expander_lr
LOAD: http://lsp-plug.in/plugins/lv2/sc_expander_mono
LOAD: http://lsp-plug.in/plugins/lv2/sc_expander_ms
LOAD: http://lsp-plug.in/plugins/lv2/sc_expander_stereo
LOAD: http://lsp-plug.in/plugins/lv2/sc_gate_lr
LOAD: http://lsp-plug.in/plugins/lv2/sc_gate_mono
LOAD: http://lsp-plug.in/plugins/lv2/sc_gate_ms
LOAD: http://lsp-plug.in/plugins/lv2/sc_gate_stereo
LOAD: http://lsp-plug.in/plugins/lv2/sc_limiter_mono
LOAD: http://lsp-plug.in/plugins/lv2/sc_limiter_stereo
LOAD: http://lsp-plug.in/plugins/lv2/sc_mb_expander_lr
LOAD: http://lsp-plug.in/plugins/lv2/sc_mb_expander_mono
LOAD: http://lsp-plug.in/plugins/lv2/sc_mb_expander_ms
LOAD: http://lsp-plug.in/plugins/lv2/sc_mb_expander_stereo
LOAD: http://lsp-plug.in/plugins/lv2/slap_delay_mono
LOAD: http://lsp-plug.in/plugins/lv2/slap_delay_stereo
LOAD: http://lsp-plug.in/plugins/lv2/spectrum_analyzer_x1
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: missing ';' or '.'
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: expected `]', not `l'
lilv_world_load_file(): error: Error loading file `file:///usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl'
lv2: lilv_plugin_instantiate failed
LOAD: http://lsp-plug.in/plugins/lv2/spectrum_analyzer_x12
LOAD: http://lsp-plug.in/plugins/lv2/spectrum_analyzer_x16
LOAD: http://lsp-plug.in/plugins/lv2/spectrum_analyzer_x2
LOAD: http://lsp-plug.in/plugins/lv2/spectrum_analyzer_x4
LOAD: http://lsp-plug.in/plugins/lv2/spectrum_analyzer_x8
LOAD: http://lsp-plug.in/plugins/lv2/trigger_mono
LOAD: http://lsp-plug.in/plugins/lv2/trigger_stereo
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: missing ';' or '.'
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: expected `]', not `l'
lilv_world_load_file(): error: Error loading file `file:///usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl'
lv2: lilv_plugin_instantiate failed
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: missing ';' or '.'
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: expected `]', not `l'
lilv_world_load_file(): error: Error loading file `file:///usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl'
lv2: lilv_plugin_instantiate failed
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: missing ';' or '.'
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: expected `]', not `l'
lilv_world_load_file(): error: Error loading file `file:///usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl'
lv2: lilv_plugin_instantiate failed
lv2ui: unable to init: http://lsp-plug.in/plugins/lv2/spectrum_analyzer_x1
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.pcm.dmix.channels'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: Нет такого файла или каталога
ALSA lib pcm.c:2564:(snd_pcm_open_noupdate) Unknown PCM dmix:SB
AudioALSA::open_output default: Нет такого файла или каталога
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: missing ';' or '.'
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: expected `]', not `l'
lilv_world_load_file(): error: Error loading file `file:///usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl'
lv2: lilv_plugin_instantiate failed
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: missing ';' or '.'
error: /usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl:278:2: expected `]', not `l'
lilv_world_load_file(): error: Error loading file `file:///usr/share/cin/lv2/lsp-plugins.lv2/spectrum_analyzer_x1.ttl'
lv2: lilv_plugin_instantiate failed
lv2ui: unable to init: http://lsp-plug.in/plugins/lv2/spectrum_analyzer_x1
Session time: 0:02:18
Cpu time: user: 0:00:31.329 sys: 0:00:05.683

Это нормально? У меня как раз spectrum_analyzer_x1 не запускается ...

Andrew-R ★★ ()
Ответ на: комментарий от sadko4u

что-то с libsuil

Checking for 'x11'
['/usr/bin/pkg-config', '--cflags', '--libs', 'x11']
err: Package x11 was not found in the pkg-config search path.
Perhaps you should add the directory containing `x11.pc'
to the PKG_CONFIG_PATH environment variable
No package 'x11' found

not found
from /dev/shm/tmp/cinelerra-goodguy-20200321/cinelerra-5.1/thirdparty/suil-0.10.6: The configuration failed

хм, у меня X в нестандартной директории, может надо PKG_CONFIG_PATH подкрутить .....

Andrew-R ★★ ()
Ответ на: комментарий от Andrew-R
root@slax:/dev/shm/tmp/cinelerra-goodguy-20200321/cinelerra-5.1/thirdparty# export
[..skip...]
declare -x PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/X11R7/lib/pkgconfig"
declare -x PS1="\\u@\\h:\\w\\\$ "
declare -x PS2="> "
declare -x PWD="/dev/shm/tmp/cinelerra-goodguy-20200321/cinelerra-5.1/thirdparty"
declare -x QTDIR
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x T1LIB_CONFIG="/usr/share/t1lib/t1lib.config"
declare -x TERM="xterm"
declare -x USER="root"
declare -x VISUAL="mcedit"
declare -x XAUTHORITY="/home/guest/.Xauthority"
root@slax:/dev/shm/tmp/cinelerra-goodguy-20200321/cinelerra-5.1/thirdparty# ls -la /usr/X11R7/lib/pkgconfig
итого 640
drwxr-xr-x  2 root root  4096 мар 13 06:45 ./
drwxr-xr-x 15 root root 20480 мар 13 15:25 ../
-rw-r--r--  1 root root   194 июн  7  2006 applewmproto.pc
lrwxrwxrwx  1 root root    34 май 20  2012 bcop.pc -> /usr/X11R7/share/pkgconfig/bcop.pc
-rw-r--r--  1 root root   194 янв 20  2011 bigreqsproto.pc
-rw-r--r--  1 root root   315 май  4  2008 compiz-mousepoll.pc
-rw-r--r--  1 root root   348 май  4  2008 compiz-text.pc
-rw-r--r--  1 root root   193 авг 22  2007 compositeproto.pc
-rw-r--r--  1 root root   224 мар 13 06:23 d3d.pc
-rw-r--r--  1 root root   191 май  7  2011 damageproto.pc
-rw-r--r--  1 root root   244 июн  7  2006 dmx.pc
-rw-r--r--  1 root root   186 июн  7  2006 dmxproto.pc
-rw-r--r--  1 root root   240 мар 13 06:23 dri.pc
-rw-r--r--  1 root root   186 авг 12  2015 dri2proto.pc
-rw-r--r--  1 root root   186 авг 12  2015 dri3proto.pc
-rw-r--r--  1 root root   353 мар 13 06:23 egl.pc
-rw-r--r--  1 root root   186 июн  7  2006 evieproto.pc
-rw-r--r--  1 root root   221 июн 28  2012 fixesproto.pc
-rw-r--r--  1 root root   198 июн  7  2006 fontcacheproto.pc
-rw-r--r--  1 root root   210 янв 25  2007 fontenc.pc
-rw-r--r--  1 root root   190 фев 16  2016 fontsproto.pc
-rw-r--r--  1 root root   242 янв 20  2011 fontutil.pc
-rw-r--r--  1 root root   198 мар 13 06:23 gbm.pc
-rw-r--r--  1 root root   367 мар 13 06:23 gl.pc
-rw-r--r--  1 root root   672 июн 28  2014 glamor-egl.pc
-rw-r--r--  1 root root   433 июн 28  2014 glamor.pc
-rw-r--r--  1 root root   246 мар 13 06:23 glesv1_cm.pc
-rw-r--r--  1 root root   237 мар 13 06:23 glesv2.pc
-rw-r--r--  1 root root   185 фев 16  2016 glproto.pc
-rw-r--r--  1 root root   259 авг 17  2012 glu.pc
-rw-r--r--  1 root root   282 июл 12  2011 glut.pc
-rw-r--r--  1 root root   260 авг  6  2011 glw.pc
-rw-r--r--  1 root root   231 июн  7  2006 ice.pc
-rw-r--r--  1 root root   190 фев 16  2016 inputproto.pc
-rw-r--r--  1 root root   184 янв 25  2007 kbproto.pc
-rw-r--r--  1 root root   222 июн  7  2006 lbxutil.pc
-rw-r--r--  1 root root   276 май  4  2008 libcompizconfig.pc
-rw-r--r--  1 root root   226 ноя  6 17:24 libdrm.pc
-rw-r--r--  1 root root   276 ноя  6 17:24 libdrm_amdgpu.pc
-rw-r--r--  1 root root   261 ноя  6 17:24 libdrm_intel.pc
-rw-r--r--  1 root root   306 ноя  6 17:24 libdrm_nouveau.pc
-rw-r--r--  1 root root   276 ноя  6 17:24 libdrm_radeon.pc
-rw-r--r--  1 root root   250 июн  7  2006 libfs.pc
-rw-r--r--  1 root root   265 ноя  6 17:24 libkms.pc
-rw-r--r--  1 root root   285 ноя 18  2018 libva-drm.pc
-rw-r--r--  1 root root   286 ноя 18  2018 libva-egl.pc
-rw-r--r--  1 root root   285 ноя 18  2018 libva-glx.pc
-rw-r--r--  1 root root   258 ноя 18  2018 libva-tpi.pc
-rw-r--r--  1 root root   285 ноя 18  2018 libva-x11.pc
-rw-r--r--  1 root root   258 ноя 18  2018 libva.pc
-rw-r--r--  1 root root   223 июн  7  2006 oldx.pc
-rw-r--r--  1 root root   256 фев 16  2016 pciaccess.pc
-rw-r--r--  1 root root   232 мар 12  2019 pixman-1.pc
-rw-r--r--  1 root root   192 авг 12  2015 presentproto.pc
-rw-r--r--  1 root root   204 июн  7  2006 printproto.pc
-rw-r--r--  1 root root   175 май  4  2008 pthread-stubs.pc
-rw-r--r--  1 root root   190 фев 16  2016 randrproto.pc
-rw-r--r--  1 root root   193 янв 20  2011 recordproto.pc
-rw-r--r--  1 root root   193 янв 20  2011 renderproto.pc
-rw-r--r--  1 root root   196 фев 16  2016 resourceproto.pc
-rw-r--r--  1 root root   198 июн  7  2006 scrnsaverproto.pc
-rw-r--r--  1 root root   252 янв 25  2007 sm.pc
-rw-r--r--  1 root root   201 июн  7  2006 trapproto.pc
-rw-r--r--  1 root root   290 сен  5  2015 vdpau.pc
-rw-r--r--  1 root root   190 июн  7  2006 videoproto.pc
-rw-r--r--  1 root root   194 июн  7  2006 windowswmproto.pc
-rw-r--r--  1 root root   232 авг 28  2018 x11-xcb.pc
-rw-r--r--  1 root root   296 авг 28  2018 x11.pc
[...skip...]

и что ему надо ...

pkg-config --cflags, --libs, x11
Unknown option --cflags,
root@slax:/dev/shm/tmp/cinelerra-goodguy-20200321/cinelerra-5.1/thirdparty# pkg-config --cflags --libs x11
-I/usr/X11R7/include -L/usr/X11R7/lib -lX11

И где теперь искать что конкретно эта waf запускает и как ..... это так, вопрос в воздух ....

Andrew-R ★★ ()
Ответ на: комментарий от Andrew-R

Почитал исходники libsuil.

У вас, похоже, она без поддержки GTK собрана и не может обернуть в GTK-окно pure X11-окно.

А тут, похоже, приклеились ненужные запятые:

pkg-config --cflags, --libs, x11
Unknown option --cflags,
sadko4u ()
Ответ на: комментарий от sadko4u

Да, но запятые это скорее просто побочный эффект оператора печати.

А вот что собралось без x11 это правда ... почему - пока не знаю. Системная наверное соберётся нормально, но «у нас» (в cinGG) сборочная система достаточно капризная, может переменные окружения именно до этой либы не доехали....

Спасибо за быстрофикс на гитхабе!

Andrew-R ★★ ()
Ответ на: комментарий от gtk3

Вот почему оно под wayland’ом не работает.

При наличии XWayland - должно работать. Я специально проверял, правда не сабжевые плагины а свои (точно так же на xcb/cairo), и все работало. А в каком окружении у тебя не работает?

curufinwe ★★★★★ ()
Ответ на: комментарий от fidaj

Демонстрация пытается в кратчайшее время показать возможности плагина. А «хреновее» стало звучание или нет станет ясно только тогда, когда вы начнёте инструмент в микс укладывать.

sadko4u ()
Ответ на: комментарий от sadko4u

Демонстрация в первую очередь промо-материал. И при таком уровне демонстрации возможностями плагина мало, кто заинтересуется. Не все же такие специалисты, чтобы понимать, когда и как слушать, куда и как смотреть.

anonymous ()
Ответ на: комментарий от anonymous

Я пользуюсь в основном FFADO и джек — кинцо, музон, звукозапись.

Очень редко альсой — браузер, сериальчики, музон (спереди системника старый атавизм — оба гнезда пропаяны под наушники). Никак не осилю доконфижить (некогда) проброс «браузер-альса-джек» (фаерфокс падает).

Пульсы нет вообще, с 2009 года.

deep-purple ★★★★★ ()
Ответ на: комментарий от anonymous

понятно, что jackd есть, но почему же он такой хороший и все пользуются alsa + pulse? люди не хотят звука с минимальной задержкой?

Звук с минимальной задержкой редко когда нужен, в основном - при записи музыки или обработке музыки в риалтайме процессором.

Для задач «людей» это даже мешает, там требования другие - приведение разных звуковых потоков к одной частоте дискретизации и микширование. Jack же принципиально такого не делает, с ним приложения работают на одной частоте дискретизации, которую задает сервер. Это нужно для музыкального софта, но не нужно для обычного, который просто воспроизводит звук.

curufinwe ★★★★★ ()
Ответ на: комментарий от curufinwe

Звук с минимальной задержкой редко когда нужен Он нужен в играх и критически важен для VR, для чего в оффтопик добавили IAudioClient3. Запускать Jack чтобы поиграть в игры, ну такое..

anonymous ()
Ответ на: комментарий от anonymous

Игры могут прямо через ALSA работать с низкими задержками без проблем. Только при этом другие приложения не смогут выводить звук.

Но, насколько я знаю, в винде для низких задержек приложения точно так же эксклюзивно захватывают карту.

curufinwe ★★★★★ ()
Ответ на: комментарий от sadko4u

Ну наконец-то. Надеюсь, не умрёт как предыдущая инициатива, которая после некоторого пиара в линукс-сми оказалась студенческой поделкой без перспектив (сейчас даже сходу не нагуглю). Может, даже кто-нибудь даже допилит GNUStep для запуска хотя бы старых версий Лоджика, в прошлый раз на кикстартере намеревались запилить совместимость с 10.6 но никому оказалось не нужно.

anonymous ()
Ответ на: комментарий от kott

Пакеты *profile - это для тех, кто хочет запустить тулзы под gprof.

Скорее всего, скоро выпилю, т.к. теперь любой желающий может из исходников всё собрать и запустить.

sadko4u ()
Ответ на: комментарий от sadko4u

Скорее всего, скоро выпилю, т.к. теперь любой желающий может из исходников всё собрать и запустить.

не понял подвоха, ведь и раньше - бери и собирай
зы.или смысл в том, что теперь вам не надо выкладывать бинари?

kott ★★★★★ ()
Последнее исправление: kott (всего исправлений: 1)

Ну зачем SIMD на asm?

Как говорится респект и уважуха!

Только вот смысл DSP код нынче писать на asm, когда давно все проблемы с SIMD интринсиками в компиляторах порешали?.. Чем дальше так будет, тем сложнее будет отказаться от этого. Профит в том, что компилятор может дополнительно оптимизировать под конкретный процессор планирование операций и распределение регистров.

Ну и использование термина native вместо generic-реализация как-то режет слух…

troosh ()