stagefright: Add a prefetching source

Add a prefetching source which pre-fetches buffers from
upstream source in a low priority context.
This decouples the caller of read() from the underlying source,
effectively making read() non-blocking as long as there are
already prefetched buffers available.

Change-Id: Ie5338c825dbdab9d88989059204594dc66bb2ac7
libstagefright: Fix wrong ifdef

Change-Id: Ic99d95bd1d19036712f422a8c1f673bda15e2964
stagefright: OMX.ffmpeg.* are software decoders, ensure they're treated as such

Wherever the component name for OMX.google soft decoders is used to identify
a software-based component, do the same for ffmpeg. Things like memory management
and window buffers care about this.

Change-Id: Ib83561936c7383e8726edb073cea9d78f7d1312f
libstagefright: getHFRRatio should return 1 by default

This fixes camera crashes from divide-by-zero. Also, replaced the
workaround introduced in 1b7ac643d2 by a proper fix.

On ENABLE_AV_ENHANCEMENTS path, getHFRRatio returns 1 when 0 is
detected, thus the default value should be 1 not 0. (1 will turn
all multiplication and division into no-op.)

Change-Id: I5020f461011d5903a5d9bea910e11a4af9948e7f
Revert "libstagefright: set frame packing from codec config"

 * With Venus 1.6, this patch causes the decoder to freeze
   during a new CTS case. Since we aren't using frame packing
   anyway, revert this.

This reverts commit 8356ac84fa349554006dfb6696365794a7d3a204.

Change-Id: I661c84727976aab8a81824279ee1a2fefdd5f8a3
Camera: Update MemoryHeapIon

* Update from ODROID-XU 04212014 BSP

Change-Id: Ie5b1ff89c2552b58d342b28ca0154c00bb150d39