mm-core: Add MPEG-2 extension and user data types

With this commit, OMX_ExtraDataMP2ExtnData and
OMX_ExtraDataMP2UserData eTypes are added to support
MPEG-2 extra data types.

Change-Id: Iffd6e216d9f6fdf30f6a99410c353a37bbe14dc7
mm-video:vidc: Add the handling of MPEG-2 extension and user data

Handling of extension and user data returned by core is added
to user space code. Now extension and user data is appended to
YUV data along with other extra data and passed to client.

Change-Id: I7337aee7bad68fbb0eaf3536c84ee695540b5896
mm-video: vidc: Adds support to send STOP command to Venus

Adds support to send STOP command to Venus before closing the fd.

Change-Id: I7b2378d9c95f342bbc24188c50634987bbcd78b1
mm-video: venc: Fix error check.

OMX_ErrorNoMore is not an error so
test app should not bail out incase
or this error.

Change-Id: Id3e4a055c50bf8627cede6c44e686d2d50da185c
mm-video: venc: Support to send frame rate and bit rate.

Adds support to send frame rate in Q16 format and bit rate.

Change-Id: Idf48308eae0528cb61819482a65c2306e257fc24
mm-video: vidc: Close ION_IOC_MAP fd before closing ION device fd

Changes were made to free output buffer function where ION_IOC_MAP
fd is closed before closing ION device fd.

CRs-Fixed: 382450
Change-Id: I1e567ebc7679f502822113e535f7070ca5b2aea5
mm-video: vidc: Try to open secure video decoder again.

Try to open secure video decoder again if first
open fails.

Change-Id: I653df3fb0d0119b44f19f18a377d1e4328f7e42d
mm-video: vidc: msm8974 bringup patches

This commit includes the following changes required for bring up:

- Add native_buffer support to interface with Stagefright
- Call STREAMON on the output capability when input buffers are given
  via use_buffer.  Ditto with  PREPARE_BUFFER.
- Request more buffers from the driver on the capture capability as
  needed.
- Recalculate the stride and slice to be 32 aligned values of width and
  height that we get from the driver.
- Return proper timestamp as part of FBD
- Disable frame by frame mode
- Add vendor specific version of NV12 color format

Change-Id: Id97fede759bee33ba78fcdf600fc8b93e2d483e8
mm-video: vidc: Increasing poll timeout value.

Change-Id: I40fc8d6c20f45a491d6893a42915af022449ed77
mm-video: Add debug messages for syntax header generation

Debug messages are added and modified appropriately.
Some minor syntax correction is done in the code.

Change-Id: I0a964c54a855c9f580ad710dc52ecf6978e11f02
msm_vidc: msm8974 encoder bring up change

- Add timestamp propogation from driver to IL client.
- Propogate all dequeued events/buffers when poll returns.

Change-Id: I698c266b25755d84ddf33fca797a1be07e2397a1
vidc: Change allocate from cached to uncached buffers.

Change allocation from cached to non-cached for B-family chipsets.

Change-Id: I4973b3a5da1f61785a78a39deaa8ceb124c0ebce
mm-video: venc: Align the buffer size to 4K for ION memory.

Before this change, the buffer size alignment was missing if
the frame width or frame height were not multiple of 16.

Change-Id: Ic868cb0e093fcf093c351e7e65c80de983539030
mm-video: vdec: Handle flush properly.

This change makes sure the FLUSH_DONE event
is sent to client after flushing/giving all
the buffers back to client.

Change-Id: Ideacac0d768444db60029ff240c3f976381e7d2b
mm-video: Adds support for back to back decoding

Adds a fix to move to Idle state after recieving FLUSH_DONE.
This avoid freeing of buffer by client which are not
freed by Venus yet.

Change-Id: Ia1cba24e42ee4c39f320c9815a91b349098675c3
mm-core: 7630: Remove the qcom mp3 decoder from Android

Remove the hardware Qcom MP3 decoder from Android registry
table.

Change-Id: Ida1c9a9b9b70456394f8037ac42f5ba33fd4a0f1
mm-video: vidc: suppress non-fatal error messages.

These messages are non-fatal and appear frequently
during the video session. Hence suppressing them.

CRs-Fixed: 389408
Change-Id: I24dcaa33a16186e5ea7833cf6ad422ed6068d238
mm-video: vidc: Enable frame by frame mode

Enabling the previously disable frame by frame mode. As a part of this
change, pass in the CODEC_CONFIG flag to driver if SPS or PPS is given
to component

Change-Id: Iaf5e169e13bd3c20c615ad6c271c1ac44bf1ff41
mm-video : vidc: Adds support to send STOP command to encoder

Adds support to send STOP command to encoder which is used to
signal close to encoder session.

Change-Id: I75aef5ee4cfacf1356303d2e5e41280242dc9a29
msm_vidc: venc: Camcorder bringup changes

- Replace streamoff command with flush.
- Update fd during etb call
- Fix timestamp calculations
- Add support for sending flush done to IL client
- Subscribe for flush_done event
- Move event unsubscription after stop
- Merge flush input and flush output commands into single flush all
- Update venc_stop_done calls.

Change-Id: I7c8ba906b6ffe2bd98702e95a92afbd0f6467516