public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: ivo.g.dimitrov.75@gmail•com (Ivaylo Dimitrov)
To: linux-arm-kernel@lists•infradead.org
Subject: [patch] autogain support for bayer10 format (was Re: [patch] propagating controls in libv4l2)
Date: Thu, 27 Apr 2017 08:52:21 +0300	[thread overview]
Message-ID: <8a129dca-69c2-366f-1a81-c64dbabc1983@gmail.com> (raw)
In-Reply-To: <20170426225150.GA4188@amd>



On 27.04.2017 01:51, Pavel Machek wrote:
> Hi!
>
>>>> There are two separate things here:
>>>>
>>>> 1) Autofoucs for a device that doesn't use subdev API
>>>> 2) libv4l2 support for devices that require MC and subdev API
>>>
>>> Actually there are three: 0) autogain. Unfortunately, I need autogain
>>> first before autofocus has a chance...
>>>
>>> And that means... bayer10 support for autogain.
>>>
>>> Plus, I changed avg_lum to long long. Quick calculation tells me int
>>> could overflow with few megapixel sensor.
>>>
>>> Oh, btw http://ytse.tricolour.net/docs/LowLightOptimization.html no
>>> longer works.
>>>
>>> Regards,
>>> 								Pavel
>>>
>>> diff --git a/lib/libv4lconvert/processing/autogain.c b/lib/libv4lconvert/processing/autogain.c
>>> index c6866d6..0b52d0f 100644
>>> --- a/lib/libv4lconvert/processing/autogain.c
>>> +++ b/lib/libv4lconvert/processing/autogain.c
>>> @@ -68,6 +71,41 @@ static void autogain_adjust(struct v4l2_queryctrl *ctrl, int *value,
>>> 	}
>>> }
>>>
>>> +static int get_luminosity_bayer10(uint16_t *buf, const struct v4l2_format *fmt)
>>> +{
>>> +	long long avg_lum = 0;
>>> +	int x, y;
>>> +	
>>> +	buf += fmt->fmt.pix.height * fmt->fmt.pix.bytesperline / 4 +
>>> +		fmt->fmt.pix.width / 4;
>>> +
>>> +	for (y = 0; y < fmt->fmt.pix.height / 2; y++) {
>>> +		for (x = 0; x < fmt->fmt.pix.width / 2; x++)
>>
>> That would take some time :). AIUI, we have NEON support in ARM kernels
>> (CONFIG_KERNEL_MODE_NEON), I wonder if it makes sense (me) to convert the
>> above loop to NEON-optimized when it comes to it? Are there any drawbacks in
>> using NEON code in kernel?
>
> Well, thanks for offer. This is actualy libv4l2.
>

Oh, somehow I got confused that this is kernel code :)

> But I'd say NEON conversion is not neccessary anytime soon. First,
> this is just trying to get average luminosity. We can easily skip
> quite a lot of pixels, and still get reasonable answer.
>
> Second, omap3isp actually has a hardware block computing statistics
> for us. We just don't use it for simplicity.
>

Right, I forgot about that.

> (But if you want to play with camera, I'll get you patches; there's
> ton of work to be done, both kernel and userspace :-).

Well, I saw a low hanging fruit I thought I can convert to NEON in a day 
or two, while having some rest from the huge "project" I am devoting all 
my spare time recently (rebasing hildon/maemo 5 on top of devuan 
Jessie). Still, if there is something relatively small to be done, just 
email me and I'll have a look.

Regards,
Ivo

  reply	other threads:[~2017-04-27  5:52 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1487074823-28274-1-git-send-email-sakari.ailus@linux.intel.com>
     [not found] ` <1487074823-28274-2-git-send-email-sakari.ailus@linux.intel.com>
     [not found]   ` <20170414232332.63850d7b@vento.lan>
     [not found]     ` <20170416091209.GB7456@valkosipuli.retiisi.org.uk>
     [not found]       ` <20170419105118.72b8e284@vento.lan>
     [not found]         ` <20170424093059.GA20427@amd>
2017-04-24 13:38           ` support autofocus / autogain in libv4l2 Mauro Carvalho Chehab
2017-04-24 21:29             ` Pavel Machek
2017-04-25  1:47               ` Mauro Carvalho Chehab
2017-04-25  8:05                 ` Pavel Machek
2017-04-25  8:08                   ` Pali Rohár
2017-04-25 11:23                     ` Pavel Machek
2017-04-25 11:30                       ` Pali Rohár
2017-04-25 12:28                         ` Pavel Machek
2017-04-25 12:51                           ` Pali Rohár
2017-04-25 16:55                         ` Nicolas Dufresne
2017-04-25 16:51                     ` Nicolas Dufresne
2017-04-25 16:53                   ` Nicolas Dufresne
2017-04-26 10:53                     ` Pavel Machek
2017-04-26 10:53                 ` [patch] propagating controls in libv4l2 was " Pavel Machek
2017-04-26 11:13                   ` Mauro Carvalho Chehab
2017-04-26 13:23                     ` [patch] autogain support for bayer10 format (was Re: [patch] propagating controls in libv4l2) Pavel Machek
2017-04-26 15:43                       ` Ivaylo Dimitrov
2017-04-26 22:51                         ` Pavel Machek
2017-04-27  5:52                           ` Ivaylo Dimitrov [this message]
2017-07-13  7:57                             ` Pavel Machek
2017-05-03 19:05                         ` Russell King - ARM Linux
2017-05-03 19:58                           ` Pavel Machek
2017-04-30 22:48                       ` Pavel Machek
2017-07-13  9:49                     ` [patch] propagating controls in libv4l2 was Re: support autofocus / autogain in libv4l2 Pavel Machek
2017-04-26 11:26                   ` Mauro Carvalho Chehab
2017-04-29  9:19                     ` Pavel Machek
     [not found]                     ` <20171021220026.GA26881@amd>
2017-10-22  7:36                       ` Camera support, Prague next week, sdlcam Hans Verkuil
2017-10-22  8:31                         ` Pavel Machek
2017-10-23 18:54                         ` Pavel Machek
2017-10-23 19:24                           ` Hans Verkuil
2017-10-23 20:15                             ` Sakari Ailus
2017-10-23 21:02                               ` Mauro Carvalho Chehab
     [not found]                               ` <20171031212812.GA11148@amd>
2017-11-01  6:36                                 ` Nokia N9: fun with camera Pavel Machek
2017-11-01 15:32                                   ` Pavel Machek
2017-04-24 22:07             ` support autofocus / autogain in libv4l2 Pavel Machek
2017-04-25  1:57               ` Mauro Carvalho Chehab
2017-04-25  8:20                 ` Pavel Machek
2017-04-25 11:23                 ` 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=8a129dca-69c2-366f-1a81-c64dbabc1983@gmail.com \
    --to=ivo.g.dimitrov.75@gmail$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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