From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: "Enric Balletbò i Serra" <eballetbo@gmail.com>
Cc: linux-media@vger.kernel.org
Subject: Re: omap3isp: wrong image after resizer with mt9v034 sensor
Date: Tue, 25 Sep 2012 13:31:03 +0200 [thread overview]
Message-ID: <1982842.IhYcnQa0e6@avalon> (raw)
In-Reply-To: <CAFqH_51CDRnLntYShEApUE+AuBKSBAP4Yr7EQKxnrV9SRO441w@mail.gmail.com>
Hi Enric,
On Tuesday 25 September 2012 13:23:20 Enric Balletbò i Serra wrote:
> 2012/9/25 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> > On Tuesday 25 September 2012 09:44:42 Enric Balletbò i Serra wrote:
> >> 2012/9/25 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> >> > On Monday 24 September 2012 15:49:01 Enric Balletbò i Serra wrote:
> >> >> 2012/9/24 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> >> >> > On Monday 24 September 2012 10:33:42 Enric Balletbò i Serra wrote:
> >> >> >> Hi everybody,
> >> >> >>
> >> >> >> I'm trying to add support for MT9V034 Aptina image sensor to
> >> >> >> current mainline, as a base of my current work I start using the
> >> >> >> latest omap3isp-next branch from Laurent's git tree [1]. The
> >> >> >> MT9V034 image sensor is very similar to MT9V032 sensor, so I
> >> >> >> modified current driver to accept MT9V034 sensor adding the chip
> >> >> >> ID. The driver recognizes the sensor and I'm able to capture some
> >> >> >> frames.
> >> >> >>
> >> >> >> I started capturing directly frames using the pipeline Sensor ->
> >> >> >> CCDC
> >> >> >>
> >> >> >> ./media-ctl -r
> >> >> >> ./media-ctl -l '"mt9v032 3-005c":0->"OMAP3 ISP CCDC":0[1]'
> >> >> >> ./media-ctl -l '"OMAP3 ISP CCDC":1->"OMAP3 ISP CCDC
> >> >> >> output":0[1]'
> >> >> >> ./media-ctl -f '"mt9v032 3-005c":0 [SGRBG10 752x480]'
> >> >> >> ./media-ctl -f '"OMAP3 ISP CCDC":1 [SGRBG10 752x480]'
> >> >> >>
> >> >> >> # Test pattern
> >> >> >> ./yavta --set-control '0x00981901 1' /dev/v4l-subdev8
> >> >> >>
> >> >> >> # ./yavta -p -f SGRBG10 -s 752x480 -n 4 --capture=3 /dev/video2
> >> >> >>
> >> >> >> --file=img-#.bin
> >> >> >>
> >> >> >> To convert to jpg I used bayer2rgb [2] program executing following
> >> >> >> command,
> >> >> >>
> >> >> >> $ convert -size 752x480 GRBG_BAYER:./img-000000.bin
> >> >> >> img-000000.jpg
> >> >> >>
> >> >> >> And the result image looks like this
> >> >> >>
> >> >> >> http://downloads.isee.biz/pub/files/patterns/img-from-sensor.jp
> >> >> >> g
> >> >> >>
> >> >> >> Seems good, so I tried to use following pipeline Sensor -> CCDC ->
> >> >> >> Preview -> Resizer
> >> >> >>
> >> >> >> ./media-ctl -r
> >> >> >> ./media-ctl -l '"mt9v032 3-005c":0->"OMAP3 ISP CCDC":0[1]'
> >> >> >> ./media-ctl -l '"OMAP3 ISP CCDC":2->"OMAP3 ISP preview":0[1]'
> >> >> >> ./media-ctl -l '"OMAP3 ISP preview":1->"OMAP3 ISP
> >> >> >> resizer":0[1]'
> >> >> >> ./media-ctl -l '"OMAP3 ISP resizer":1->"OMAP3 ISP resizer
> >> >> >> output":0[1]'
> >> >> >>
> >> >> >> ./media-ctl -V '"mt9v032 3-005c":0[SGRBG10 752x480]'
> >> >> >> ./media-ctl -V '"OMAP3 ISP CCDC":0 [SGRBG10 752x480]'
> >> >> >> ./media-ctl -V '"OMAP3 ISP CCDC":2 [SGRBG10 752x480]'
> >> >> >> ./media-ctl -V '"OMAP3 ISP preview":1 [UYVY 752x480]'
> >> >> >> ./media-ctl -V '"OMAP3 ISP resizer":1 [UYVY 752x480]'
> >> >> >>
> >> >> >> # Set Test pattern
> >> >> >>
> >> >> >> ./yavta --set-control '0x00981901 1' /dev/v4l-subdev8
> >> >> >>
> >> >> >> ./yavta -f UYVY -s 752x480 --capture=3 --file=img-#.uyvy
> >> >> >> /dev/video6
> >> >> >>
> >> >> >> I used 'convert' program to pass from UYVY to jpg,
> >> >> >>
> >> >> >> $ convert -size 752x480 img-000000.uyvy img-000000.jpg
> >> >> >>
> >> >> >> and the result image looks like this
> >> >> >>
> >> >> >> http://downloads.isee.biz/pub/files/patterns/img-from-resizer.j
> >> >> >> pg
> >> >> >>
> >> >> >> As you can see, the image is wrong and I'm not sure if the problem
> >> >> >> is from the sensor, from the previewer, from the resizer or from my
> >> >> >> conversion. Anyone have idea where should I look ? Or which is the
> >> >> >> source of the problem ?
> >> >> >
> >> >> > Could you please post the output of all the above media-ctl and
> >> >> > yavta runs, as well as the captured raw binary frame ?
> >> >>
> >> >> Of course,
> >> >>
> >> >> The log configuring the pipeline Sensor -> CCDC is
> >> >>
> >> >> http://pastebin.com/WX8ex5x2
> >> >>
> >> >> and the raw image can be found
> >> >>
> >> >> http://downloads.isee.biz/pub/files/patterns/img-000000.bin
> >> >
> >> > It looks like D9 and D8 have trouble keeping their high-level. Possible
> >> > reasons would be conflicts on the signal lines (with something actively
> >> > driving them to a low-level, a pull-down wouldn't have such an effect),
> >> > faulty cable/solder joints (but I doubt that), or sampling the data on
> >> > the wrong edge.
> >>
> >> In that case don't be the first image also wrong ? (the image that
> >> outputs from sensor /dev/video2)
> >
> > Yes, it should be, and
> > http://downloads.isee.biz/pub/files/patterns/img-000000.bin is corrupted.
> > That's the image captured at the CCDC output, isn't it ?
>
> Yes it is.
>
> >> http://downloads.isee.biz/pub/files/patterns/img-from-sensor.jpg
> >
> > How did you capture that one ?
>
> This image is the img-000000.bin (that you say is corrupted) converted
> to RGB using bayer2rgb [2] program. So seems I'm using wrong tools to
> convert images. How you known that this file is corrupted ? Please,
> could you provide the tools that you use ?
I'm using raw2rgbpnm (https://gitorious.org/raw2rgbpnm). If you look at the
binary file in a hex editor you'll see that the MSBs are corrupted, instead of
being stable in the 01 and 02 regions (pixels 256-511 and 512-752 on each
line, so bytes 512-1023 and 1024-1503) they oscillate between 00 and 01, and
00 and 02 respectively.
> >> I'll investigate a bit more following this line.
> >>
> >> > The last option should be easy to test, just change the struct
> >> > isp_v4l2_subdevs_group::bus::parallel::clk_pol field.
> >>
> >> I tested and seems this is not the problem.
> >>
> >> >> And the log configuring the pipeline Sensor -> CCDC -> Previewer ->
> >> >> Resizer is http://pastebin.com/wh5ZJwne and the raw image can be found
> >> >>
> >> >> http://downloads.isee.biz/pub/files/patterns/img-000000.uyvy
> >> >> >>
> >> >> >> [1]
> >> >> >> http://git.linuxtv.org/pinchartl/media.git/shortlog/refs/heads/
> >> >> >> omap3isp-omap3isp-next
> >> >> >> [2] https://github.com/jdthomas/bayer2rgb
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2012-09-25 11:30 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-24 8:33 omap3isp: wrong image after resizer with mt9v034 sensor Enric Balletbò i Serra
2012-09-24 12:39 ` Laurent Pinchart
2012-09-24 13:49 ` Enric Balletbò i Serra
2012-09-25 0:43 ` Laurent Pinchart
2012-09-25 7:44 ` Enric Balletbò i Serra
2012-09-25 10:52 ` Laurent Pinchart
2012-09-25 11:23 ` Enric Balletbò i Serra
2012-09-25 11:31 ` Laurent Pinchart [this message]
2012-09-26 7:57 ` Enric Balletbò i Serra
2012-09-26 8:49 ` Laurent Pinchart
2012-09-26 14:15 ` Enric Balletbò i Serra
2012-09-27 11:19 ` Laurent Pinchart
[not found] ` <CAFqH_5245L5XqEGy=fpR8VNd9EHwUMZFO=p2NoLF4g4J3K0hCg@mail.gmail.com>
2012-09-27 23:32 ` Laurent Pinchart
[not found] ` <CAFqH_52g8nTTDQDJEzx9E9sC5GoQML7bV-hxjA8q4Q2TcDOTYg@mail.gmail.com>
[not found] ` <1378805.eK71Lgs3H4@avalon>
2012-09-28 15:32 ` Enric Balletbò i Serra
2012-10-01 10:25 ` Laurent Pinchart
2012-10-01 10:49 ` Enric Balletbò i Serra
2012-10-01 11:03 ` Laurent Pinchart
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=1982842.IhYcnQa0e6@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=eballetbo@gmail.com \
--cc=linux-media@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.