linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/5] Add enum_fmt flag for coded formats with dynamic resolution switching
@ 2019-06-09 14:38 Maxime Jourdan
  2019-06-09 14:38 ` [RFC PATCH 1/5] media: videodev2: add V4L2_FMT_FLAG_DYN_RESOLUTION Maxime Jourdan
                   ` (5 more replies)
  0 siblings, 6 replies; 22+ messages in thread
From: Maxime Jourdan @ 2019-06-09 14:38 UTC (permalink / raw)
  To: Hans Verkuil, Mauro Carvalho Chehab, Tomasz Figa, linux-media
  Cc: Laurent Pinchart, Stanimir Varbanov, Tiffany Lin, Andrew-CT Chen,
	Kyungmin Park, Kamil Debski, Jeongtae Park, Andrzej Hajda

Hello,

This RFC proposes a new format flag - V4L2_FMT_FLAG_DYN_RESOLUTION - used
to tag coded formats for which the device supports dynamic resolution
switching, via V4L2_EVENT_SOURCE_CHANGE.
This includes the initial "source change" where the device is able to
tell userspace about the coded resolution and the DPB size (which
sometimes translates to V4L2_CID_MIN_BUFFERS_FOR_CAPTURE).
This flag is mainly aimed at stateful decoder drivers.

This RFC is motivated by my development on the amlogic video decoder
driver, which does not support dynamic resolution switching for older
coded formats (MPEG 1/2, MPEG 4 part II, H263). It does however support
it for the newer formats (H264, HEVC, VP9).

The specification regarding stateful video decoders should be amended
to include that, in the absence of this flag for a certain format,
userspace is expected to extract the coded resolution and allocate
a sufficient amount of capture buffers on its own.
I understand that this point may be tricky, since older kernels with
close-to-spec drivers would not have this flag available, yet would
fully support dynamic resolution switching.
However, with the spec not merged in yet, I wanted to have your opinion
on this late addition.

The RFC patches also adds support for this flag for the 4 following
stateful decoder drivers:
 - venus
 - s5p-mfc
 - mtk-vcodec
 - vicodec

Maxime Jourdan (5):
  media: videodev2: add V4L2_FMT_FLAG_DYN_RESOLUTION
  media: venus: vdec: flag OUTPUT formats with
    V4L2_FMT_FLAG_DYN_RESOLUTION
  media: s5p_mfc_dec: flag OUTPUT formats with
    V4L2_FMT_FLAG_DYN_RESOLUTION
  media: mtk-vcodec: flag OUTPUT formats with
    V4L2_FMT_FLAG_DYN_RESOLUTION
  media: vicodec: flag vdec/stateful OUTPUT formats with
    V4L2_FMT_FLAG_DYN_RESOLUTION

 Documentation/media/uapi/v4l/vidioc-enum-fmt.rst   |  7 +++++++
 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec.c |  4 ++++
 drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h |  1 +
 drivers/media/platform/qcom/venus/core.h           |  1 +
 drivers/media/platform/qcom/venus/vdec.c           | 11 +++++++++++
 drivers/media/platform/s5p-mfc/s5p_mfc_common.h    |  1 +
 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c       | 13 +++++++++++++
 drivers/media/platform/vicodec/vicodec-core.c      |  2 ++
 include/uapi/linux/videodev2.h                     |  5 +++--
 9 files changed, 43 insertions(+), 2 deletions(-)

-- 
2.21.0


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2019-07-24 10:34 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-09 14:38 [RFC PATCH 0/5] Add enum_fmt flag for coded formats with dynamic resolution switching Maxime Jourdan
2019-06-09 14:38 ` [RFC PATCH 1/5] media: videodev2: add V4L2_FMT_FLAG_DYN_RESOLUTION Maxime Jourdan
2019-06-10  3:48   ` Tomasz Figa
2019-06-11  8:08     ` Hans Verkuil
2019-06-11 16:46     ` Maxime Jourdan
2019-07-03  9:24       ` Tomasz Figa
2019-06-11  8:00   ` Hans Verkuil
2019-06-09 14:38 ` [RFC PATCH 2/5] media: venus: vdec: flag OUTPUT formats with V4L2_FMT_FLAG_DYN_RESOLUTION Maxime Jourdan
2019-06-11  8:06   ` Hans Verkuil
2019-06-09 14:38 ` [RFC PATCH 3/5] media: s5p_mfc_dec: " Maxime Jourdan
2019-06-09 14:38 ` [RFC PATCH 4/5] media: mtk-vcodec: " Maxime Jourdan
2019-06-09 14:38 ` [RFC PATCH 5/5] media: vicodec: flag vdec/stateful " Maxime Jourdan
2019-06-11  8:13 ` [RFC PATCH 0/5] Add enum_fmt flag for coded formats with dynamic resolution switching Hans Verkuil
2019-06-11 17:02   ` Maxime Jourdan
2019-07-15 12:37   ` Hans Verkuil
2019-07-18  8:39     ` Maxime Jourdan
2019-07-18  9:22       ` Hans Verkuil
2019-07-24 10:32         ` Maxime Jourdan
2019-07-24 10:34           ` Hans Verkuil
2019-07-19  2:45     ` Tomasz Figa
2019-07-19  8:41       ` Hans Verkuil
2019-07-24  4:09         ` Tomasz Figa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).