1. Detect the capability of an Android phone/pad to be able to execute the NEON instruction set.
2. Check a run option/check box to see if NEON should be used.
3. Play a video and audio file such that fully exploits the NEON instruction set
4. Time the playing of the video file above in NEON and non-NEON mode
5. The program should include a VMLA instruction
6. Perform NEON shift operations
7. Perform NEON floating point operation.
8. Build the project such that an external video projector can be used to show the performance of the app
9. Deliver the source code/project in Java, such that it can be compiled and run on the Android simulator and in manually installed on a real device.
Here is the information about NEON from Wiki.
Advanced SIMD (NEON)
The Advanced SIMD extension (aka NEON or "MPE" Media Processing Engine) is a combined 64- and 128-bit single instruction multiple data (SIMD) instruction set that provides standardised acceleration for media and signal processing applications. NEON is included in all Cortex-A8 devices but is optional in Cortex-A9 devices. NEON can execute MP3 audio decoding on CPUs running at 10 MHz and can run the GSM adaptive multi-rate (AMR) speech codec at no more than 13 MHz. It features a comprehensive instruction set, separate register files and independent execution hardware. NEON supports 8-, 16-, 32- and 64-bit integer and single-precision (32-bit) floating-point data and operates in SIMD operations for handling audio and video processing as well as graphics and gaming processing. In NEON, the SIMD supports up to 16 operations at the same time. The NEON hardware shares the same floating-point registers as used in VFP. Devices such as the ARM Cortex-A8 and Cortex-A9 support 128-bit vectors but will execute with just 64 bits at a time, whereas newer Cortex-A15 devices can execute 128 bits at once.