mm-video: vidc: Fix codec config behavior in flush

Send pending codec config data to the driver when flushing.
Reset intermediate buffers handles when input port is
disabled and port buffers are freed.

Bug: 11099331

Signed-off: Leena Winterrowd <lenhardw@codeaurora.org>
Change-Id: Ifd674b71ce04a4be16b564c53122ce5c5e4d92f1
mm-video: vidc: stability fixes in decoder

Synchronize access to extradata buffer which is allocated
and accessed in separate threads.
Do not unmap output handles in dynamic buffer mode when
buffers are freed (since they are unmapped already in FBD)

Bug: 11099331
Bug: 11366221

Signed-off: Leena Winterrowd <lenhardw@codeaurora.org>
Change-Id: I26d02c183d8496a52d4ded51c53f44eaf5e6e0b0
mm-video: vidc: Fix codec config behavior in flush

Send pending codec config data to the driver when flushing.
Reset intermediate buffers handles when input port is
disabled and port buffers are freed.

Bug: 11099331

Signed-off: Leena Winterrowd <lenhardw@codeaurora.org>
Change-Id: Ifd674b71ce04a4be16b564c53122ce5c5e4d92f1
mm-video: vidc: stability fixes in decoder

Synchronize access to extradata buffer which is allocated
and accessed in separate threads.
Do not unmap output handles in dynamic buffer mode when
buffers are freed (since they are unmapped already in FBD)

Bug: 11099331
Bug: 11366221

Signed-off: Leena Winterrowd <lenhardw@codeaurora.org>
Change-Id: I26d02c183d8496a52d4ded51c53f44eaf5e6e0b0
mm-video: vidc:  release registered buffers from driver

In some scenarios, component may restart from loaded to idle
state in the same context and it is resulting in the preapare
buf failure as previous buffers are not unregistered. Unregister
the buffers from driver while stopping the component.

b/11051201

Signed-off: Manikanta Kanamarlapudi<kmanikan@codeaurora.org>

Change-Id: I048cf715d2e83b05df99eaf10776cff0bbb2acd2
mm-video: venc: switch between executing and loaded.

when the v4l2 modules stopped, it will free all output
and input buffers. So when it is re-started again,
re-do the VIDIOC_REQBUFS command again.

b/11051201
Signed-off: Kim Zhang<xiazhang@codeaurora.org>
Change-Id: I7c6de237fdd7476ca4ebc7d1f1016e86f3af9d95
mm-video: vidc: venc: add set ctrl to request sequence header

The omx component can explicitly request for sequence header
using the set ctrl id - V4L2_CID_MPEG_VIDC_VIDEO_REQUEST_SEQ_HEADER.
The omx component should not rely on the driver to
send sequence header on it's own.

b/11051201

Change-Id: Ie5c2adc11c15b84a7f659d75357a09b7758ea199