Re: ISP Configuration for RAW Bayer sensor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sergio,

Thanks for the update.  Sure, I love to get hands on it.

Regards,
Suresh


On Fri, Mar 20, 2009 at 7:49 AM, Aguirre Rodriguez, Sergio Alberto
<saaguirre@xxxxxx> wrote:
>
>> -----Original Message-----
>> From: linux-media-owner@xxxxxxxxxxxxxxx [mailto:linux-media-
>> owner@xxxxxxxxxxxxxxx] On Behalf Of Suresh Rao
>> Sent: Thursday, March 19, 2009 7:59 AM
>> To: linux-media@xxxxxxxxxxxxxxx
>> Cc: Tuukka.O Toivonen
>> Subject: Re: ISP Configuration for RAW Bayer sensor
>>
>> Hi Tuukka,
>>
>> Thanks a lot for the patch, I will try this.
>>
>> I tried similar thing but on the sensor side and it worked, ie., I
>> skip the very first line from readout and get the desired format for
>> the ISP.
>
> Hi Suresh,
>
> I am currently working on a patch for solving these type of adjustments.
>
> The main idea is to specify from the sensor to the ISP, which is the output Raw sequence: RGGB, GRBG, BGGR, GBRG. And then adjust internal ISP reading offset to interpret the image adequately...
>
> I'll post the patch as soon as I have it ready (I'm currently busy with some other higher priority tasks for these remaining 2 weeks of the month :I)
>
> Regards,
> Sergio
>>
>> Thanks,
>> Suresh
>>
>> On Thu, Mar 19, 2009 at 1:12 PM, Tuukka.O Toivonen
>> <tuukka.o.toivonen@xxxxxxxxx> wrote:
>> > On Wednesday 18 March 2009 18:17:56 ext Suresh Rao wrote:
>> >> I am working with MT9V023 RAW sensor.  The data format from the sensor
>> is
>> >>
>> >> B G B G B G B G ...
>> >> G R G R G R G R ...
>> >> B G B G B G B G ...
>> >> G R G R G R G R ........      [ Format 1]
>> > [...]
>> >> I want to use the ISP on the OMAP for doing interpolation and format
>> >> conversion to UYVY.  I am able to capture the images from the sensor,
>> >> however I notice that the color information is missing.  I dug the
>> >> sources and found that in the RAW capture mode ISP is getting
>> >> configured to input format
>> >>
>> >> G R G R G R G R ...
>> >> B G B G B G B G ...
>> >> G R G R G R G R ...
>> >> B G B G B G B G ...          [Format 2]
>> >>
>> >> Has anyone tried sensors with BGGR ( Format 1) on OMAP?
>> >>
>> >> Can anyone give me some pointers or information on how to configure
>> >> ISP for BGGR (Format 1)
>> >
>> > If you can live with losing a few pixels (maybe sensor has a few extra)
>> > I recommend to configure ISP to crop away the topmost line.
>> >
>> > Here's couple of old _example_ patches how to configure the cropping.
>> > Just gives an idea where to start...
>> >
>> > - Tuukka
>> >
>> >
>> > diff --git a/drivers/media/video/isp/ispccdc.c
>> b/drivers/media/video/isp/ispccdc.c
>> > index 2288bc9..87870f1 100644
>> > --- a/drivers/media/video/isp/ispccdc.c
>> > +++ b/drivers/media/video/isp/ispccdc.c
>> > @@ -1189,13 +1189,13 @@ int ispccdc_config_size(u32 input_w, u32 input_h,
>> u32 output_w, u32 output_h)
>> >                                                ISPCCDC_HORZ_INFO);
>> >                } else {
>> >                        if (ispccdc_obj.ccdc_inpfmt == CCDC_RAW) {
>> > -                               omap_writel(1 <<
>> ISPCCDC_HORZ_INFO_SPH_SHIFT
>> > -                                               |
>> ((ispccdc_obj.ccdcout_w - 1)
>> > +                               omap_writel(0 <<
>> ISPCCDC_HORZ_INFO_SPH_SHIFT
>> > +                                               | (ispccdc_obj.ccdcout_w
>> >                                                <<
>> ISPCCDC_HORZ_INFO_NPH_SHIFT),
>> >                                                ISPCCDC_HORZ_INFO);
>> >                        } else {
>> >                                omap_writel(0 <<
>> ISPCCDC_HORZ_INFO_SPH_SHIFT
>> > -                                               |
>> ((ispccdc_obj.ccdcout_w - 1)
>> > +                                               | (ispccdc_obj.ccdcout_w
>> >                                                <<
>> ISPCCDC_HORZ_INFO_NPH_SHIFT),
>> >                                                ISPCCDC_HORZ_INFO);
>> >                        }
>> > @@ -1227,7 +1227,7 @@ int ispccdc_config_size(u32 input_w, u32 input_h,
>> u32 output_w, u32 output_h)
>> >                                        ISPCCDC_VP_OUT_VERT_NUM_SHIFT),
>> >                                        ISPCCDC_VP_OUT);
>> >                omap_writel(0 << ISPCCDC_HORZ_INFO_SPH_SHIFT |
>> > -                                       ((ispccdc_obj.ccdcout_w - 1) <<
>> > +                                       (ispccdc_obj.ccdcout_w <<
>> >                                        ISPCCDC_HORZ_INFO_NPH_SHIFT),
>> >                                        ISPCCDC_HORZ_INFO);
>> >                omap_writel(0 << ISPCCDC_VERT_START_SLV0_SHIFT,
>> > diff --git a/drivers/media/video/isp/ispccdc.c
>> > b/drivers/media/video/isp/ispccdc.c
>> > index f5957b2..6afaabf 100644
>> > --- a/drivers/media/video/isp/ispccdc.c
>> > +++ b/drivers/media/video/isp/ispccdc.c
>> > @@ -478,7 +478,7 @@ EXPORT_SYMBOL(ispccdc_enable_lsc);
>> >   **/
>> >  void ispccdc_config_crop(u32 left, u32 top, u32 height, u32 width)
>> >  {
>> > -       ispccdc_obj.ccdcin_woffset = left + ((left + 1) % 2);
>> > +       ispccdc_obj.ccdcin_woffset = left + (left % 2);
>> >         ispccdc_obj.ccdcin_hoffset = top + (top % 2);
>> >
>> >         ispccdc_obj.crop_w = width - (width % 16);
>> > @@ -1166,7 +1166,7 @@ int ispccdc_config_size(u32 input_w, u32 input_h,
>> > u32 output_w, u32 output_h)
>> >                                         ISPCCDC_FMT_VERT);
>> >                 omap_writel((ispccdc_obj.ccdcout_w <<
>> >                                         ISPCCDC_VP_OUT_HORZ_NUM_SHIFT) |
>> > -                                       (ispccdc_obj.ccdcout_h <<
>> > +                                       (ispccdc_obj.ccdcout_h - 1 <<
>> >                                         ISPCCDC_VP_OUT_VERT_NUM_SHIFT),
>> >                                         ISPCCDC_VP_OUT);
>> >                 omap_writel((((ispccdc_obj.ccdcout_h - 25) &
>> >
>> >
>> >
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-media" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux