The contractor will work configuring an android environment on custom hardware. This will require standard embedded software challenges such as working with and modifying open source boot loaders, the linux kernel, and custom driver software. In addition, the contractor will work with custom android libraries and applications to develop a framework for processing video data.
We will send you an Media Processor development board, which consists of a various video inputs (we'll focus on HDMI), and a Mstar Media Processor/Arm with a MaliX2 GPU, with an attached LCD display, and software bundle. The software bundle contains:
1) MStar's custom boot loader, MBoot, which is a combination of U-Boot and sboot. This will include pre-compiled binaries which will load the android OS onto the development board.
2) A build of the linux kernel, along with source code, that contains driver support for the MStar platform.
3) A build of Android ICS, along with source, that runs on the MStar platform.
4) An android library and application which allow an end user to drive an HDMI source to the LCD display, and manipulate the displayed video data in some minor capacity through the built in functions of the Media Processor.
Your task will be to develop the software libraries required for a custom android application to perform image processing algorithms on the video input using the Media Processor's on board GPU.
-----An example processing algorithm, and the ultimate goal for the contractor, would be to process every frame of video and count the number of white pixels in every frame, and then the number should be printed to the screen every frame.-------
The largest challenge this project faces is a lack of documentation and support.
- Advanced knowledge of bringing up Android on custom embedded platforms
- Knowledge of video and video processing is very helpful
- Advanced knowledge of the Android architecture and file system
- Bootloader experience
We really need this task completed. So we're looking for someone who can commit full-time to this task. Bonuses will be applied the faster the job gets done. There is also potential for long term contract work after this task is completed if the applicant is qualified and does a good job with this particular task.