AnsweredAssumed Answered

Found a bug in the gst-fsl-plugins rev 3.0.1, v4l_source

Question asked by johnw on Jan 23, 2013

I was working with the OV5642 and recently upgraded to the 12.09.01 SDK release.  This release uses the 3.0.1 version of the Gstreamer plugins.  I found that with this new release, the OV5462 was only operating at 15 fps, even though I set it to 30 fps.

 

I found the culprit.  In the file src/misc/v4l_source/src/v4l_source.c, the parameter timeperframe is incorrectly set:

Original:

  parm.parm.capture.timeperframe.numerator = v4l_src->fps_n;

  parm.parm.capture.timeperframe.denominator = v4l_src->fps_d;

 

Since timeperframe is the time between successive frames (period) and fps_n and fps_d are loaded with the numerator and denominator of the frames-per-second, the assignment should be flipped:

 

Should be:

  parm.parm.capture.timeperframe.numerator = v4l_src->fps_d;

  parm.parm.capture.timeperframe.denominator = v4l_src->fps_n;


This was written in the rev 2.0.8 version, so this is a new bug in the 3.0.1 release.  All of the camera drivers take this parameter to calculate their target fps, so this caused the OV5642 to default to the lowest support framerate, which was 15 fps.


Regards,

John

Outcomes