Re: Why is the Y12 support 12-bit grey formats at the CCDC input (Y12) is truncated to Y10 at the CCDC output?

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

 



Hi Laurent,

On Wed, Dec 21, 2011 at 6:55 PM, Laurent Pinchart
<laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
> Hi James,
>
> On Wednesday 21 December 2011 04:06:33 James wrote:
>> On Wed, Dec 21, 2011 at 10:50 AM, James wrote:
>> > On Thu, Dec 15, 2011 at 6:10 PM, Michael Jones wrote:
>> >> Hi James,
>> >>
>> >> Laurent has a program 'media-ctl' to set up the pipeline (see
>> >> http://git.ideasonboard.org/?p=media-ctl.git).  You will find many
>> >> examples of its usage in the archives of this mailing list. It will
>> >> look something like:
>> >> media-ctl -r
>> >> media-ctl -l '"OMAP3 ISP CCDC":1 -> "OMAP3 ISP CCDC output":0 [1]'
>> >> media-ctl -l '"your-sensor-name":0 -> "OMAP3 ISP CCDC":0 [1]'
>> >>
>> >> you will also need to set the formats through the pipeline with
>> >> 'media-ctl --set-format'.
>> >>
>> >> After you use media-ctl to set up the pipeline, you can use yavta to
>> >> capture the data from the CCDC output (for me, this is /dev/video2).
>> >>
>> >>
>> >> -Michael
>> >
>> > I encountered some obstacles with the driver testing of my monochrome
>> > sensor on top of Steve's 3.0-pm branch. An NXP SC16IS750 I2C-UART
>> > bridge is used to 'transform' the sensor into a I2C device.
>> >
>> > The PCLK, VSYNC, HSYNC (640x512, 30Hz, fixed output format) are free
>> > running upon power-on the sensor unlike MT9V032 which uses the XCLKA
>> > to 'power-on/off' it.
>> >
>> > My steps,
>> >
>> > 1) media-ctl -r -l '"mono640":0->"OMAP3 ISP CCDC":0:[1], "OMAP3 ISP
>> > CCDC":1->"OMAP3 ISP CCDC output":0[1]'
>> >
>> > Resetting all links to inactive
>> > Setting up link 16:0 -> 5:0 [1]
>> > Setting up link 5:1 -> 6:0 [1]
>> >
>> > 2) media-ctl -f '"mono640":0[Y12 640x512]", "OMAP3 ISP CCDC":1[Y12
>> > 640x512]'
>> >
>> > Setting up format Y12 640x512 on pad OMAP3 ISP CCDC/0
>> > Setting up format Y12 640x512 on pad OMAP3 ISP CCDC/1
>> >
>> > 3) yavta -p -f Y12 -s 640x512 -n 4 --capture=61 --skip 1 -F `media-ctl
>> > -e "OMAP3 ISP CCDC output"` --file=./DCIM/Y12
>> >
>> > Unsupported video format 'Y12'
>> >
>> > Did I missed something?
>
> I've just pushed a patch to the yavta repository to support Y10 and Y12.
> Please update.
>
>> > What parameters did you supplied to yavta to test the Y10/Y12
>> >
>> > Many thanks in adv.
>> > Sorry if duplicated emails received.
>>
>> I changed the parameters for yavta from "-f Y12" to "-f Y16"
>>
>> yavta -p -f Y16 -s 640x512 -n 2 --capture=10 --skip 5 -F `media-ctl -e
>> "OMAP3 ISP CCDC output"` --file=./DCIM/Y16
>>
>> and there are 2 chunks of message at the console now and it ended with
>> "Unable to request buffers: Invalid argument (22).".
>>
>> I've attached the logfile here. (mono640.log)
>>
>> Hope you can assist me to grab the raw Y12 data to file.
>
> --
> Regards,
>
> Laurent Pinchart

Tried the new yavta but encountered a different situation.

yavta -p -f Y12 -s 640x512 -n 2 --capture=10 --skip 5 -F `media-ctl -e
"OMAP3 ISP CCDC output"` --file=./DCIM/Y12

yavta will hang for infinite time and only Ctrl+C will break out of
the wait and a new error message appears.

yavta: video_do_capture:  calling ioctl..
^C
omap3isp omap3isp: CCDC stop timeout!

I placed some debugging printf() and yavta wait at

ret = ioctl(dev->fd, VIDIOC_DQBUF, &buf);

Attached is the logfile (mono640.yavta-y12.1.log)

What should be the remedies?

Many thanks in adv.
-- 
Regards,
James
root@overo:~# lsmod
Module                  Size  Used by
bufferclass_ti          4976  0 
omaplfb                 8280  0 
pvrsrvkm              155471  2 bufferclass_ti,omaplfb
ipv6                  229162  18 
mono640                10309  1 
libertas_sdio          14851  0 
libertas               92190  1 libertas_sdio
omap3_isp             106957  0 
cfg80211              161767  1 libertas
v4l2_common             8885  2 mono640,omap3_isp
videodev               78776  3 mono640,omap3_isp,v4l2_common
media                  12192  3 mono640,omap3_isp,videodev
lib80211                5435  1 libertas
firmware_class          6327  2 libertas_sdio,libertas
ads7846                10524  0 
root@overo:~# media-ctl -r -v -l '"mono640":0->"OMAP3 ISP CCDC":0[1], "OMAP3 ISP
 CCDC":1->"OMAP3 ISP CCDC output":0[1]'
Opening media device /dev/media0
Enumerating entities
Found 16 entities
Enumerating pads and links
Resetting all links to inactive
Setting up link 16:0 -> 5:0 [1]
Setting up link 5:1 -> 6:0 [1]
root@overo:~# media-ctl -v -f '"mono640":0[Y12 640x512], "OMAP3 ISP CCDC":1[Y12 
640x512]'
Opening media device /dev/media0
Enumerating entities
Found 16 entities
Enumerating pads and links
Setting up format Y12 640x512 on pad mono640 3-004d/0
overo: setting xclk to 25000000 hz
Format set: Y12 640x512
Setting up format Y12 640x512 on pad OMAP3 ISP CCDC/0
Format set: Y12 640x512
overo: setting xclk to 0 hz
Setting up format Y12 640x512 on pad OMAP3 ISP CCDC/1
Format set: Y12 640x512
root@overo:~# yavta -p -f Y12 -s 640x512 -n 2 --capture=10 --skip 5 -F `media-ct
l -e "OMAP3 ISP CCDC output"` --file=./DCIM/Y12
overo: setting xclk to 25000000 hz
Device /dev/video2 opened.
Device `OMAP3 ISP CCDC output' on `media' is a video capture device.
Video format set: Y12 (20323159) 640x512 buffer size 655360
Video format: Y12 (20323159) 640x512 buffer size 655360
2 buffers requested.
length: 655360 offset: 0
MMAP: Buffer 0 mapped at address 0x4010b000.
length: 655360 offset: 655360
MMAP: Buffer 1 mapped at address 0x40319000.
Press enter to start capture
yavta: video_do_capture:  calling ioctl..
^C
omap3isp omap3isp: CCDC stop timeout!


[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