]> git.baikalelectronics.ru Git - kernel.git/commit
media: cedrus: h264: Support multiple slices per frame
authorJernej Skrabec <jernej.skrabec@siol.net>
Fri, 11 Oct 2019 09:32:45 +0000 (06:32 -0300)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 21 Oct 2019 10:43:04 +0000 (07:43 -0300)
commitdbe07fe82579d2407c14555c53d9498453e36ece
treebe07fb650edf24c9fe34a3715c126cf4a68b7bf0
parent3ea28247581f645aead7b30985a75ce4e0673132
media: cedrus: h264: Support multiple slices per frame

With recent changes, support for decoding multi-slice frames can be
easily added now.

Signal VPU if current slice is first in frame or not and add information
about first macroblock coordinates.

When frame contains multiple slices and driver works in slice mode, it's
more efficient to hold capture buffer in queue until all slices of a
same frame are decoded.

Add support for that to Cedrus driver by exposing and implementing
V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF capability.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
[hverkuil-cisco@xs4all.nl: rewritten to use v4l2_m2m_buf_done_and_job_finish]
[hverkuil-cisco@xs4all.nl: removed unnecessary (u32) cast]
[hverkuil-cisco@xs4all.nl: use new_frame v4l2_m2m_ctx bool]
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/staging/media/sunxi/cedrus/cedrus_h264.c
drivers/staging/media/sunxi/cedrus/cedrus_hw.c
drivers/staging/media/sunxi/cedrus/cedrus_video.c