LINUX.ORG.RU

Сообщения Andrew-R

 

Потребление CPU разными аудио-кодеками (декодирование)

Решил поиграть(ся) с аудиофайликами через mplayer + qemu-i386

Добавил aac_fixed в /mplayer/codecs.conf

audiocodec ffaacf
  info "FFmpeg AAC nofp (MPEG-2/4 Audio)"
  status working
  fourcc mp4a,MP4A
  fourcc "VLB " ; Used in NSV, not really working
  fourcc "AAC " ; Used in NSV
  fourcc "AACP" ; Used in NSV for AACPlus
  fourcc raac,racp
  format 0xff
  format 0x1600
  format 0x706D
  format 0x4143 ; aac in asf
  format 0xA106 ; aac in avi not yet working
  format 0xAAC0 ; Borgtech nonsense tag
  driver ffmpeg
  dll aac_fixed

Результаты (на 1.4 ггц):

bash-5.1$ qemu-i386 -cpu pentium /usr/bin/mplayer -ao esd -ac ffaacf  ~/Music/jennifer_s_radio.aac
MPlayer SVN-r38448-11.2.0 (C) 2000-2024 MPlayer Team
227 audio & 469 video codecs
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /home/guest/Music/jennifer_s_radio.aac.
libavformat version 60.20.100 (internal)
libavformat file format detected.
[aac @ 0x14ea800]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: audio (aac), -aid 0
Load subtitles in /home/guest/Music/
==========================================================================
Forced audio codec: ffaacf
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 60.39.100 (internal)
AUDIO: 32000 Hz, 2 ch, s32le, 128.0 kbit/6.25% (ratio: 15997->256000)
Selected audio codec: [ffaacf] afm: ffmpeg (FFmpeg AAC nofp (MPEG-2/4 Audio))
==========================================================================
[AO ESD] latency: [server: 0.28s, net: 0.00s] (adjust 0.28s)
AO: [esd] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:  17.2 (17.1) of 20184.7 ( 5:36:24.6) 155.5%
bash-5.1$ qemu-i386 -cpu pentium /usr/bin/mplayer -ao esd  ~/Music/jennifer_s_radio.aac
MPlayer SVN-r38448-11.2.0 (C) 2000-2024 MPlayer Team
227 audio & 469 video codecs
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /home/guest/Music/jennifer_s_radio.aac.
libavformat version 60.20.100 (internal)
libavformat file format detected.
[aac @ 0x14ea800]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: audio (aac), -aid 0
Load subtitles in /home/guest/Music/
==========================================================================
Forced audio codec: mad
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 60.39.100 (internal)
AUDIO: 32000 Hz, 2 ch, floatle, 128.0 kbit/6.25% (ratio: 15997->256000)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
[AO ESD] latency: [server: 0.28s, net: 0.00s] (adjust 0.28s)
AO: [esd] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   8.8 (08.8) of 20184.7 ( 5:36:24.6) 559.2%

Exiting... (Quit)
qemu-i386 -cpu pentium /usr/bin/mplayer -ao esd  ~/Music/jennifer_s_radio.ogg
MPlayer SVN-r38448-11.2.0 (C) 2000-2024 MPlayer Team
227 audio & 469 video codecs
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /home/guest/Music/jennifer_s_radio.ogg.
libavformat version 60.20.100 (internal)
libavformat file format detected.
[lavf] stream 0: audio (vorbis), -aid 0
Load subtitles in /home/guest/Music/
==========================================================================
Forced audio codec: mad
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 60.39.100 (internal)
AUDIO: 32000 Hz, 2 ch, floatle, 379.9 kbit/18.55% (ratio: 47489->256000)
Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis)
==========================================================================
[AO ESD] latency: [server: 0.28s, net: 0.00s] (adjust 0.28s)
AO: [esd] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   6.2 (06.1) of 20182.0 ( 5:36:21.9) 262.0%

Exiting... (Quit)
bash-5.1$ qemu-i386 -cpu pentium /usr/bin/mplayer -ao esd  ~/Music/Ария\ Кипелов\ -\ Жить\ вопреки.mp3
MPlayer SVN-r38448-11.2.0 (C) 2000-2024 MPlayer Team
227 audio & 469 video codecs
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /home/guest/Music/Ария Кипелов - Жить вопреки.mp3.
libavformat version 60.20.100 (internal)
Audio only file format detected.
Load subtitles in /home/guest/Music/
==========================================================================
Forced audio codec: mad
Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 200.1 kbit/14.18% (ratio: 25012->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
==========================================================================
[AO ESD] latency: [server: 0.28s, net: 0.00s] (adjust 0.28s)
AO: [esd] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:  25.2 (25.1) of 274.0 (04:34.0)  6.9%
No bind found for key '0xe9    '.
A:  29.0 (29.0) of 274.0 (04:34.0)  6.9%

Exiting... (Quit)

huh? mp3 через libmad победил с большим отрывом. Ну если поставить хост cpu на max 3.98 ггц то aac_fixed играет (50%-70% CPU) …

 , , ,

Andrew-R
()

Сайт xmms похоже сломался

Ещё в конце прошлого года работал. Я его в варианте xmms-rus до сих пор использую.

https://web.archive.org/web/20231229161717/http://www.xmms.org/

 

Andrew-R
()

Слакварь 14.* EOL

Wed Jan  3 20:25:45 UTC 2024
####################################################################
# EOL (END OF LIFE) NOTICE FOR OLD SLACKWARE VERSIONS              
#
#                                                                  #                               
# Effective January 1, 2024, security patches will no longer be    
#
# provided for the following versions of Slackware (which will all 
#
# be more than 7 years old at that time):                          #                               
#   Slackware 14.0, Slackware 14.1, Slackware 14.2.                
#
# If you are still running these versions you should consider      
#                               
# migrating to a newer version (preferably as recent as possible). 
#
# Alternately, you may make arrangements to handle your own        
#                               
# security patches.                                                #
####################################################################

src: ftp://ftp.slackware.com/pub/slackware/slackware-14.2/ChangeLog.txt

 

Andrew-R
()

Сборка строки в баш

Есть такой мегаскрипт:

https://encode2mpeg.sourceforge.net/encode2mpeg.html

Я его хочу немножко преобразовать, чтобы вместо pcm2aiff (который немножко поломан) использовать sox. Но sox оказался хитее чем кажется, и параметры raw файлов ему нужно задавать перед каждым входным файлом. которых может быт переменное число. Решил сделать крутой цикл:

FULLSOXLINE=''
			
SOXPRAMS=' -L -b 16 -e signed -c 1 -r 441000 -t raw '
			
for ((n=0;n<${mpegchannels:-2};n++)) ; do
${FULLSOXLINE}+=${SOXPARAMS}+"$output"_${CHANLIST[n]}.pcm
done

			
sox -m ${FULLSOXLINE} -c$((${mpegchannels:-2})) -b 16 -r"$asr" -e signed  "$output".aiff

но естественно оно не работает как я задумал:

./encode2mpeg: line 7438: +=+/dev/shm/svcd_test.sio_l.pcm: No such file or directory
./encode2mpeg: line 7438: +=+/dev/shm/svcd_test.sio_r.pcm: No such file or directory
./encode2mpeg: line 7438: +=+/dev/shm/svcd_test.sio_ls.pcm: No such file or directory
./encode2mpeg: line 7438: +=+/dev/shm/svcd_test.sio_rs.pcm: No such file or directory
./encode2mpeg: line 7438: +=+/dev/shm/svcd_test.sio_c.pcm: No such file or directory
./encode2mpeg: line 7438: +=+/dev/shm/svcd_test.sio_lfe.pcm: No such file or directory
sox:      SoX v14.4.2

sox FAIL sox: Not enough input filenames specified

и вот .. я в ту-пи-ке.

 

Andrew-R
()

Кто с хорошим слухом, послушайте mp2 энкодер?

https://github.com/Randrianasulu/mctoolame-experiments-enc

Я попытался засунуть туда более быстрое fft из twolame, ветка fft-new . Но поскольку у меня всего одна колонка и уши немузыкальные поспробуйте свой звуковой файл закодить, и раскодировать обратно вот этим:

https://github.com/Randrianasulu/mctoolame-experiments

И послушать разницу …. особенно в центральном канале.

Думаю включить TWEAKS = -finline-functions -fexpensive-optimizations -ffast-math -malign-double в makefile тоже не лишним будет - если разница от включения нового ftt всего секунд 15 (от 191 -> 175) то -ffast-math делает всё раза в 2 быстрее - до 75 секунд на 6 канальном aiff который я сделал из

http://samples.mplayerhq.hu/benchmark/testsuite1/matrixbench_highdivx_ac3.avi

Время на AMD FX4300 поставленном на 1.4 Ггц. Код строго последовательный.

 

Andrew-R
()

Чтение AIFF

Вот я решил понекромансить и вытащил многоканальный энкодер mpeg2 (mp2).

https://github.com/Randrianasulu/mctoolame-experiments-enc/tree/master

Только почему-то функция aiff_read_headers из common.c не хочет работать - выдаёт ошибку и возвращается на линии

https://github.com/Randrianasulu/mctoolame-experiments-enc/blob/master/common.c#L784

Не пойму, неужели дефолтное поведение fread() изменилось за 20 лет? Компилирую на i586 Slackware

 

Andrew-R
()

Вирт умер

https://news.ycombinator.com/item?id=38858012

Который Паскаль,Оберон и прочие Модула-2 создавал.

 

Andrew-R
()

hl2, wine, раскладка

@kirill_rrr

Поставил Hl2, чтобы посмотреть будут ли артефакты под wine 9.0-rc1 / nouveau nvc0 {mesa git}. Вайн 32-битный, как и игра.

Артефактов нет, но почему-то не работал wsad и прочие полезные клавиши. Оказалось, нужно было в настройках ТДЕ (14.1.1) поставить на время игры приоритет английской раскладки выше русской (там их у меня всего две).

Возможно, это вот этот баг: https://bugs.winehq.org/show_bug.cgi?id=30984

 , ,

Andrew-R
()

Opengl pbuffer с плавающей точкой (fp32)

Поскольку один глазастый пользователь заметил, что cingg в отличие от CV/HV версий режет сверхяркие (больше 1.0f) значения в цветовых каналах даже при работе в rgba32f что видно на найденном в сети EXR с яркостью аж за 100 …

В общем я кажется нашел где ограничение (оно там ужет лет шесть, но поскольку такие сверхяркие картинки могут у нас глотать только модули работы с exr/tiff (и может dpx еще с недавних пор), а ффмпег режет в integer нещадно - заметили полностью только сейчас) и приподнял его раз так в тыщу. Может и совсем можно убрать, но я с ходу не помню константы на макс. 32 битное число с плавающей точкой.

В общем всё бы здорово, но opengl при работе с 8-битными текстурами режет сверхяркие значения тоже, текстуры-то я нашёл где поменять а вот pbuffer что-то не взлетает - ошибок нет, но и изображение только мигает при проигрывании.

Пытался по этому посту делать, только с GLX_RGBA_FLOAT_BIT_ARB

https://community.khronos.org/t/glx-ati-pixel-format-float-under-linux/47685/2

менял тут, в bcdisplayinfo тоже пробовал, но там как раз ошибка при старте о ненайденном pbuffer выскакивала и соотв. все тихо отваливалось на x11.

http://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=blob;f=cinelerra-5.1/guicast/bcwindow3d.C;h=59a21d8eb16059683572644ac430038c3570b32f;hb=HEAD

ветка рассылки где я патчи прикрепил:

https://lists.cinelerra-gg.org/pipermail/cin/2023-November/007221.html

 ,

Andrew-R
()

в qemu 8.2 добавят эмуляцию hppa / pa-risc 2.0

https://wiki.qemu.org/ChangeLog/8.2

И еще на виртуальной q800 (m68k) можно будет запустить NetBSD, A/UX и собственно macos 7.1-8.1

Но под host os где python <3.8 перестанет собираться (прощай сборка под Debian 10)

 

Andrew-R
()

Заставил работать riseup vpn (Calyx vpn) на Slackware 15.0!

Для начала поставил google-go-lang от alienboob

wget http://www.slackware.com/~alien/slackbuilds/google-go-lang/pkg/15.0/google-go-lang-1.20.5-i586-1alien.txz

installpkg google-go-lang-1.20.5-i586-1alien.txz

export GOROOT="/usr/lib/go1.20.5/go"                                                    
export PATH="${GOROOT}/bin:${PATH}"                                                

скачал bitmask vpn

git clone https://github.com/leapcode/bitmask-vpn

скачал qt installer framework

git clone https://github.com/qtproject/installer-framework

setarch i686 make install

из корня riseup-vpn

пропатчил немного конфиг

diff --git a/providers/vendor.conf b/providers/vendor.conf
index 6eb6a5a..196aaea 100644
--- a/providers/vendor.conf
+++ b/providers/vendor.conf
@@ -1,6 +1,6 @@
 [default]

-provider = riseup,riseupbeta
+provider = calyx

 [riseup]

@@ -51,13 +51,14 @@ auth                = anon
 apiURL              = https://api.calyx.net:4430/
 caURL               = https://calyx.net/ca.crt

-infoURL             = https://calyx.net/
-tosURL              = https://calyx.net/tos
-helpURL             = https://calyx.net/support
+infoURL             = https://calyxinstitute.org/vpn
+tosURL              = https://calyxinstitute.org/legal/terms-of-service
+helpURL             = https://calyxinstitute.org/about/contact-us

-geolocationAPI      = https://api.black.riseup.net:9001/json
+geolocationAPI      = https://menshen.vpn.calyx.dev/json
 askForDonations     = false
-donateURL           =
+donateURL           = https://members.calyxinstitute.org/donate
+


 [demolib]

и собрал

PROVIDER=calyx make build
cp build/qt/release/calyx-vpn /usr/bin                                         
cp pkg/pickle/helpers/bitmask-root /usr/sbin                                       
cp pkg/pickle/helpers/se.leap.bitmask.policy /usr/share/polkit-1/actions/    
chmod +x /usr/sbin/bitmask-root

ну и от пользователя

bash-5.1$ calyx-vpn
qml: flavor: calyx-vpn
QSystemTrayIcon::setVisible: No Icon set
2023/10/03 03:39:20 Client expects anon auth
2023/10/03 03:39:20 Checking for updates...
2023/10/03 03:39:21 Fetching MOTD for riseup.net
2023/10/03 03:39:21 WARN Error fetching json from https://static.riseup.net/vpn/motd.json
2023/10/03 03:39:21 firewall stop
2023/10/03 03:39:21 Fetching gateways ()...
2023/10/03 03:39:21 Error fetching eip v3 json: https://api.black.riseup.net/3/config/eip-service.json
qml: status off
qrc:/components/BoldLabel.qml:15:5: Unable to assign [undefined] to QString
2023/10/03 03:39:31 Getting certificate...
2023/10/03 03:39:31 Fetching certificate to /tmp/leap-1924700394/openvpn.pem
2023/10/03 03:39:31 Post "https://api.black.riseup.net/3/cert": dial tcp: lookup api.black.riseup.net on 192.168.1.1:53: no such host
2023/10/03 03:39:31 ERROR cannot resolve address: api.black.riseup.net
2023/10/03 03:39:31 lookup api.black.riseup.net on 192.168.1.1:53: no such host
2023/10/03 03:39:31 From here, api.black.riseup.net resolves to:
qml: status off
qml: status off
2023/10/03 03:39:33 Successfully did certificate bypass
2023/10/03 03:39:33 Error fetching eip v3 json: https://api.black.riseup.net/3/config/eip-service.json
2023/10/03 03:39:51 Error again fetching eip v3 json: Post "https://198.252.153.107/3/config/eip-service.json": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2023/10/03 03:40:03 Error again fetching eip v3 json: Post "https://198.252.153.107/3/config/eip-service.json": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2023/10/03 03:40:06 Error fetching eip v3 json: https://api.black.riseup.net/3/config/eip-service.json
2023/10/03 03:40:14 ERROR: could not fetch geolocation: Post "https://api.black.riseup.net:9001/json": dial tcp: lookup api.black.riseup.net on 192.168.1.1:53: no such host
2023/10/03 03:40:14 seems to be initialized...
2023/10/03 03:40:14 Sorting gateways by timezone
2023/10/03 03:40:16 Sorting gateways by timezone
qml: status off
2023/10/03 03:40:18 Error fetching eip v3 json: https://api.black.riseup.net/3/config/eip-service.json
qml: status off
2023/10/03 03:40:48 Error again fetching eip v3 json: Post "https://198.252.153.107/3/config/eip-service.json": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2023/10/03 03:41:03 Error fetching eip v3 json: https://api.black.riseup.net/3/config/eip-service.json
2023/10/03 03:41:19 ERROR: could not fetch geolocation: Post "https://api.black.riseup.net:9001/json": dial tcp: lookup api.black.riseup.net on 192.168.1.1:53: no such host
2023/10/03 03:41:19 args passed to bitmask-root: [--tls-cipher DHE-RSA-AES128-SHA --tun-ipv6 --float  --auth SHA1 --data-ciphers AES-128-CBC --keepalive 10 30]
2023/10/03 03:41:19 Sorting gateways by timezone
2023/10/03 03:41:19 ERROR: could not fetch geolocation: Post "https://api.black.riseup.net:9001/json": dial tcp: lookup api.black.riseup.net on 192.168.1.1:53: no such host
2023/10/03 03:41:19 Sorting gateways by timezone
2023/10/03 03:41:19 firewall start
2023/10/03 03:41:20 VERB 0
2023/10/03 03:41:20 openvpn start:  [--tls-cipher DHE-RSA-AES128-SHA --tun-ipv6 --float  --auth SHA1 --data-ciphers AES-128-CBC --keepalive 10 30 --remote 51.15.9.205 80 tcp4 --remote 51.15.9.205 1194 tcp4 --remote 51.158.144.31 80 tcp4 --remote 51.158.144.31 1194 tcp4 --remote 163.172.211.109 80 tcp4 --remote 163.172.211.109 1194 tcp4 --verb 3 --management-client --management 127.0.0.1 6061 /tmp/leap-1924700394/leap-vpn-2936323147 --ca /tmp/leap-1924700394/cacert.pem --cert /tmp/leap-1924700394/openvpn.pem --key /tmp/leap-1924700394/openvpn.pem --persist-tun]
2023/10/03 03:41:20 New connection into the management
2023/10/03 03:41:22 Event: INFO: OpenVPN Management Interface Version 3 -- type 'help' for more info
2023/10/03 03:43:11 Sorting gateways by timezone
2023/10/03 03:43:11 firewall stop
qrc:/components/BoldLabel.qml:15:5: Unable to assign [undefined] to QString
2023/10/03 03:43:12 openvpn stop
qrc:/components/BoldLabel.qml:15:5: Unable to assign [undefined] to QString
2023/10/03 03:43:12 Event: EXITING: init_instance
2023/10/03 03:43:12 Sorting gateways by timezone
2023/10/03 03:43:12 Sorting gateways by timezone
qml: status off
2023/10/03 03:43:15 Getting certificate...
2023/10/03 03:43:15 DEBUG We have a valid cert: /tmp/leap-1924700394/openvpn.pem
2023/10/03 03:43:15 Sorting gateways by timezone
2023/10/03 03:43:15 Sorting gateways by timezone
2023/10/03 03:43:15 ERROR: could not fetch geolocation: Post "https://api.black.riseup.net:9001/json": dial tcp: lookup api.black.riseup.net on 192.168.1.1:53: no such host
2023/10/03 03:43:15 args passed to bitmask-root: [--tls-cipher DHE-RSA-AES128-SHA --tun-ipv6 --float  --auth SHA1 --data-ciphers AES-128-CBC --keepalive 10 30]
2023/10/03 03:43:15 Sorting gateways by timezone
2023/10/03 03:43:15 ERROR: could not fetch geolocation: Post "https://api.black.riseup.net:9001/json": dial tcp: lookup api.black.riseup.net on 192.168.1.1:53: no such host
2023/10/03 03:43:15 Sorting gateways by timezone
2023/10/03 03:43:15 firewall start
qml: status off
2023/10/03 03:43:16 VERB 0
2023/10/03 03:43:16 openvpn start:  [--tls-cipher DHE-RSA-AES128-SHA --tun-ipv6 --float  --auth SHA1 --data-ciphers AES-128-CBC --keepalive 10 30 --remote 163.172.83.106 80 tcp4 --remote 163.172.83.106 1194 tcp4 --remote 51.15.187.53 80 tcp4 --remote 51.15.187.53 1194 tcp4 --remote 51.159.55.86 80 tcp4 --remote 51.159.55.86 1194 tcp4 --verb 3 --management-client --management 127.0.0.1 6061 /tmp/leap-1924700394/leap-vpn-2175255328 --ca /tmp/leap-1924700394/cacert.pem --cert /tmp/leap-1924700394/openvpn.pem --key /tmp/leap-1924700394/openvpn.pem --persist-tun]
2023/10/03 03:43:16 New connection into the management
2023/10/03 03:43:16 Event: INFO: OpenVPN Management Interface Version 3 -- type 'help' for more info
2023/10/03 03:43:16 Event: AUTH
2023/10/03 03:43:16 Sorting gateways by timezone
2023/10/03 03:43:16 Event: ASSIGN_IP: 10.41.0.55
2023/10/03 03:43:16 Event: CONNECTED: 163.172.83.106
2023/10/03 03:43:16 Connected to gateway: vpn07-par.riseup.net
2023/10/03 03:43:16 Sorting gateways by timezone
2023/10/03 03:43:16 Sorting gateways by timezone

Для работы нужно openvpn, qt5

 

Andrew-R
()

Вышла cinelerra-gg 20230930

Изменений немного:

я поковырявшись немного переключил libwebp на автотулзы потому что новая libwebp 1.3.2 хотела новый cmake которого в старых дистрах нету.

Добавил volatile к паре переменных, иначе зависало на 32-битных Слаквари И Дебиане при выделении фрагментов двойным кликом в режиме drag and drop.

IgorB добавил иконку к новому плагину «зеркало».

Добавлены описания недавно добавленных ффмпег плагинов на французском и испанском. (expanders.fr and expanders.es)

Андреа и Филлис написали краткую вводную для переходящих с Adobe Premiere.

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

аппимэйдж: https://cinelerra-gg.org/download/images/CinGG-20230930-alternative_shortcuts.AppImage

или при ручной сборке патч живёт в корне дерева исходников:

patch -p1 -i alt_shortcuts.patch

Обычная версия

https://cinelerra-gg.org/download/images/CinGG-20230930-x86_64.AppImage

исходники: https://cinelerra-gg.org/download/src/cin_5.1.20230930-src.tgz

ну или в git http://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=summary

 

Andrew-R
()

cinelerra-gg 20230831 вышла.

Изменений немного - ждём новый ffmpeg 6.1

Анонимус добавил новый плагин «зеркало», и кнопку «reset» и более аккуратный ввод настроек в плагине audio gain.

Я кажется пофиксил краш с фоновым рендером, если его на ходу переключить с jpeg на что-то еще (png, tiff, openexr). Пофиксил также мелкие ошибки сборки с новыми binutils (патч выдран из mythtv/ffmpeg git) и новой системной libjpeg-turbo.

Добавил возможность выбора устройств vaapi для декодинга и энкодинга:

CIN_DRM_DEC=/dev/dri/renderD129
CIN_DRM_ENC=/dev/dri/renderD128 bin/cin

естественно устройства можно и нужно подставить свои. По умолчанию как и прежде используется устройство 0 - renderD128

Проверил сборку на

NetBSD 9.2/I386
FreeBSD 13.0 amd64
Debian 11 amd64
Slackware 15.0 i586 (64bit kernel)
Termux aarch64

Ссылка на анонс: https://lists.cinelerra-gg.org/pipermail/cin/2023-August/006961.html

 

Andrew-R
()

timidity в режиме alsa seq

В общем я его поставил, он даже почти работал, но вылетал :)

Привёл конфиг к такому виду (в основном помог параметр -s)

cat /etc/rc.d/rc.timidity
#!/bin/sh
# Start/stop/restart the TiMidity++ ALSA sequencer client
# Have a look at README.alsaseq in the TiMidity++ docs for more info.

TIMIDITY_OPTIONS="-iAD -Os -B2,12 -s 48000"

# If CPU usage is too high, try disabling the reverb and chorus effects.
#TIMIDITY_OPTIONS="$TIMIDITY_OPTIONS -EFreverb=0 -EFchorus=0"

case "$1" in
  'start')
    taskset -c 0 nice -n -20 timidity $TIMIDITY_OPTIONS
  ;;
  'stop')
    killall timidity
  ;;
  'restart')
    killall timidity
    sleep 1
    taskset -c 0 nice -n -20 timidity $TIMIDITY_OPTIONS
  ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
  ;;
esac

Теперь aplaymidi играет демо не затыкаясь с примерно 10% потребления от оодного ядра на 1.4 Гггц.

Но сам timiditi играет только в режиме esd или oss:

aoss timidity -Od -S 48000 /usr/doc/nyquist-2.37/demos/demo.mid

Edit: ах, маленькая s!

timidity -s 48000 /usr/doc/nyquist-2.37/demos/demo.mid

вот так тоже звучит.

 

Andrew-R
()

Intel Embree 3.12.1 32-bit

Взял слакбилд, попробовал собрать.

Вот с таким патчем собралось, но в деле пока не пробовал

--- common/simd/vint4_sse2.h.orig       2023-07-14 19:08:03.512552150 +0300
+++ common/simd/vint4_sse2.h    2023-07-14 19:08:41.408552764 +0300
@@ -444,7 +444,7 @@
   __forceinline int toScalar(const vint4& v) { return _mm_cvtsi128_si32(v); }

   __forceinline size_t toSizeT(const vint4& v) {
-#if defined(__WIN32__) && !defined(__X86_64__) // win32 workaround
+#if defined(__WIN32__) || !defined(__X86_64__) // win32 workaround
     return toScalar(v);
 #else
     return _mm_cvtsi128_si64(v);

и таким конфигом:

cmake \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_MANDIR=/usr/man \
    -DCMAKE_INSTALL_DOCDIR=/usr/doc \
    -DEMBREE_ISPC_SUPPORT=OFF \
    -DEMBREE_ISA_AVX2:BOOL=OFF \
    -DEMBREE_ISA_AVX512SKX:BOOL=OFF \
    -DEMBREE_TASKING_SYSTEM=OFF \
    -DEMBREE_TUTORIALS=OFF \
    -DCMAKE_BUILD_TYPE=Release ..

В общем если соберу luxcorerender под 32-бит - то будет чем проверить.

Как я понимаю, это либу рэйтрэйсинга хочет новый Godot. Так что авось кому пригодится …

ps: luxcorerender-git собрался, но пришлось выкинуть поддержку OIDN (Open Image Denoiser)

cmake -DLUXCORE_DISABLE_OIDN:bool=ON -DLUXRAYS_DISABLE_CUDA:bool=ON ..

плюс патч на luxcorerender (хардкодит python39 , ибо у меня их два, 2.7 и 3.9 - на этом cmake лажает)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 72c1996ac..7af63b929 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -169,7 +169,7 @@ if (BUILD_LUXCORE_DLL)
        set(LUXCORE_LIBRARY luxcore)
        ADD_DEFINITIONS("-DLUXCORE_DLL")
 else()
-       set(LUXCORE_LIBRARY luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
+       set(LUXCORE_LIBRARY luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
 endif()

 ################################################################################
diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
index 5bd992b0d..ea6ba38b2 100644
--- a/cmake/Dependencies.cmake
+++ b/cmake/Dependencies.cmake
@@ -66,7 +66,7 @@ set(Boost_MINIMUM_VERSION       "1.56.0")

 # For Windows builds, PYTHON_V must be defined as "3x" (x=Python minor version, e.g. "35")
 # For other platforms, specifying python minor version is not needed
-set(LUXRAYS_BOOST_COMPONENTS thread program_options filesystem serialization iostreams regex system python${PYTHON_V} chrono serialization numpy${PYTHON_V})
+set(LUXRAYS_BOOST_COMPONENTS thread program_options filesystem serialization iostreams regex system python39 chrono serialization numpy${PYTHON_V})
 find_package(Boost ${Boost_MINIMUM_VERSION} COMPONENTS ${LUXRAYS_BOOST_COMPONENTS})
 if (NOT Boost_FOUND)
         # Try again with the other type of libs
diff --git a/deps/optix-7.1.0/include/optix_7_types.h b/deps/optix-7.1.0/include/optix_7_types.h
index fb1aa5b0b..e89efb097 100644
--- a/deps/optix-7.1.0/include/optix_7_types.h
+++ b/deps/optix-7.1.0/include/optix_7_types.h
@@ -627,7 +627,7 @@ typedef struct OptixBuildInput

 // TODO Define a static assert for C/pre-C++-11
 #if defined( __cplusplus ) && __cplusplus >= 201103L
-static_assert( sizeof( OptixBuildInput ) == 8 + 1024, "OptixBuildInput has wrong size" );
+//static_assert( sizeof( OptixBuildInput ) == 8 + 1024, "OptixBuildInput has wrong size" );
 #endif

 /// Flags set on the #OptixInstance::flags.
diff --git a/src/luxcore/CMakeLists.txt b/src/luxcore/CMakeLists.txt
index d797b749f..e0f99c398 100644
--- a/src/luxcore/CMakeLists.txt
+++ b/src/luxcore/CMakeLists.txt
@@ -152,7 +152,7 @@ set(LUXCORE_LIB_SRCS

 if (BUILD_LUXCORE_DLL)
        add_library(luxcore SHARED ${LUXCORE_LIB_SRCS} ${LUX_PARSER_SRC})
-       target_link_libraries(luxcore PRIVATE slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
+       target_link_libraries(luxcore PRIVATE slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
 else()
        add_library(luxcore STATIC ${LUXCORE_LIB_SRCS} ${LUX_PARSER_SRC})
 endif()
@@ -180,10 +180,10 @@ include_directories(${LuxRays_SOURCE_DIR}/deps/opencolorio-2.0.0/include)

 add_definitions(-DOPENVDB_STATICLIB ${VISIBILITY_FLAGS})
 if(APPLE)
-       target_link_libraries(pyluxcore -Wl,-undefined -Wl,dynamic_lookup slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio expat ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
+       target_link_libraries(pyluxcore -Wl,-undefined -Wl,dynamic_lookup slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio expat ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
     SET_TARGET_PROPERTIES(pyluxcore PROPERTIES XCODE_ATTRIBUTE_DEPLOYMENT_POSTPROCESSING NO) # exclude pylux from strip, not possible
 else()
-       target_link_libraries(pyluxcore PRIVATE slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
+       target_link_libraries(pyluxcore PRIVATE slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
 endif()

 set_target_properties(pyluxcore PROPERTIES PREFIX "")
diff --git a/tests/luxcoreimplserializationdemo/CMakeLists.txt b/tests/luxcoreimplserializationdemo/CMakeLists.txt
index bdd3445b8..65286791b 100644
--- a/tests/luxcoreimplserializationdemo/CMakeLists.txt
+++ b/tests/luxcoreimplserializationdemo/CMakeLists.txt
@@ -31,4 +31,4 @@ include_directories(${LuxRays_SOURCE_DIR}/deps/opencolorio-2.0.0/include)

 add_executable(luxcoreimplserializationdemo ${LUXCOREIMPL_SERIALIZATIONDEMO_SRCS})

-TARGET_LINK_LIBRARIES(luxcoreimplserializationdemo luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY} ${OIDN_LIBRARY} ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
\ No newline at end of file
+TARGET_LINK_LIBRARIES(luxcoreimplserializationdemo luxcore slg-core slg-film slg-kernels luxrays bcd opensubdiv openvdb opencolorio ${BLOSC_LIBRARY} ${EMBREE_LIBRARY}  ${TBB_LIBRARY} ${TIFF_LIBRARIES} ${TIFF_LIBRARIES} ${OPENEXR_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES})
\ No newline at end of file

 

Andrew-R
()

KiCAD 7.0.6 не хочет включать скрипты и плагины на Питоне (Слакварь 15.0)

Ну собрал я его из слакбилдов с SBo (через setarch i686 sbopkg -g kicad изначально, там 7.0.2, поправил скопированный в home слакбилд на 7.0.6 и добавл -j 4 к опциям make, иначе ну очень долго собиралось), и так собирал и сяк - ошибка как на https://gitlab.com/kicad/code/kicad/-/issues/14266 и хоть бы что … wxPython ставил через pip3 install, собиралось доолго (и надо было LANG=C добавить в моём случае не utf8 локали).

wxdemo скачивается в таком случае отдельно, но хотя бы работает (самокопание в слакбилде wxpython4 привело лишь к ненайденным символам, пока забил)

wxPython 4.2.1
(wxGTK, unicode, unicode-wchar, gtk3, wx-assertions-on, phoenix, wxWidgets 3.2.2.1, autoidman, sip-6.7.9, build-type: development)
Running on Python 3.9.17

Кстати про 64-бита он врёт, тут 64-битное только ядро. Может это поставленный LSB пакет сконвертированный через alien для чего-то ещё такой эффект даёт. Но FreecAD 0.20.2 к примеру чётко говорит что мол 32 бита.

Потом может ещё попробую без python2/wxGTK3 3.0.5 (который у меня собран для gtk2 и отсвечивать не должен) собрать. В общем странно всё это.

https://forum.kicad.info/t/7-0-rc1-reporting-wxpython-version-issues/39493

Скриншот

Перемещено hobbit из screenshots

 

Andrew-R
()

rusticl теперь показывает более похожие на правду числа с llvmpipe

На АМД FX 4300 (4Гггц).


bash-5.1$ RUSTICL_ENABLE=lp clpeak

Platform: rusticl
  Device: llvmpipe (LLVM 16.0.5, 256 bits)
    Driver version  : 23.2.0-devel (git-36b54c4afb) (Linux x86)
    Compute units   : 8
    Clock frequency : 300 MHz

    Global memory bandwidth (GBPS)
      float   : 4.76
      float2  : 5.13
      float4  : 5.36
      float8  : 3.72
      float16 : 3.78

    Single-precision compute (GFLOPS)
      float   : 19.54
      float2  : 27.05
      float4  : 22.01
      float8  : 21.32
      float16 : 20.97

    No half precision support! Skipped

    No double precision support! Skipped

    Integer compute (GIOPS)
      int   : 19.07
      int2  : 18.86
      int4  : 16.76
      int8  : 16.33
      int16 : 14.13

    Integer compute Fast 24bit (GIOPS)
      int   : 19.04
      int2  : 18.87
      int4  : 17.30
      int8  : 16.21
      int16 : 14.17

    Transfer bandwidth (GBPS)
      enqueueWriteBuffer              : 3.18
      enqueueReadBuffer               : 3.30
      enqueueWriteBuffer non-blocking : 3.21
      enqueueReadBuffer non-blocking  : 3.29
      enqueueMapBuffer(for read)      : 25028.95
        memcpy from mapped ptr        : 3.29
      enqueueUnmap(after write)       : 46482.33
        memcpy to mapped ptr          : 3.22

    Kernel launch latency : 0.00 us


Platform: Clover
clCreateContextFromType (-1)
bash-5.1$


 

Andrew-R
()

Зафиксил xclass так что она вроде работает

https://pastebin.com/NFVkJiAW

Патч поверх cvs версии с

https://sourceforge.net/p/xclass/code/

Забавно, там даже html виджет есть. Но 3.5 Мб статически собранная либа.

 ,

Andrew-R
()

Запуск Альта на qemu aarch64?

То ли я тупой, то ли Альт сломался …

https://www.altlinux.org/Regular/arm

скачал я regular-xfce-latest-aarch64.img распаковал, увеличил на 2 гб через

qemu-img resize regular-xfce-latest-aarch64.img +2G

скачал uboot u-boot-qemu-2023.04-alt1.aarch64.rpm

руспаковал .. и никак, uboot не грузит ядра.

Вытащил ядра отдельно с initramfs так там почему-то не грузится модуль virtio-blk автоматом, соответственно загрузки нет..

грузил

vmlinuz-6.1.29-std-def-alt1

===

U-Boot 2023.04 (Apr 04 2023 - 10:41:12 +0000)

DRAM: 2 GiB Core: 51 devices, 14 uclasses, devicetree: board Flash: 64 MiB Loading Environment from Flash… *** Warning - bad CRC, using default environment

In: pl011@9000000 Out: pl011@9000000 Err: pl011@9000000 Net: eth0: virtio-net#32 Hit any key to stop autoboot: 0 Scanning for bootflows in all bootdevs Seq Method State Uclass Part Name Filename


Scanning global bootmeth ‘efi_mgr’: Scanning bootdev ‘fw-cfg@9020000.bootdev’: fatal: no kernel available No working controllers found scanning bus for devices… Unknown seq -1 for label ‘scsi’ Scanning bootdev ‘virtio-blk#31.bootdev’: 0 distro ready virtio 2 virtio-blk#31.bootdev.par /boot/extlinux/extlinux.conf ** Booting bootflow ‘virtio-blk#31.bootdev.part_2’ with distro ALTLinux Boot Options 1: linux 2: 6.1.29-std-def-alt1 3: 6.2.16-un-def-alt1 Enter choice: 1: linux Retrieving file: ../vmlinuz Skipping linux for failure retrieving kernel 2: 6.1.29-std-def-alt1 Retrieving file: ../vmlinuz-6.1.29-std-def-alt1 Skipping 6.1.29-std-def-alt1 for failure retrieving kernel 3: 6.2.16-un-def-alt1 Retrieving file: ../vmlinuz-6.2.16-un-def-alt1 Skipping 6.2.16-un-def-alt1 for failure retrieving kernel Boot failed (err=-14) Unknown seq -1 for label ‘nvme’ BOOTP broadcast 1 DHCP client bound to address 10.0.2.15 (4 ms) Scanning bootdev ‘virtio-net#32.bootdev’: BOOTP broadcast 1 DHCP client bound to address 10.0.2.15 (0 ms) *** Warning: no boot file name; using ‘0A00020F.img’ Using virtio-net#32 device TFTP from server 10.0.2.2; our IP address is 10.0.2.15 Filename ‘0A00020F.img’. Load address: 0x40400000 Loading: * TFTP error: ‘Access violation’ (2) Not retrying… No more bootdevs


(1 bootflow, 1 valid) =>

===

 ,

Andrew-R
()

_NET_WM_FRAME_TIMINGS

Нашел вот случайно, читая комментарии в psychtoolbox-3

https://fishsoup.net/misc/wm-spec-synchronization.html

аж с 2013-го есть, но кроме mutter (gnome3) вроде как нигде больше не поддерживается, что может быть одной из причин странного поведения gtk3 вне Гноме-3

https://gitlab.xfce.org/xfce/xfwm4/-/issues/619

https://mail.gnome.org/archives/wm-spec-list/2013-January/msg00000.html

https://gitlab.gnome.org/GNOME/gtk/-/issues/4971

Matthias Clasen @matthiasc 1 year ago

The X11 backend will only do a framerate other than 60 if the compositor supports the frame sync protocol (ie _NET_WM_FRAME_DRAWN and _NET_WM_FRAME_TIMINGS messages)

https://todo.sr.ht/~db47h

What’s interesting is that Cinnamon supports _NET_WM_FRAME_DRAWN and _NET_WM_FRAME_TIMINGS! The first one is what we need to sync drawing with the WM. So I read the docs again and it turns out that it’s not mandatory for the WM to advertise _NET_WM_SYNC_REQUEST, only _NET_WM_FRAME_DRAWN. There’s still hope for Cinnamon :)

https://lists.x.org/archives/xorg-devel/2016-December/051947.html

On Wed, 30 Nov 2016 15:12:54 -0500 Owen Taylor wrote:

Hi Pekka,

I don’t have a lot of of commentary to add here. Certainly getting the frame-sync protocols right does require integration between Xwayland and the compositing manager. I don’t think there’s that much virtue in spending time on the extended version of the sync protocol and _NET_WM_FRAME_TIMINGS, because, to my knowledge, those are implemented only by GTK+ 3, and most GTK+ 3 apps will be running as native Wayland apps. On the other hand, gtk2 and qt4 X clients will be around to exercise the basic version of the protocol for the forseeable future.

 

Andrew-R
()

RSS подписка на новые темы