#10106 NORM 1.5-sof: Camera driver v4l2 caps only advertise 30fps

Zarro Boogs per Child bugtracker at laptop.org
Wed Apr 7 16:42:21 EDT 2010


#10106: Camera driver v4l2 caps only advertise 30fps
--------------------+-------------------------------------------------------
 Reporter:  cjb     |                 Owner:  corbet             
     Type:  defect  |                Status:  new                
 Priority:  normal  |             Milestone:  1.5-software-update
Component:  kernel  |               Version:  not specified      
 Keywords:          |           Next_action:  never set          
 Verified:  0       |   Deployment_affected:                     
Blockedby:          |              Blocking:                     
--------------------+-------------------------------------------------------
 Hi,

 I'm trying to get gstreamer to negotiate fewer than 30fps when recording
 video, but attempts fail because 30000/1001 is the only framerate offered
 by the v4l2 caps, as below:

 {{{
 0:00:00.322159460   664  0x8fdb050 INFO                 v4l2src
 gstv4l2src.c:572:gst_v4l2src_get_caps:<v4l2src0> probed caps: video/x-raw-
 yuv, format=(fourcc)YUY2, framerate=(fraction)30000/1001, width=(int)[
 176, 640 ], height=(int)[ 144, 480 ]; video/x-raw-yuv,
 format=(fourcc)I420, framerate=(fraction)30000/1001, width=(int)[ 176, 640
 ], height=(int)[ 144, 480 ]; video/x-raw-yuv, format=(fourcc)YV12,
 framerate=(fraction)30000/1001, width=(int)[ 176, 640 ], height=(int)[
 144, 480 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24,
 red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680,
 endianness=(int)4321, framerate=(fraction)30000/1001, width=(int)[ 176,
 640 ], height=(int)[ 144, 480 ]; video/x-raw-rgb, bpp=(int)24,
 depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280,
 blue_mask=(int)255, endianness=(int)4321, framerate=(fraction)30000/1001,
 width=(int)[ 176, 640 ], height=(int)[ 144, 480 ]; video/x-raw-rgb,
 bpp=(int)16, depth=(int)16, red_mask=(int)63488, green_mask=(int)2016,
 blue_mask=(int)31, endianness=(int)1234, framerate=(fraction)30000/1001,
 width=(int)[ 176, 640 ], height=(int)[ 144, 480 ]; video/x-raw-bayer,
 framerate=(fraction)30000/1001, width=(int)[ 176, 640 ], height=(int)[
 144, 480 ]
 }}}

 Attempting to choose an alternate framerate fails:

 {{{
 [olpc at xo-a7-2c-75 ~]$ gst-launch v4l2src ! 'video/x-raw-
 yuv,framerate=(fraction)5000/1001' ! xvimagesink
 Setting pipeline to PAUSED ...
 ERROR: Pipeline doesn't want to pause.
 ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not
 negotiate format
 Additional debug info:
 gstbasesrc.c(2584): gst_base_src_start ():
 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
 Check your filtered caps, if any
 Setting pipeline to NULL ...
 Freeing pipeline ...
 [olpc at xo-a7-2c-75 ~]$
 }}}

 At least for testing, it would be ideal if the driver offered framerates
 in 5fps increments up to 30fps.

-- 
Ticket URL: <http://dev.laptop.org/ticket/10106>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list