Page 1 of 1

ARM NEON support

Posted: 29 Jul 2011 20:47
by biga
Hi!

I am using VLC on ARM development board (ARM Cortex A8), and I'd like to get information about neon support. Should I set any extra parameter in configure script or is it automatically detected during configuration?
As I experienced from log messages, the x264 encoder uses (or trying to use) neon features while encoding a video stream, but I am not sure about what other modules/plugins are using it somewhere else.
I tried "--enable-neon" switch, but I do not know whether it has any effect on compiling...

Thanks,
biga.

Re: ARM NEON support

Posted: 30 Jul 2011 09:20
by Rémi Denis-Courmont
The configure script has a test outputting "if [the C compiler] groks NEON inline assembly". You can check the result there.

However, NEON is not all that relevant in VLC proper. It's more important to get right in decoding and encoding libraries.

Re: ARM NEON support

Posted: 30 Jul 2011 18:20
by biga
Thanks for your reply! I checked the config.log and now it is clear, VLC configured with NEON support. Now I am experiencing a strange behaviour:
when I first compiled VLC I found 30-40% CPU load with this config: sout=#transcode{vcodec=h264,venc=x264,fps=25}:std{access=http{mime=video/x-flv},dst=0.0.0.0:2000/stream.flv}', and after recompiling with "---enable-neon" the CPU load has increased to 90-100%. The x264 encoder used the NEON features:
[0x107cd30] main access out: creating httpd
x264 [info]: using cpu capabilities: ARMv6 NEON
x264 [info]: profile High, level 1.3
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: ARMv6 NEON
x264 [info]: profile High, level 1.3
Why do you think the CPU load increased? What could be the best option/config on ARM if i want x264 encoding with "low" CPU load :)?
Thanks,

biga.

Re: ARM NEON support

Posted: 30 Jul 2011 21:57
by Rémi Denis-Courmont
As I said, the VLC flag --enable-neon has no effects on x264 optimization. And your particular use case does not seem like it would have much if any use for NEON within VLC.

Look out for incorrect floating point mode and binary interface settings in your compiler flags (or defaults).

Re: ARM NEON support

Posted: 02 Aug 2011 12:15
by biga
added 2 options to x264(profile = baseline, preset=veryfast) and now CPU load is about 30% and NEON is being used....
Other question: I am using libvlc from python, and I want to turn on/off a video filter during playback. Is it possible without restarting the playback? I need to do that because I don't want my clients to reconnect after every switch...

Thanks, biga.