[APP] VLC for Android Pre-Alpha
For those of you who aren't familiar with VLC, it is one of the most popular open-source media programs available. It supports virtually every media format available, which is quite frankly, awesome.
So why is this so cool for Android? If it can be optimized, especially with the onset of dual-core phones, you can say goodbye to the old days of having to re-encode your video and audio files to a “supported format” for your device.
VLC for Android makes use of the NDK, only specific builds will work on specific devices. Be sure to read the information below to find out which build works for your device
BUILD SIZE MD5SUM
VLC for Android (NEON) 5841596 bytes 3aa1f3b0778aef6b070d7f797afac0a6
VLC for Android (NONEON) 6014601 bytes 7d2c8d22f2f9a834a3086fcbe85c594c
NEON vs NONEON
There are two builds available of VLC for Android, known as NEON and NONEON. The difference is in the processor type.
Because VLC for Android makes use of the NDK (Native Development Kit), it is compiling native-level binaries that will only work on the processor class for which they were designed. This means that the same build will not work across all devices.
Specifically, when building the native VLC libraries for Android, you have to specify whether the target supports NEON floating-point extensions. Certain devices contain a dedicated floating-point unit (FPU) which is used to do floating-point calculations such as division (think fractions). Other devices don't have a dedicated FPU, and instead need to emulate one in software.
Although VLC could be built to simply always emulate an FPU and thus work across devices, making use of the dedicated NEON FPU is advantageous from a processing perspective as it offloads work that the CPU has to do.
So that's all well and good, but how does one go about checking if their device supports NEON or not? It's actually quite simple. Using either a file manager on your device or simply ADB, locate a file called /proc/cpuinfo and open it.
When you do, you'll see something like this:
Processor : ARMv7 Processor rev 2 (v7l)
processor : 0
BogoMIPS : 1597.74
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x1
CPU part : 0xc09
CPU revision : 2
Hardware : mapphone_CDMA
Revision : 0000
Serial : 0000000000000000
If you see the word neon on the Features line, then your device supports NEON extensions. If it's not there, then you'll have to use the NONEON variant of VLC.