Hello, I bought a sabre light from boundary devices (BD-SL-i.MX6) and a parallel camera ov5642.
The camera works well at 30 fps for resolutions up to 720p, but when I try to run at 1080p I am able to get onyly 15 fps.
The following pipeline works:
gst-launch mfw_v4lsrc device=/dev/video0 capture-mode=5 fps-n=15 ! vpuenc codec=12 ! multipartmux ! tcpserversink host=192.168.103.59 port=5001
but this other one does not work
root@nitrogen6x:~# gst-launch mfw_v4lsrc device=/dev/video0 capture-mode=5 fps-n=30 ! vpuenc codec=12 ! multipartmux ! tcpserversink host=192.168.103.59 port=5001
MFW_GST_V4LSRC_PLUGIN 3.0.11 build on Aug 25 2014 14:58:35.
Setting pipeline to PAUSED ...
[INFO] Product Info: i.MX6Q/D/S
vpuenc versions :)
plugin: 3.0.11
wrapper: 1.0.46(VPUWRAPPER_ARM_LINUX Build on Aug 25 2014 14:52:13)
vpulib: 5.4.23
firmware: 3.1.1.46056
ERROR: Pipeline doesn't want to pause.
Setting pipeline to NULL ...
Freeing pipeline ...
root@nitrogen6x:~#
From the kernel I get this error
mxc_v4l2_s_param: vidioc_int_s_parm returned an error -22
Is someone able to acquire video from the parallel camera at 1080p 30 fps?
Solved! Go to Solution.
Hi Ottavio,
I'm not sure what decision drove the 15fps limit. It could be that cabling or specifics of the camera driver used by Freescale drove that decision.
I believe that 30fps is attainable, but adjusting the reg/value pairs is time consuming at best, and requires documentation from Omnivision that is only available under NDA. The documentation is also quite sparse regarding all of the variables used to generate various resolutions and clocks.
I did see some code in the main-line kernel a long time ago that attempted to generalize the process and achieve truly variable resolutions and frame rates, but I don't have a reference. Integrating with the Freescale driver is likely to be quite a big effort.
Hi Ottavio,
Thanks for the order.
The OV5642 camera driver only supports 15fps. If you look here in the camera driver, you'll see the 15fps register settings:
linux-imx6/ov5642.c at boundary-imx_3.10.17_1.0.0_ga · boundarydevices/linux-imx6 · GitHub
And the 30fps entry in this table is blank:
The OV5640 (MIPI) camera does support 30fps:
linux-imx6/ov5640_mipi.c at boundary-imx_3.10.17_1.0.0_ga · boundarydevices/linux-imx6 · GitHub
Thank you Eric for your answer.
Do you think it is possible to patch the driver to add support for 1080p 30 fps? Or is there any physical reason behind the 15fps limit?
Further more, where can I find some info to understand the inhalt of the structs reg_value used in the driver?
Hi Ottavio,
I'm not sure what decision drove the 15fps limit. It could be that cabling or specifics of the camera driver used by Freescale drove that decision.
I believe that 30fps is attainable, but adjusting the reg/value pairs is time consuming at best, and requires documentation from Omnivision that is only available under NDA. The documentation is also quite sparse regarding all of the variables used to generate various resolutions and clocks.
I did see some code in the main-line kernel a long time ago that attempted to generalize the process and achieve truly variable resolutions and frame rates, but I don't have a reference. Integrating with the Freescale driver is likely to be quite a big effort.
Hi Eric,
I am trying to set the exposure values based on the Android API on Ov5640 MIPI on IMX6 board and I did changes based on the response from Alejandro (as below)
https://community.freescale.com/message/503821#503821.
case V4L2_CID_GAIN:
OV5640_set_gain16( (__s32)vc->value);
break;
but seems there is no impact on the camera exposure when I change values using Android API. I posted the issue in the Freescale communities and received below response, could you please assist me in implementing the Camera Exposure?
https://community.freescale.com/thread/366940
Thanks,
Sreekanth
ok, one last question. do you know any other parallel camera that can provide 1080p 30 fps compatible with the sabre light? I'd be happy to buy it and not to go crazy with the driver of the ov5642.
Thank you
Ottavio
Hi Ottavio,
Unfortunately, I'm not aware of another parallel camera module that does 1080p30.
What's driving the need for a parallel interface?
I also looked for one by asking here and we do not know of any other, sorry for that.
Can you use MIPI? Our MIPI camera module does support 1080P30.