I'm running Gentoo-Linux on the Raspberry Pi (ARMv6, hardfloat-ABI). Since I read that VLC supports OpenMAX IL for decoding, I wanted to try it on the board (where the GPU can decode MP3 and H.264). Using the omxplayer from https://github.com/huceke/omxplayer playback of an MP3-file works:
Code: Select all
rpi-dev omxplayer # LD_LIBRARY_PATH=/opt/vc/lib ./omxplayer /home/rpi/01\ -\ Barfuss.mp3
[mp3 @ 0x1e43060] max_analyze_duration 5000000 reached at 5015510
file : /home/rpi/01 - Barfuss.mp3 reult 0 format mp3 audio streams 1 video streams 0 chapters 0 subtitles 0
Audio codec mp3 channels 2 samplerate 44100 bitspersample 16
I built VLC with the "omxil" USE-flag and the module-list shows me that the decoder exists (in the list on the GUI it has score 80):
Code: Select all
rpi-dev ~ # LD_LIBRARY_PATH=/opt/vc/lib cvlc -l | grep -i openmax
VLC media player 2.0.1 Twoflower (revision 2.0.1-0-gf432547)
omxil Audio/Video decoder (using OpenMAX IL)
omxil Video encoder (using OpenMAX IL)
Code: Select all
rpi-dev ~ # cat vlc-mpegaudio-noomx.log
main debug: adding item `01 - Barfuss.mp3' ( file:///home/rpi/01%20-%20Barfuss.mp3 )
main debug: rebuilding array of current - root Playlist
main debug: rebuild done - 1 items, index -1
main debug: processing request item: 01 - Barfuss.mp3, node: null, skip: 0
main debug: resyncing on 01 - Barfuss.mp3
main debug: 01 - Barfuss.mp3 is at 0
main debug: starting playback of the new playlist item
main debug: creating new input thread
main debug: Creating an input for '01 - Barfuss.mp3'
qt4 debug: Adding a new MRL to recent ones: file:///home/rpi/01%20-%20Barfuss.mp3
main debug: Creating an input for '01 - Barfuss.mp3'
main debug: using timeshift granularity of 50 MiB, in path '/tmp'
main debug: `file:///home/rpi/01%20-%20Barfuss.mp3' gives access `file' demux `' path `/home/rpi/01%20-%20Barfuss.mp3'
main debug: creating demux: access='file' demux='' location='/home/rpi/01%20-%20Barfuss.mp3' file='/home/rpi/01 - Barfuss.mp3'
main debug: looking for access_demux module: 1 candidate
main debug: no access_demux module matching "file" could be loaded
main debug: TIMER module_need() : 0.861 ms - Total 0.861 ms / 1 intvls (Avg 0.861 ms)
main debug: creating access 'file' location='/home/rpi/01%20-%20Barfuss.mp3', path='/home/rpi/01 - Barfuss.mp3'
main debug: looking for access module: 2 candidates
filesystem debug: opening file `/home/rpi/01 - Barfuss.mp3'
main debug: using access module "filesystem"
main debug: TIMER module_need() : 0.909 ms - Total 0.909 ms / 1 intvls (Avg 0.909 ms)
main debug: Using stream method for AStream*
main debug: starting pre-buffering
main debug: received first data after 0 ms
main debug: pre-buffering done 1024 bytes in 0s - 6944 KiB/s
main debug: looking for stream_filter module: 7 candidates
main debug: no stream_filter module matching "any" could be loaded
main debug: TIMER module_need() : 0.767 ms - Total 0.767 ms / 1 intvls (Avg 0.767 ms)
main debug: looking for stream_filter module: 1 candidate
main debug: using stream_filter module "stream_filter_record"
main debug: TIMER module_need() : 0.674 ms - Total 0.674 ms / 1 intvls (Avg 0.674 ms)
main debug: creating demux: access='file' demux='' location='/home/rpi/01%20-%20Barfuss.mp3' file='/home/rpi/01 - Barfuss.mp3'
main debug: ID3v2.3 revision 0 tag found, skipping 53306 bytes
main debug: looking for demux module: 48 candidates
es debug: xing vbr value present (77)
es debug: xing frames&bytes value present (3734708 bytes, 6077 frames, 1152 samples/frame)
es debug: detected format mpga
main debug: looking for packetizer module: 19 candidates
main debug: meta ok for (null), need to fetch art
main debug: using packetizer module "mpeg_audio"
main debug: TIMER module_need() : 76.214 ms - Total 76.214 ms / 1 intvls (Avg 76.214 ms)
mpeg_audio debug: MPGA channels:2 samplerate:44100 bitrate:128
main debug: selecting program id=0
main debug: using demux module "es"
main debug: TIMER module_need() : 124.817 ms - Total 124.817 ms / 1 intvls (Avg 124.817 ms)
main debug: looking for a subtitle file in /home/rpi
main debug: looking for decoder module: 24 candidates
main debug: using decoder module "mpeg_audio"
main debug: TIMER module_need() : 2.481 ms - Total 2.481 ms / 1 intvls (Avg 2.481 ms)
main debug: looking for meta fetcher module: 0 candidates
main debug: no meta fetcher module matched "any"
main debug: TIMER module_need() : 0.750 ms - Total 0.750 ms / 1 intvls (Avg 0.750 ms)
main debug: searching art for 01 - Barfuss.mp3
main debug: looking for art finder module: 1 candidate
main debug: looking for meta reader module: 0 candidates
main debug: no meta reader module matched "any"
main debug: TIMER module_need() : 0.724 ms - Total 0.724 ms / 1 intvls (Avg 0.724 ms)
main debug: `file:///home/rpi/01%20-%20Barfuss.mp3' successfully opened
main debug: Buffering 0%
main debug: Buffering 8%
mpeg_audio debug: MPGA channels:2 samplerate:44100 bitrate:128
main debug: creating audio output
main debug: looking for audio output module: 1 candidate
alsa debug: keeping 2 channels
main debug: Buffering 17%
main debug: Buffering 26%
main debug: Buffering 34%
main debug: Buffering 43%
main debug: Buffering 52%
main debug: Buffering 60%
main debug: Buffering 69%
main debug: Buffering 78%
main debug: Buffering 87%
main debug: Buffering 95%
main debug: Stream buffering done (313 ms in 6 ms)
main debug: no art finder module matching "any" could be loaded
main debug: TIMER module_need() : 14.925 ms - Total 14.925 ms / 1 intvls (Avg 14.925 ms)
main debug: art not found for 01 - Barfuss.mp3
alsa debug: using ALSA device: default
alsa debug: Plug PCM: Hardware PCM card 0 'bcm2835 ALSA' device 0 subdevice 0
alsa debug: device name : bcm2835 ALSA
alsa debug: device ID : bcm2835 ALSA
alsa debug: subdevice name: subdevice #0
alsa debug: initial hardware setup:
ACCESS: MMAP_INTERLEAVED MMAP_NONINTERLEAVED MMAP_COMPLEX RW_INTERLEAVED RW_NONINTERLEAVED
FORMAT: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE MU_LAW A_LAW IMA_ADPCM S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE U18_3BE
SUBFORMAT: STD
SAMPLE_BITS: [4 64]
FRAME_BITS: [4 640000]
CHANNELS: [1 10000]
RATE: [8000 48000]
PERIOD_TIME: (5333 3968000]
PERIOD_SIZE: [256 31744]
PERIOD_BYTES: [128 2539520000]
PERIODS: (0 124]
BUFFER_TIME: (5333 3968000]
BUFFER_SIZE: [256 31744]
BUFFER_BYTES: [128 2539520000]
TICK_TIME: ALL
alsa error: cannot commit hardware parameters: Invalid argument
main debug: no audio output module matching "any" could be loaded
main debug: TIMER module_need() : 135.123 ms - Total 135.123 ms / 1 intvls (Avg 135.123 ms)
main error: no suitable audio output module
main debug: releasing audio output
main error: failed to create audio output
main debug: Decoder buffering done in 138 ms
qt4 debug: IM: Setting an input
main debug: incoming request - stopping current input
main debug: dying input
main debug: control: stopping input
main debug: dying input
main debug: removing module "mpeg_audio"
main debug: killing decoder fourcc `mpga', 0 PES in FIFO
main debug: removing module "es"
main debug: removing module "mpeg_audio"
main debug: removing module "stream_filter_record"
main debug: removing module "filesystem"
main debug: Program doesn't contain anymore ES
main debug: dead input
qt4 debug: IM: Deleting the input
main debug: TIMER input launching for '01 - Barfuss.mp3' : 189.612 ms - Total 189.612 ms / 1 intvls (Avg 189.612 ms)