From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
To: <Mario.Limonciello@dell.com>
Cc: <pavel@ucw.cz>, <nicolas@ndufresne.ca>,
<linux-media@vger.kernel.org>, <sakari.ailus@linux.intel.com>,
<niklas.soderlund@ragnatech.se>, <jerry.w.hu@intel.com>
Subject: Re: Software-only image processing for Intel "complex" cameras
Date: Fri, 22 Jun 2018 03:49:46 +0900 [thread overview]
Message-ID: <20180622034946.2ae51f1e@vela.lan> (raw)
In-Reply-To: <da642773adac42a6966b9716f0d53444@ausx13mpc120.AMER.DELL.COM>
Em Thu, 21 Jun 2018 13:41:37 +0000
<Mario.Limonciello@dell.com> escreveu:
> > -----Original Message-----
> > From: Pavel Machek [mailto:pavel@ucw.cz]
> > Sent: Wednesday, June 20, 2018 4:12 PM
> > To: Nicolas Dufresne
> > Cc: linux-media@vger.kernel.org; sakari.ailus@linux.intel.com;
> > niklas.soderlund@ragnatech.se; jerry.w.hu@intel.com; Limonciello, Mario
> > Subject: Re: Software-only image processing for Intel "complex" cameras
> >
> > Hi!
> >
> > > > On Nokia N900, I have similar problems as Intel IPU3 hardware.
> > > >
> > > > Meeting notes say that pure software implementation is not fast
> > > > enough, but that it may be useful for debugging. It would be also
> > > > useful for me on N900, and probably useful for processing "raw"
> > > > images
> > > > from digital cameras.
> > > >
> > > > There is sensor part, and memory-to-memory part, right? What is
> > > > the format of data from the sensor part? What operations would be
> > > > expensive on the CPU? If we did everthing on the CPU, what would be
> > > > maximum resolution where we could still manage it in real time?
> > >
> > > The IPU3 sensor produce a vendor specific form of bayer. If we manage
> > > to implement support for this format, it would likely be done in
> > > software. I don't think anyone can answer your other questions has no
> > > one have ever implemented this, hence measure performance.
> >
> > I believe Intel has some estimates.
> >
> > What is the maximum resolution of camera in the current Dell systems?
> >
>
> 5M camera sensor HW spec:
> 2592x1944
>
> 8M camera sensor HW spec:
> 3264x2448
Looking at the ipu3 driver, I'm wandering how the library would identify
the system components. The way VIDIOC_QUERYCAP is currently implemented
doesn't help at all:
static int cio2_v4l2_querycap(struct file *file, void *fh,
struct v4l2_capability *cap)
{
struct cio2_device *cio2 = video_drvdata(file);
strlcpy(cap->driver, CIO2_NAME, sizeof(cap->driver));
strlcpy(cap->card, CIO2_DEVICE_NAME, sizeof(cap->card));
snprintf(cap->bus_info, sizeof(cap->bus_info),
"PCI:%s", pci_name(cio2->pci_dev));
return 0;
}
In order to allow the library to know more about the hardware, it
would likely need to expose some model number to userspace. Ok, userspace
could always call dmidecode, but that requires root privileges. We
really don't want media apps to require root.
So, perhaps caps->cap (or a MC caps equivalent call) should, instead be filled
with values obtained from the BIOS DMI tables with some logic based on
enum dmi_field:
enum dmi_field {
DMI_NONE,
DMI_BIOS_VENDOR,
DMI_BIOS_VERSION,
DMI_BIOS_DATE,
DMI_SYS_VENDOR,
DMI_PRODUCT_NAME,
DMI_PRODUCT_VERSION,
DMI_PRODUCT_SERIAL,
DMI_PRODUCT_UUID,
DMI_PRODUCT_FAMILY,
DMI_BOARD_VENDOR,
DMI_BOARD_NAME,
DMI_BOARD_VERSION,
DMI_BOARD_SERIAL,
DMI_BOARD_ASSET_TAG,
DMI_CHASSIS_VENDOR,
DMI_CHASSIS_TYPE,
DMI_CHASSIS_VERSION,
DMI_CHASSIS_SERIAL,
DMI_CHASSIS_ASSET_TAG,
DMI_STRING_MAX,
};
e. g. something like:
board_vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
board_name = dmi_get_system_info(DMI_BOARD_NAME);
board_version = dmi_get_system_info(DMI_BOARD_NAME);
product_name = dmi_get_system_info(DMI_PRODUCT_NAME);
product_version = dmi_get_system_info(DMI_PRODUCT_VERSION);
sprintf(dev->cap, "%s:%s:%s:%s", board_vendor, board_name, board_version, product_name, product_version);
(the real code should check if the values are filled, as not all BIOS vendors use the same DMI fields)
With that, the library can auto-adjust without needing to run anything as
root.
Cheers,
Mauro
next prev parent reply other threads:[~2018-06-21 18:50 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-20 20:38 Software-only image processing for Intel "complex" cameras Pavel Machek
2018-06-20 20:57 ` Nicolas Dufresne
2018-06-20 21:11 ` Pavel Machek
2018-06-21 13:41 ` Mario.Limonciello
2018-06-21 18:49 ` Mauro Carvalho Chehab [this message]
2018-06-21 18:58 ` Mario.Limonciello
2018-06-21 21:08 ` Mauro Carvalho Chehab
2018-06-21 21:40 ` Mauro Carvalho Chehab
2018-06-25 9:48 ` Zheng, Jian Xu
2018-06-25 13:10 ` Mauro Carvalho Chehab
2018-07-27 10:58 ` Javier Martinez Canillas
2018-06-23 21:29 ` Pavel Machek
2018-06-21 18:36 ` Mauro Carvalho Chehab
2018-06-29 6:02 ` Tomasz Figa
2018-06-29 9:18 ` Pavel Machek
2018-06-29 9:28 ` Tomasz Figa
2018-06-29 10:52 ` Pavel Machek
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=20180622034946.2ae51f1e@vela.lan \
--to=mchehab+samsung@kernel.org \
--cc=Mario.Limonciello@dell.com \
--cc=jerry.w.hu@intel.com \
--cc=linux-media@vger.kernel.org \
--cc=nicolas@ndufresne.ca \
--cc=niklas.soderlund@ragnatech.se \
--cc=pavel@ucw.cz \
--cc=sakari.ailus@linux.intel.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