[G Tablet Android Development] craigacgomez:
OK, it's been a long time since I've done anything here... and VLC for Android is still not public... yeah, it kinda sucks that it take so long, but it's not as easy as it looks... but things have been progressing...

I still see several builds of VLC floating around... but none of them are ARMv7 without NEON (yes, there is ARMv6 without NEON)... so I got the latest VLC code (as of 27 Nov 2011)... punched in my Tegra 2 optimised CFLAGS... i.e., ARMv7 + CORTEX A9 + NO NEON...

And finally, there is some much better documentation regarding building VLC for Android... this will tell you how exactly to get the latest

So I decided to take a look at making the changes needed for building VLC for the GTablet and other Tegra 2 devices...

http://wiki.videolan.org/AndroidCompile

Now I'm no expert in cross-compiling and building native NDK applications, so I just looked up some Tegra 2 CFLAGS and made the changes in vlc-android/extras/package/android/configure.sh. The changes are highlighted as bold text below.

if [ -z "$NO_NEON" ]; then
CXX_TARGET="armeabi-v7a"
CFLAGS="$CFLAGS -mfpu=neon -mtune=cortex-a8 -ftree-vectorize -mvectorize-with-neon-quad"
LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
EXTRA_PARAMS=""
else
[B]CXX_TARGET="armeabi-v7a"
CFLAGS="$CFLAGS -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork -mfloat-abi=softfp"
EXTRA_PARAMS=" --disable-neon"[/B]
fi

THE CHANGES:

armeabi-v7a which specifies ARMv7-A ABI build target

-march=armv7-a which specifies build for ARMv7-A architecture

-mtune=cortex-a9 which specifies optimise for Cortex A9

-mfpu=vfpv3-d16 which specifies use of vector floating points (with 16 registers) instead of NEON

-mfloat-abi=softfp which specifies use of software floating points instead of hardware floating points

This is still an open appeal to android developers or anyone with any knowledge and/or guts... Help me finalise a good configuration so that we can have the same merged into the official VLC GIT. Please let me know if you are interested in helping me out. I'm also looking for guinea pigs with other Tegra 2 devices... if you have any or know any who has one and is willing to test builds out, please let me know.

Please note that the builds currently posted here use Tegra2/ARMv7 Cortex A9 specific build/make optimisations and will most probably not work on any other processor/chipset.

UPDATE (27 Nov 2011):

Synced the latest VLC code till date

Followed the new VLC build instructions

Build VLC using latest code using android-9 as the NDK version and android-10 as the SDK version (Gingerbread)

Froyo: Untested.

Gingerbread: SD Audio/video works fine. HD video decoding to slow, skips too many frames.

Honeycomb: Untested.

UPDATE (12 Sept 2011):

Reworked, updated & cleaned up build/make configurations

Rebuilt VLC using updated code from git repository using android-8 (Froyo) as the platform version

Created diff patch for configure.sh script with build/make configuration changes

Froyo: Video and audio working fine (tested upto 720p videos). This should apply to most, if not all, Froyo ROMs.

Gingerbread: Untested.

Honeycomb: Video works fine (tested upto 720p videos). Audio is broken.

UPDATE (11 Sept 2011):

Successfully built VLC using NO_NEON=1 and above configuration changes. VLC now works on my GTablet and no longer force closes.

Froyo: Video and audio working fine (tested upto 720p videos). This should apply to most, if not all, Froyo ROMs.

Gingerbread: Untested.

Honeycomb: Video works fine (tested upto 720p videos). Audio is broken.

DISCLAIMER:

This is an experimental discussion thread. You are free to use the builds posted here. But since this is a very, very early alpha, it may be very unstable and many things may not work. Do this all at your own risk. For the larger part of the general public, it is advised that you wait for official builds to start before using this.

DOWNLOAD [11/27/2011]