linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: <john.wei@mediatek.com>
To: <john.wei@mediatek.com>, <louis.kuo@mediak.com>,
	<mchehab@kernel.org>, <matthias.bgg@gmail.com>
Cc: <linux-media@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mediatek@lists.infradead.org>,
	 <wsd_upstream@mediatek.com>
Subject: [RFC PATCH V0 0/2] media: v4l2: extend framework to support advanced feature of Mediatek Camsys driver
Date: Fri, 7 May 2021 10:53:35 +0800	[thread overview]
Message-ID: <1620356017-26486-1-git-send-email-john.wei@mediatek.com> (raw)

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.

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(-)
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2021-05-07  2:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-07  2:53 john.wei [this message]
2021-05-07  2:53 ` [RFC PATCH V0 1/2] media: v4l2: Add fields to frame descriptors john.wei
2021-05-07  2:53 ` [RFC PATCH V0 2/2] media: v4l2-ctrl: Add user defined base for ISP user control john.wei
2021-05-07  9:38 ` [RFC PATCH V0 0/2] media: v4l2: extend framework to support advanced feature of Mediatek Camsys driver Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1620356017-26486-1-git-send-email-john.wei@mediatek.com \
    --to=john.wei@mediatek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=louis.kuo@mediak.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mchehab@kernel.org \
    --cc=wsd_upstream@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).