Boris,
that patch will break contrast and brightness due to the fact the
maximum range of both controls is 255, after shifting their values
right by 8 you will always have a value of 0.


2009/3/14 Boris Borisov <[email protected]>:
> Check  this patch.
> Brian Johnson wrote:
>> yes the way saturation is now it does not work correctly. does anyone
>> have an issue with reverting the patch that added saturation support
>> in there since its right now broken?
>>
>> On Sat, Mar 14, 2009 at 2:43 PM, Stefan Krastanov
>> <[email protected]> wrote:
>>
>>> The new version of libv4l is working (dmesg reports yuv420) but there is
>>> another problem, this time with saturation.
>>> When I change sat to any value <=254 the image goes grey. When I set it to
>>> 255 it's to saturated. When I reset Brightens or Contrast it gets normal.
>>> When I reset Saturation it gets grey again. Is this to be expected with my
>>> chip 0C45:6270 MT9V011?
>>> Screenshoots are attached.
>>>
>>> Regards
>>> Stefan
>>>
>>> 2009/3/14 Stefan Krastanov <[email protected]>
>>>
>>>> For me jpeg is working but the quality of the picture is very low. I'm
>>>> installing new libv4l now.
>>>>
>>>> 2009/3/14 Boris Borisov <[email protected]>
>>>>
>>>>> my version of libV4l is:
>>>>> * В media-libs/libv4l
>>>>> В  В  В Latest version available: 0.5.3
>>>>> В  В  В Latest version installed: 0.5.3
>>>>> with jpeg format brightest and contrast also not working
>>>>> I test with ekiga
>>>>>
>>>>>
>>>>> Brian Johnson wrote:
>>>>>
>>>>>> The brightness works on the older version since that comes before we
>>>>>> got proper format switching working and it was using one of the hard
>>>>>> coded bridge formats. anyways brightness/contrast do not work ewith
>>>>>> raw bayer format because the bridge uses its color matrix to control
>>>>>> those, the color matrix is what the bridge uses to convert the raw rgb
>>>>>> values to yuv, and since the bridge passing through the raw bayer
>>>>>> pattern as received from the sensor without converting to a yuv format
>>>>>> brightness and contrast will not work with bayer format.
>>>>>>
>>>>>> There are two wys to get this working right first if you insmod the
>>>>>> module with the jpeg=1 parameter
>>>>>> (insmod ./sn9c20x.ko jpeg=1) libv4l should choose to use the jpeg
>>>>>> format instead of bayer or make sure you are using version 0.5.8 or
>>>>>> greater of libv4l whcih supports the bridges custom yuv format and
>>>>>> will choose that over bayer
>>>>>>
>>>>>> 2009/3/14 Boris Borisov <[email protected]>:
>>>>>>
>>>>>>
>>>>>>> Because I write a part of old driver, special decoder for 6270
>>>>>>> cameras.
>>>>>>> On new releases this is decoder is not included. In this case I use my
>>>>>>> old copy of repository May 2008.
>>>>>>> Because my implementations is using this functions (image processing)
>>>>>>> access via sys-fs tuning picture (normalization) is very important .
>>>>>>> New release is used for decoder v4l2convert but that is no very clear
>>>>>>> solution for my situation because this is library some time is
>>>>>>> generating core dump and stop production line (very often if is using
>>>>>>> with V4L1). Also converter is get more resources CPU and memory. On my
>>>>>>> visio systems based on Beagleboard the resources is very important for
>>>>>>> robotic speed.
>>>>>>> I post this issue because I can't solve for 20 minutes and not follow
>>>>>>> from long time new commitments.
>>>>>>> About git try with qgit or qgit4 graphics user interface program and
>>>>>>> save the time for understanding git. Yes is possible to get old
>>>>>>> revision.
>>>>>>>
>>>>>>> мЕЛ ДЕО
>>>>>>> Bobby
>>>>>>>
>>>>>>> Stefan Krastanov wrote:
>>>>>>>
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> On С™0C45:6270 with MT9V011 it's also not working(checked with
>>>>>>>> v4l2ucp). I have reported it, but failed to give details - I was more
>>>>>>>> interested in another problem.
>>>>>>>>
>>>>>>>> I have some time so I can check in exactly which version the support
>>>>>>>> regresses but I will need at least some initial time interval in
>>>>>>>> which
>>>>>>>> to begin the search. And also, I'll be happy if you can tell me how
>>>>>>>> to
>>>>>>>> row back to old versions using git (based on date if it's possible) -
>>>>>>>> if not I'll dig in the man page ;)
>>>>>>>>
>>>>>>>> Best Regards
>>>>>>>> Stefan Krastanov
>>>>>>>>
>>>>>>>> 2009/3/14 Boris Borisov <[email protected] <mailto:[email protected]>>
>>>>>>>>
>>>>>>>>
>>>>>>>> С™ С™ Hello,
>>>>>>>> С™ С™ Can you check the brightness and contrast functions, because for
>>>>>>>> С™ С™ me this
>>>>>>>> С™ С™ functions is broken.
>>>>>>>> С™ С™ Really i call sn9c20x_set_contrast with different values of
>>>>>>>> brightness
>>>>>>>> С™ С™ and contrast via sys-fs and V4l functions (ekiga) but brightness
>>>>>>>> and
>>>>>>>> С™ С™ contrast is not changed.
>>>>>>>> С™ С™ On very old version (who I use) this functions is working.
>>>>>>>>
>>>>>>>> С™ С™ Best regards
>>>>>>>> С™ С™ Bobby
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>
>>
>> >
>>
>>
>
>
> >
>
> diff --git a/sn9c20x-bridge.c b/sn9c20x-bridge.c
> index bb0f535..6453c48 100644
> --- a/sn9c20x-bridge.c
> +++ b/sn9c20x-bridge.c
> @@ -504,8 +504,8 @@ int sn9c20x_set_contrast(struct usb_sn9c20x *dev)
>        __u8 brightness_contrast[21] = {0x16, 0x0, 0x2b, 0x0, 0x8, 0x0, 0xf6, 
> 0x0f,
>                                0xd2, 0x0f, 0x38, 0x0, 0x34, 0x0, 0xcf, 0x0f,
>                                0xfd, 0x0f, 0x0, 0x0, 0x0};
> -       __u8 contrast_val = (dev->vsettings.contrast) * 0x25 / 0x100;
> -       __u8 brightness_val = dev->vsettings.brightness;
> +       __u8 contrast_val = (dev->vsettings.contrast >> 8) * 0x25 / 0x100;
> +       __u8 brightness_val = dev->vsettings.brightness >> 8;
>
>        brightness_val -= 0x80;
>        brightness_contrast[18] = brightness_val;
> diff --git a/sn9c20x-bridge.h b/sn9c20x-bridge.h
> index 029042c..3df1317 100644
> --- a/sn9c20x-bridge.h
> +++ b/sn9c20x-bridge.h
> @@ -76,6 +76,9 @@ int sn9c20x_write_i2c_array(struct usb_sn9c20x *dev,
>  int sn9c20x_set_resolution(struct usb_sn9c20x *dev,
>        int width, int height);
>
> +int sn9c20x_set_contrast(struct usb_sn9c20x *);
> +int sn9c20x_set_brightness(struct usb_sn9c20x *);
> +
>  int sn9c20x_get_closest_resolution(struct usb_sn9c20x *, int *, int *);
>  int sn9c20x_set_format(struct usb_sn9c20x *, __u32);
>  void sn9c20x_set_jpeg(struct usb_sn9c20x *);
>
>

--~--~---------~--~----~------------~-------~--~----~
Lets make microdia webcams plug'n play, (currently plug'n pray)
To post to this group, send email to [email protected]
Visit us online https://groups.google.com/group/microdia
-~----------~----~----~----~------~----~------~--~---

Reply via email to