mm-video: vidc: Fix a race condition in sending OMX_CommandPortDisable

Due to a race condition event OMX_CommandPortDisable might send to
OMX client twice once due to OMX_COMPONENT_OUTPUT_DISABLE_PENDING
flag and once due to OMX_COMPONENT_DISABLE_OUTPUT_DEFERRED flag.
This change fix the race condition.

Change-Id: I34fc393b4db174c5c20b76ff556a065f2dd17ba0
CRs-Fixed: 524852
vidc: venc: Add support for setting QP range parameter

This change adds support for setting min_qp and max_qp
parameters to video encoder driver.

Change-Id: I523d442e9462b2286ac4459c8a085400dd1bb3d9
MetaData: add HSR key

- add kKeyHSR for high speed recording

Change-Id: Icd90d1e76f8ce06f3a5eb2f0ebc8a7b642189b17
Merge "vidc: venc: Add support for setting QP range parameter"
Merge "MetaData: add HSR key"
mm-video: Guard 120fps decoding and fix corner cases

- Guard 120fps decode feature with system property
- fix corner case where first frame TS is > 0

Change-Id: I84ba1a064b8d0e01ae3e4ff21fa289d0ee3b1d88
Merge "mm-video: Guard 120fps decoding and fix corner cases"
mm-video: vidc: hevc: dynamic buffer support in omx hevc

Added dynamic buffer support in openmax hevc component.

Change-Id: Ie7be974b90c1cf43ef0f0e7de41456cdcb3899c9
mm-video: vidc: hevc: support adaptive playback

Added adaptive plackback support to omx
hevc swvdec component.

Change-Id: Iaab3973eb2bf6512dd230c4119a3f9b344fe897f
Merge "mm-video: vidc: hevc: dynamic buffer support in omx hevc"
Merge "mm-video: vidc: hevc: support adaptive playback"
DashPlayer: Fix in DashCodec for Adaptive  Streaming

Fix in DashCodec for Adaptive Streaming

Change-Id: I64e94861292558c5b8a3adf565d961265f07b22f
CRs-fixed: 596767
mm-video: add ENDOFFRAME flag when encoder gets FBD from driver.

A semaphore is used to sync between source and sink in our omx
encoder test app. Only when sink receives ENDOFFRAME flag, it
will post this semaphore.
Also this modification is aligned with decoder.

CRs-Fixed: 587562

Change-Id: I8818ead50542b209c48b154b7d5b74ac0c0cd163
Merge "mm-video: add ENDOFFRAME flag when encoder gets FBD from driver."
mm-video-v4l2: vdec: add frame QP request as extra data

Provides frame level QP information. For H264 it is the slice level QP
averaged over whole frame. For all other codecs its frame level QP.
To get the extra data use the standard OpenMAX IL for custom indexes:
Request the index value using: "OMX.QCOM.index.param.video.QPExtradata"
Or directly using the index OMX_QcomIndexParamVideoQPExtraData

Change-Id: Id36820d4b62c7c582c41b72b5811e56d58d2038e
mm-video-v4l2: vdec: Request frame QP in OMX test app

Request of frame QP in the OMX video decoder test
app, this request will be done by default for all codecs to
facilitate the testing of this feature.

Change-Id: I720ca7c195c296fff907c165c926fb4651e8ae21
mm-video-v4l2: vdec: add input frame bits info as extradata

Provides information regarding number of bits in the frame (i.e. frame
size expressed in bits) and also the number of bits in frame header
(i.e. frame header size expressed in bits). Number of bits in header is
reported as:
For H264, sum of all slice headers bits for all the slices in the frame.
For all other codecs is the number of bits in the frame header.
To get the extra data use the standard OpenMAX IL for custom indexes:
Request the index value using:
"OMX.QCOM.index.param.video.InputBitsInfoExtradata"
Or directly using the index:
OMX_QcomIndexParamVideoInputBitsInfoExtraData

Change-Id: I69808a221b1c0de7012fddaa14c4b92bf92992af
mm-video-v4l2: vdec: Request input bits size info in OMX test app

Request of input header and frame size in bits in the OMX video
decoder test app, this request will be done by default for all
codecs to facilitate the testing of this feature.

Change-Id: Ie3ec3d03647e578521e01caa2d6e817defd3d1b0
mm-video: vidc: venc: add control to enable Hierarchical P num layers

This change will allow OMX IL client to specify number of
hierarchical layers to be used during the encode session.
This value be changed dynamically during the encode session.

Change-Id: Ic46bc736f94ffc158e139d57b0f6624bb00a628f
mm-video-v4l2: venc: Add ltr mode support for video encoder

Add LTR mode support for VP8 encoding to enhance error resilience.

Change-Id: I91994a2b9191eab603d5071e8e151a30b7646670