vpu5: Adding VCP1 support
vpu5: use encode/decode function only when ENCODER_COMPONENT/DECODER_COMPONENT is defined
vpu5: decoder: change output color format

YV12 to NV12
vpu5: Check memory resources on init

Exit gracefully if required VPU memory is not available at startup.
vpu5: Android.mk: Correct CFLAGS settings for ICB_CACHE and VPC in udf library

The CFLAGS setting for these two options were being overrided by the
default flags due to the location of where they were set in the Android.mk
vpu5: Add MPEG4 libraries for VCP1
vpu5: Update compoment name for mpeg components

Change component name to OMX.re.video_decoder.mpeg4
vpu5: Update available buffer check before VPU output

In some casees, the VPU output may undergo post-filtering before
being output to the OMX client buffers.  In this case we want to
make sure that the post-filtered output, not the direct VPU output
is syncronized so that it is not overwritten before the client
has a chance to read it.

With post-filtering enabled, trying to syncronize the VPU output to
the client buffers results in the VPU locking one set of buffers, while
the client unlocks an entirely different set of buffers, resulting in
a deadlock.
vpu: Use clip region to properly set up decoded image size

The nFrameWidth value should always correspond to the size
of the video being decoded.  The nStride value will correstpond
to the buffer stride.

Likewise the clip region should be available to an OMX client
that wishes to use that in addition to the nFrameWidth and
nStride to determine the video dimensions.
vpu5: Remove extra padding data from thumbnails

When decoding in thumbnail mode remove the 32 byte
aligned padding that the VPU output produces
vpu5: Fixup minor errors in MPEG decoder init code

Fix up some minor variable and function type conversion errors.
vpu5: mpeg4: Implement MPEG decoding Errata

Accoring to Eratta AG5-E152(1) data_partioning memory must be allocated from the
MERAM memory region.  For Full HD decode, this comes to about 400KB from the
MERAM memory area.
libmeram is necessary to perform the allocations.
Update paths to HardwareAPI.h header file used with Android

The path to this header has changed in Android 4.2.2
vpu: mpeg: specify correct copy size for M4V decode parameters

When copying the M4V decode parameters into the buffer passed to
the middleware, the AVC decode parameter size was used to determine
the amount of memory to copy to the buffers.
vpu5: Correct sync mode setting when making thumbnails

Sync mode was mistakenly turned off instead of on when making thumbnails
vpu: mpeg4: Increase MPEG input buffer size

Increase the input intermediate buffer sizes.
vpu5: Fix uiomux initialization error handling

uiomux pointer was mistakenly assigned outside of the protective
mutex on error.
vpu5: Verify UIOMux VPU memory on initialization

Make sure that we have a valid (or at least not obviously invalid) VPU
memory region when the uio memory is initialized.
Hold VPU resources until the process dies

Don't free the VPU memory after each use.  This speeds up the
initialization and eases the burden of fragmentation issues.
vpu5: Correct variable/function type errors

Fix some minor type errors in shvpu5_common_uio.c