libstagefright: support for disabling buffer metadata

- Metada mode video recording is enabled by default.
- use setprop debug.camcorder.disablemeta 1 to disable metadata mode recording.

Change-Id: I422c49c0ace0c3a3e1f4459c7e4bf29e70af763a
libstagefright: Add support for custom LPA buffer size

 * On msm8930, during playback over A2DP with DSP Manager effects enabled,
   there's a lot of stuttering with the default buffer size. Stock kernel
   used a buffer size of 32, but that caused no audio at all in CM because
   of mismatch in buffer size between kernel and user space. So up until
   now I've been using a buffer size of 256 to get audio working at all,
   but unfortunately it causes stuttering as mentioned. Hence add support
   for a custom buffer size so we can revert to stock value used in kernel,
   and enjoy no stuttering.

Change-Id: Id4d090bc6cf90782c24f3832a35ddeca43bd72fc
libstagefright: optimize thumbnail generation path

- Checking for YUV420SP format support is not intended for software
  decoders and can be skipped. This avoids unnecessary creation of
  hardware decoders for checking supported output formats.
- Change the flag from kPreferSoftwareCodecs to kSoftwareCodecsOnly.
  This will force software codecs to be tried first and not just "prefer"
  which helps when a software codec for a particular type of codec (like
  divx) doesn't exist and avods creation of hardware codecs twice in case
  of hardware failure.

Change-Id: I682bca5b6bac5a56f46fe3655cd722fe5f08e1e6
audio: fix for deadlock issue during LPA playback

EffectModule::setEnable for LPA playback was modified to lock
AudioFligner::mLock with EffectModule::mLock held.
And at the same time ~DirectAudioTrack is trying to lock
EffectModule::mLock with AudioFlinger::mLock held and this
results in deadlock.
Fix this issue by reverting previous change and acquire
locks in certain sequence to avoid deadlock in setEnabled_l

Change-Id: Iea74eb3591a728275c655074a4d2017bd38f99ab
libstagefright: Add pause support for hardware omx component

-ADSP doesn't enter sleep state after wma playback is paused
and power suspended.
-No support for NT session pause in case of hardware component.
NT session need to be paused to put ADSP into power collapse.
-Add support of pause in stagefright to ensure device enters
suspend mode. Also add intermediate states to avoid concurrency
issues between read and pause.

Change-Id: I87b0992f3d4d580c3a68d27fbed6b65d2200dda9
CRs-Fixed: 496256
Merge "libstagefright: support for disabling buffer metadata" into cm-10.2
Merge "libstagefright: Add support for custom LPA buffer size" into cm-10.2
Merge changes I87b0992f,Iea74eb35,I682bca5b into cm-10.2

* changes:
  libstagefright: Add pause support for hardware omx component
  audio: fix for deadlock issue during LPA playback
  libstagefright: optimize thumbnail generation path
add zte camera parameters

Change-Id: Ifd51ae0520b21132eae201db8b3fda4afa3762a7
legacy OMX: squashed commit for legacy OMX support

This is a combination of 5 commits.

commit ff5604878d2bf74555adcf938ffbf98d04bea305
Author: Alexey Shavykin <ganster0x29@gmail.com>
Date:   Sun Oct 28 22:46:34 2012 +0200

    Added support legacy Qualcomm OpenMAX IL libs for MSM7x27

    Change-Id: I63e68e63fce955fef52813360032f5e8e90a4b92

commit 1a7ef5d4c8d1eebf1851b3b5b46c629a19a2c304
Author: WinSuk <goodboy735@gmail.com>
Date:   Wed Nov 14 23:03:24 2012 -0800

    Fix the encoder

    Change-Id: I929c769b24d0b891487faf4f0d3c9fa66e04eeef

commit 27cf702ac81f27cae206ef182420c1cbcdadb709
Author: Ganster41 <ganster0x29@gmail.com>
Date:   Mon Nov 19 15:35:36 2012 +0200

    Correct gralloc usage flags for renderer

commit 3feab8906fcb4464d5f46bc13dcae9da36e41040
Author: Conn O'Griofa <connogriofa@gmail.com>
Date:   Fri Jan 4 00:31:13 2013 -0200

    Fix legacy OMX encoders

    Ensure that a valid frame_rate is passed to the encoder, otherwise
    encoding will fail.

    Change-Id: Iaaa298496755ff405e393120973d1ed782f5d8f4

commit f03627bce1de975ad9b88206874dda851b7d2bf4
Author: Grigori Goronzy <greg@blackbox>
Date:   Sat Jan 19 18:26:25 2013 +0100

    Fix alignment and copy size for legacy QCOM OMX

    Change-Id: I6d13c67601da0f0c35d3dd455401f982406cefe3
legacy OMX: squashed commit for mmparser

Reimplement use of mmparser for 4.3.
Based on the following commits:

commit 3e6134027e9faa6b24b1cb1d205e4de0e76f9ed2
Author: Ganster41 <ganster0x29@gmail.com>
Date:   Sat Jan 5 19:33:44 2013 +0200

    Fixed Gingerbread mmparser using

    Change-Id: Ib931fa6ed4522b5851d42297f929183cf76043fd

commit 25edf9884ebbd3c608edc88d8bd8a7196d58b190
Author: Ganster41 <ganster0x29@gmail.com>
Date:   Mon Jan 7 19:56:32 2013 +0200

    Try use ExtendedExtractor only if no suitable default extractors available f

    Change-Id: I57a9cc39caee7e3fa2b709ab09cca5629bf81f44

Change-Id: Ie8d75870541efabb06783ed97cc7c701ba78e6fd
libstagefright: Enable meta mode for 7x27a video encoder

msm7627a family of chipsets supports only one input frame at
one time. camera expects the input frame to be released before
sending another frame. so send one input buffer and available
output bufefrs to video encoder component. Release the input
buffer to camera (to get another frame) after receiving input
frame done callback from video encoder component.

Change-Id: I8fbc911f046ff7e2a3047dd65d8c09ac2d8608e1