mm-video-v4l2: remove target check to enable narrow search range

Remove target check to enable narrow search range.
Enable narrow search range if vidc.enc.narrow.searchrange property set.

CRs-Fixed: 710593
Change-Id: I2a740af5a517b30126d8bad7a4b8113c00c75e2a
mm-video-v4l2: decouple B-frame disablement from narrow search range

Remove display panel resolution dependency to enable narrow search range.
Disabling B-Frames not achieving any power optimization, so honor client
preferences to set intra period.

CRs-Fixed: 715276
Change-Id: I5a2218ac20f5c48802a176177a710133d4d8c53f
mm-video-v4l2: vdec: enable 2 cores for high-frame-rate content

Acquire perflock and keep 2 cores enabled to high-frame-rate (60fps)
content

Change-Id: Ia29dbba84b9b230d9b743185b7cee7c55f7c240b
mm-video-v4l2: vidc: Add support for HEVC decode full Software

Modify the existing OMX Vdec HEVC SWVdec component which handles
full DSP and hybrid solution, to handle HEVC full software solution

Change-Id: Iae221d634994b536a2f345aae79482ef62fcd9af
mm-video: vidc: fix yuv dump for clips with crop information

update driver context resolution in FBD so that output buffer
is dumped  with updated resolution

CRs-Fixed: 667372

Change-Id: If1d5e7d880d1038ec9322f378c8440a2b761aa70
mm-video-v4l2: vidc: vdec: Add OMX MVC codec

Add a new OMX MVC codec. MVC buffer requirements are different
than other codecs, each output buffer contain two full size
views as oppose to stereoscopic 3D where the two views are
embedded in a regular frame. MVC buffer size is around the
double than regular codec and uses a specific layout for the
views for these reasons a new color format is introduce.
MVC codec will support only top-bottom views layout, the top
view represents the left side.

Change-Id: Idbbec6932d56d8074636fb696dc982f0ef014288
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
Check in Vidpp OMX component and update related headers

Vidpp (Video Post-Processing) OMX component processes uncompressed
data from either video decoder or camera and sends the processed
frame buffer to display

Change-Id: I69ab1c2ba18a3073386c07eed3dad4cb7f7c9af9
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