Re: S3C244X/S3C64XX SoC camera host interface driver questions

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

 



Hi.

Patch v2 attached. Comments taken into account.

>> I often get "VIDIOC_QUERYCAP: failed: Inappropriate ioctl for device"
> This is an issue in the v4l2-ctl, it is going to be fixed by adding
> VIDIOC_SUBDEV_QUERYCAP ioctl for subdevs. It has been just discussed today.
> I guess you get it when running v4l2-ctl on /dev/v4l-subdev* ?
Yes.
>> or "system error: Inappropriate ioctl for device"
> I think this one is caused by unimplemented VIDIOC_G/S_PARM ioctls
> at the s3c-camif driver.
>> Is it because of not implemented set/get framerate func? How this
> Yes, I think so. ioctls as above.
Ok. I'll implement this ioctls and see what happens.

>> should work? I mean framerate heavy depend of sensor's settings. So
>> set/get framerate call to fimc should get/set framerate from sensor.
>> What is mechanism of such things?
>
>
> With user space subdev API one should control frame interval directly
> on the sensor subdev device node [1]. For Gstreamer to work with
> VIDIOC_G/S_PARM ioctls we need a dedicated v4l2 library (possibly with
> a plugin for s3c-camif, but that shouldn't be needed since it is very
> simple driver) that will translate those video node ioctls into the
> subdev node ioctls [2]. Unfortunately such library is still not available.
>
>
>> And same question about synchronizing format of sensor and FIMC pads.
>> I make ov2640 work, but if did not call media-ctl for sensor, format
>> of FIMC sink pad and format of sensor source pad different. I think I
>> missed something, but reading other sources did not help.
>
>
> As I explained previously, s3c-fimc is supposed to synchronize format
> with the sensor subdev. Have you got pad level get_fmt callback
> implemented in the ov2640 driver ?
Yes.
> Could you post your 'media-ctl -p' output, run right after the system boot ?
Looks like I messed up, after starting formats are the same:

Opening media device /dev/media0ov2640: ov2640_open:1381

Enumerating entities
Found 4 entities
Enumerating pads and links
Media controller API version 0.0.0

Media device information
------------------------
driver          s3c-camif
model           SAMSUNG S3C6410 CAMIF
serial
bus info        platform:%s
hw revision     0x32
driver version  0.0.0

Device topology
- entity 1: ov2640 (1 pad, 1 link)
            type V4L2 subdev subtype Sensor
            device node name /dev/v4l-subdev0
        pad0: Source [YUYV2X8 176x144]
                -> "S3C-CAMIF":0 [ENABLED,IMMUTABLE]

- entity 2: S3C-CAMIF (3 pads, 3 links)
            type V4L2 subdev subtype Unknown
            device node name /dev/v4l-subdev1
        pad0: Sink [YUYV2X8 176x144 (0,0)/176x144]
                <- "ov2640":0 [ENABLED,IMMUTABLE]
        pad1: Source [YUYV2X8 176x144]
                -> "camif-codec":0 [ENABLED,IMMUTABLE]
        pad2: Source [YUYV2X8 176x144]
                -> "camif-preview":0 [ENABLED,IMMUTABLE]

- entity 3: camif-codec (1 pad, 1 link)
            type Node subtype V4L
            device node name /dev/video0
        pad0: Sink
                <- "S3C-CAMIF":1 [ENABLED,IMMUTABLE]

- entity 4: camif-preview (1 pad, 1 link)
            type Node subtype V4L
            device node name /dev/video1
        pad0: Sink
                <- "S3C-CAMIF":2 [ENABLED,IMMUTABLE]

Attachment: 0001-ARM-S3C-CAMIF-add-image-effect-controls.patch
Description: Binary data


[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