Re: [RFC PATCH V0 0/2] media: v4l2: extend framework to support advanced feature of Mediatek Camsys driver

From: Sakari Ailus
Date: Fri May 07 2021 - 05:38:15 EST


Hi John,

On Fri, May 07, 2021 at 10:53:35AM +0800, john.wei@xxxxxxxxxxxx wrote:
> Hello,
>
> This is the first version of the RFC patch series to v4l2 and media framework
> to support virtual channel (an advanced feature of MIPI CSI). Virtual channel
> was used commonly among modern image sensor. It was used to transfer
> metadata of an image such as statistical data of AE or AF.Some advanced
> features of camera such as HDR (High dynamic range), PDAF (Phase Detection
> Auto Focus) were achieved by virtual channel. Medaitek made some modification
> to frame descriptor based on https://patchwork.kernel.org/patch/10875875/ and
> https://patchwork.kernel.org/patch/10875875/.We extend the struct
> v4l2_mbus_frame_desc_entry by add enable, hsize, vsize and user_data_desc.
> With this modification, frame descriptor are now more powerful to meet all
> kinds of need among different applications. Here is an example that we use
> frame descriptor to describe all data streams in a frame output by a
> stagger sensor.

Thanks for your e-mail.

Work has been done to address the problem area previously but it hasn't
reached upstream yet.

Tomi Valkeinen has posted a set here:

<https://lore.kernel.org/linux-media/20210427124523.990938-1-tomi.valkeinen@xxxxxxxxxxxxxxxx/>

Cc Tomi as well.

>
> static struct v4l2_mbus_frame_desc_entry frame_desc_cus1[] = {
> {
> .bus.csi2 = {
> .channel = 0,
> .data_type = 0x2b,
> .enable = 1,
> .hsize = 0xF00,
> .vsize = 0x870,
> .user_data_desc = V4L2_MBUS_CSI2_USER_DEFINED_DATA_DESC_HDR_LE,
> },
> },
> {
> .bus.csi2 = {
> .channel = 1,
> .data_type = 0x2b,
> .enable = 1,
> .hsize = 0xF00,
> .vsize = 0x870,
> .user_data_desc = V4L2_MBUS_CSI2_USER_DEFINED_DATA_DESC_HDR_SE,
> },
> },
> };
>
> The first data stream, data for long exposure was transfer by channel 0 with
> data type 0x2b and the resolution was 0xF00 by horizontal and 0x870 by vertical.
> The second data stream, data for short exposure was transfer by channel 1
> with data type 0x2b and the resolution was also 0xF00 by horizontal and 0x870
> by vertical. Both long exposure and short exposure data will be fused in ISP
> stage to output a HDR image.
>
> media: v4l2: Add fields to frame descriptors
> media: v4l2-ctrl: Add user defined base for ISP user control
>
> include/media/v4l2-subdev.h | 25 ++++++++++++++++++++++++-
> include/uapi/linux/v4l2-controls.h | 10 ++++++++++
> 2 files changed, 34 insertions(+), 1 deletion(-)
>

--
Kind regards,

Sakari Ailus