mm-video: Add support for different errors

When hardware is overloaded or when maximum number of clients
reaches in driver or firmware, hardware error is sent to video
client. This change is to replace hardware error with actual
errors.

CRs-fixed: 575852
Change-Id: Id4356a60a7f7b4cdb5e59394a7b49ac752b0270e
mm-video: vidc: Missing release of meta buffer at encoder omx component

For 601-709 color conversion, Camera HAL extends one more entry
in native handle to put a flag and sends only when recording starts.
Because of this release of meta buffer fails in OMX video component
causing memory leak. This changes ensures release code for meta buffers.

CRs-Fixed: 627255
Change-Id: If45b2cb7bbfebc8cf791b28eb06c01e64b4991e6
audio: remove amrwb-plus entry from 8610 registry file

-amr-wb-plus playback is not supported on 8610 targets,
 So removing this from the table

Change-Id: Ifc7ca47c4b88a07a339c827c7b92410a5c2604a0
CRs-Fixed: 641508
mm-video: vidc: Missing release of pending input buffers to client

For unsupported contents with codec config buffer flag set, input
buffers in the pending queue are not released back to client
after FLUSH causing native crash. This change ensures that buffers
are released properly during flush in arbitrary mode

CRs-Fixed: 640296
Change-Id: I14b33c4a81d02d3b579de651c737fb531cb62dcc
vidc: venc: add support to configure initialqp to encoder

Enable setting initialqp and add support to allow setting initial
qp values to I p & B frames to encoder session.

Change-Id: I9bef96199c24ac64bff1f92dd6be3f256dc73220
dashplayer: handle text track error

Propagate text track error returned from
feedMoreTSData call

Change-Id: I6d61d7d1ea037016cddcc1aaf6c3d3c3268a8cb0
Merge "dashplayer: handle text track error"
Merge "mm-video: vidc: Missing release of meta buffer at encoder omx component"
dashplayer:Support getTrackInfo() and push blank frames

- If setVideoSurfaceTexture(null) called
on existing nativewindow and no video decoder, push
blank buffers to native window (embms channel switch
to audio only servie use case)
- Fix for pushBlankBuffersToNativeWindow() in
DashCodec. Missing native_window_set_scaling_mode()
- Configurable flag
kFlagPushBlankBuffersToNativeWindowOnShutdown
- Query dash source and return parcel
with list of trackInfo (track type and lang)
for all available tracks

Change-Id: I1fe9b2e704103b4351c95f46631d0e4816fe7583
dashplayer : use hybdrid HEVC decoder solution for HEVC

- use OMX.qcom.video.decoder.hevchybrid decoder component
  for HEVC

Change-Id: Id37caba580c90edcd58bab1beab518ea93f6e9aa
Merge "vidc: venc: add support to configure initialqp to encoder"
mm-video: vidc: Avoid erroring out if too many corrupt frames

The OMX component indicates corrupt frames to the OMX client. Hence the
client is more than capable to making the decision to error out.

There's no point to make this decision in the component as some OMX
clients (namely WFD) are willing to wait out the corrupt frames in hope
that they will eventually get non-corrupt frames.

CRs-Fixed: 642758
Change-Id: I9475de4ccd18f026977ba7b403e8ccaa40699d04
Merge "mm-video: vidc: Avoid erroring out if too many corrupt frames"
Merge "dashplayer : use hybdrid HEVC decoder solution for HEVC"
mm-video-v4l2: venc: Add check for overriding level based on LTR count

When LTR count is set it  might be higher than dpb count resulting in
bitstream error or failure in setting LTR in bitstream. This change
updates the level based on LTR count.

CRs-fixed: 640720
Change-Id: Icda3f406517f5685bb39944699fb2d66268c3f4f
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
dashplayer: Fix crash in dashplayer print trace

Fix crash in dashplayer print trace

Change-Id: Idab7e83c6b580e99c4fc4d4e804c11c00af68dca
mm-video-v4l2: vdec: add stream userdata as extradata

Provides userdata to client including AFD and CC metadata.
To get the extra data use the standard OpenMAX IL for custom indexes:
Request the index value using:
"OMX.QCOM.index.param.video.ExtnUserExtraData"
Or directly using the index:
OMX_QcomIndexEnableExtnUserData

Change-Id: I6602aa4cf69a8c8c8eef059dc2b8a1ec23203908
Revert "mm-video: vdec: Set frame rate if computed fps is more than existing fps"

Reverting change-id Ic723d5a35a8709d57b5ff4877ebc9e6ae9aa626a.
The change introduced a bug in the component, whereby once fps is
set to a high value, it won't come down. This impacts power.

Change-Id: Ib50dcb34a5142d77a812714c30c8ea051f4942fe
mm-video: vidc: disable dynamic buffer mode and adaptive playback

Added setprop to disable dynamic buffer mode and adaptive playback
mode and kept is disabled bu default

Change-Id: I05b984199cf5fc932f25dde55317eac7798d46cb
CRs-Fixed: 661260