Pandora [Solved] Audio players + NEON / DSP ?


Magic Sam

Forever Homebrew
Joined
Aug 10, 2007
Messages
2,531
Age
41
Location
Dogs in Space !
Hi all :)

I bought a new music album some days ago, which is encoded in 96 KHz FLAC. I just tried to listen to it with @canseco 's QMMP, and CPU usage immediately went up to ~85%, leaving very little resources available for anything else. Music started to stutter a lot when I tried to browse the web with @ptitSeb 's Otter or read my emails with @canseco 's (again ;)) Claws Mail, so I stopped doing that and focused on listening to the music, which is not the definition I have of a multi-tasking system :p

I know this is a rather silly question, and that's always easier said than done, but couldn't audio players take advantage of NEON and / or DSP in order to off-load part of their burden from the CPU ?

Cheers, Magic Sam
[doublepost=1481054873,1481054103][/doublepost]Hi again,

From FLAC webpage:
Also, there are several places in the libFLAC code with comments marked with "OPT:" where a #define can be changed to enable code that might be faster on a specific platform. Experimenting with these can yield faster binaries.

Is it worth a look ?

Cheers, Magic Sam
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,285
Age
50
Location
France, near Lyon
Try to profile a bit at least first. Launching a "sudo perf top" on a ssh terminal while some music is playing can gives a few hint...
 

notaz

Certified Guru
Joined
Aug 23, 2005
Messages
4,913
Location
Lithuania
Website
notaz.gp2x.de
If it's that slow it's probably using floating point for samples, where both Cortex-A8 and the DSP aren't that great.
You could 'nice' the other processes (can be done with top) to give the audio player priority.

Edit: I've downloaded random 96kHz sample from http://www.2l.no/hires/index.html and mplayer uses ~8% CPU while QMMP ~18%.
 
Last edited:

Magic Sam

Forever Homebrew
Joined
Aug 10, 2007
Messages
2,531
Age
41
Location
Dogs in Space !
Hi @ptitSeb :)
Try to profile a bit at least first. Launching a "sudo perf top" on a ssh terminal while some music is playing can gives a few hint...
Yes, that's what I'm planning to do ASAP. I created this thread in a hurry yesterday, and didn't have time to perform any tests yet.

Cheers, Magic Sam
 

Magic Sam

Forever Homebrew
Joined
Aug 10, 2007
Messages
2,531
Age
41
Location
Dogs in Space !
Hi all :)

@ptitSeb : sorry for the late reply...
49.30% libqmmp.so.1.1.5 [.] iir
4.11% libFLAC.so.8 [.] 0xa8bc
3.60% libm-2.9.so [.] lrintf
2.87% libqmmp.so.1.1.5 [.] AudioConverter::fromFloat(float co
2.42% libqmmp.so.1.1.5 [.] ReplayGain::applyEffect(Buffer*)
2.34% libasound.so.2.0.0 [.] 0xa97b4
2.14% perf [.] 0x37630
2.06% libQt5Gui.so.5 [.] 0x2b2504
1.85% libskinned.so [.] fft_perform
1.67% libc-2.9.so [.] memcpy
1.18% libc-2.9.so [.] 0x663c4
1.14% libqmmp.so.1.1.5 [.] AudioConverter::toFloat(unsigned c
1.03% [kernel] [k] __schedule
0.73% [kernel] [k] __do_softirq
0.68% [unknown] [.] 0xffff0fe4
0.66% libbfd-2.21.1.so [.] 0x74fd0
0.57% [kernel] [k] omap3_enter_idle
0.49% libflac.so [.] flac_callback_write(FLAC__StreamDecoder co
0.44% Xorg [.] 0x14f524
0.37% libQt5Widgets.so.5 [.] 0xe7704

Cheers, Magic Sam
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,285
Age
50
Location
France, near Lyon
Well, as you can see, QMMP itself take 50% of the CPU, with the "iir" function alone. Do you have an active Equalizer or something like that?
 

Magic Sam

Forever Homebrew
Joined
Aug 10, 2007
Messages
2,531
Age
41
Location
Dogs in Space !
@ptitSeb : I don't think so, but I'll double check.

Does IIR mean Infinite Impulse Response ?

I thought libFLAC would have been more resource intensive, and would have benefited from NEON / DSP optimizations.

I guess I was wrong (again...).

Cheers, Magic Sam
[doublepost=1481468208,1481467924][/doublepost]@ptitSeb : equalizer was indeed ON... :oops: :$

With it turned off, CPU usage is down to ~40%.

Sorry for the noise...

Cheers, Magic Sam
 
Top