QCMetadata: add keys for FLAC meta data

Add FLAC meta data specific keys.

Change-Id: I85f34d01ad4b403e236a5fc2ebf054eb383abbde
mm-video-v4l2: Update video resolution when updating crop

During adaptive playback, crop is changed during resolution
change, and stride and slice height should also be updated

Added change to update output port resolution on updating
crop due to resolution change

CRs-Fixed: 676004
Change-Id: I6c9c68852c57500ec8ceb021fa2f7570149f2d1b
mm-video: vidc: Restore sanity representing buffer sizes in dyn buf mode

nFilledLen and nAllocLen are buffer handle sizes in dynamic buffer mode.
This led to obnoxious checks in multiple places to account for dynamic
buffer mode.  Furthermore it led to basic sanity checks such as
`nFilledLen + nOffset < nAllocLen` failing.

To get around this, overwrite the OMX_BUFFERHEADER's nFilledLen /
nAllocLen parameters on FTB and restore them on FBD.  This localises the
need for the aforementioned irritating check.

CRs-Fixed: 647383
Change-Id: I38d5a1ef88d90f3f12164c48b60ac3bc45d50b0a
mm-video: vidc: Set the output buffer size properly

The output buffer size was considered to be what the driver advertised
to the component.  However, in use buffer mode, the client might have
allocated a bigger size.  To take advantage of the larger buffer, use
the client's advertised buffer size.

CRs-Fixed: 647383
Change-Id: I1778f1767280ecbc6e128eea895e34564ef3a015
mm-video: vidc: Stop dropping timestamps on spurious FBDs

The driver might generate spurious FBDs in executing state for no good
reason.  Hence, stop dropping timestamps that we might need in the
future.

CRs-Fixed: 661440
Change-Id: I4220c385f2961c9009e1e03012be1020d1ba14c4
mm-video: vidc: add setprop to disable dynamic buf mode

Support to disable dynamic buf mode at run time.
"setprop vidc.dec.debug.dyn.disabled 1"

Change-Id: I8a64bb6e6f6993e470c99a43f25d1e0b7a32b560
mm-video: vidc: Correct the Intraperiod for non B-frame codec

For a codec profile that doesn't support B-frame, Intraperiod should
be set based on number of Pframes. This change ensures that Intraperiod
is obeyed for codec that doesn't support B-frame encoding.

CRs-Fixed: 622373
Change-Id: Ia1412909e4118b1e1c40f30cea4c7d7b57f97310
mm-video: vdec: Align width for 420 planar and semiplanar formats

GPU composition needs the width in client buffers to be aligned by
16 bytes for faster color conversion operations and hence aligning
the width in video component. Without the change color converted
output has green lines at the corners for resolutions which has
width not aligned to 16 bytes.

Change-Id: Id3b053f70faeb231d021bae8213715ece83affaf
mm-video: vidc: vdec: advertise color formats based on usage hint

Clients on Android hint usage of output buffers for:
[a] local playback or [b] access decoded YUVs for software filtering,
by setting an extension OMX.google.android.index.useAndroidNativeBuffer2.

For playback, it is preferable to publish native/accelerated formats,
while apps prefer known YUV formats

Change-Id: I37a5fbc38568dd783f42b67d6cf20d9e6f3d0eba
CRs-Fixed: 620886
mm-video: vidc: Extradata related changes

Add final extradata buffer size to actual buffer size
while providing buffer size requirement except for
secure use case, as there is a seperate extra buffer
allocated in case of secure mode.

Change-Id: I3b06c14f5bb4efea6404931048fec8859c18cb6f