Rockchip: Implement flush in rockchip encoder plugin.

This CL implements flush with encoder_cmd ioctl. If there are pending
buffers when client want to flush, it mark the last buffer as EOS.
After the EOS buffer is enqueued to the driver, then the plugin sends
the CMD_STOP.

Note that during flushing, the plugin does not enqueue any buffer to
the driver. Therefore, we skip checking can_qbuf in this period. Also,
we do not update the encoder config for the empty buffer, because it
means flush is finished or encode error.

BUG=b:71882314
TEST=Run CtsVideoTestCases at device

Change-Id: If52fdb9f5e561d34712663825f7c7f4a2b80091f
Reviewed-on: https://chromium-review.googlesource.com/940722
Commit-Ready: Chih-Yu Huang <akahuang@chromium.org>
Tested-by: Chih-Yu Huang <akahuang@chromium.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
2 files changed
tree: 3c5603e845600fb2b6442f3107332c083b14a256
  1. libv4l-rockchip/
  2. libv4l-rockchip_v2/
  3. OWNERS