[gst-devel] videoscale fails with v4l2src

Zheng, Huan huan.zheng at intel.com
Thu May 21 03:27:11 CEST 2009


I spent some time looked into it, hope my findings can help you or help somebody else to help you. :)
I use <<mywords>> below. To make it easy read, I copy it directly below:
<<This log indicates: Your V4l2 driver only support 2 formats by now>>
<<This log indicates: calling to v4l2_ioctl (fd, VIDIOC_ENUM_FRAMESIZES, &size) failed>>
<<Above log indicates: V4l2src got two caps, one is RGB4, width range from 48 to 1024, height range from 32 to 768, the other is RGBP, width range from 48 to 1024, height range from 32 to 768>>

Your driver doesn't implement ENUM_FRAMESIZES ioctl, so V4l2Src uses 
v4l2_ioctl (fd, VIDIOC_TRY_FMT, &fmt);
v4l2_ioctl (fd, VIDIOC_S_FMT, &fmt);
to probe formats that maybe applied to driver. That may not be accurate if your driver's implementation is not complete or not good.

V4l2src works well on many other places, so I doubt it's your driver's issue. And perhaps related to your resolution.

Perhaps you could try 
`gst-launch v4l2src ! video/x-raw-rgb,bpp=16,depth=16,width=640,height=480 ! ffmpegcolorspace ! videoscale ! fakesink`

GST_DEBUG=v4l2src*:5 Gives me the following:
0:00:02.871845000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:553:gst_v4l2src_fill_format_list:<v4l2src0> got 2
format(s)
<<This log indicates: Your V4l2 driver only support 2 formats by now>>
0:00:02.872301000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:805:gst_v4l2src_probe_caps_for_format:<v4l2src0>
Enumerating frame sizes
0:00:02.872720000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:899:gst_v4l2src_probe_caps_for_format:<v4l2src0>
Failed to enumerate frame sizes for pixelformat RGB4 (Invalid
argument)
<<This log indicates: calling to v4l2_ioctl (fd, VIDIOC_ENUM_FRAMESIZES, &size) failed>>
0:00:02.873073000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1563:gst_v4l2src_get_nearest_size:<v4l2src0> getting
nearest size to 1x1 with format RGB4
0:00:02.873522000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1617:gst_v4l2src_get_nearest_size:<v4l2src0> got
nearest size 48x32
0:00:02.873857000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1563:gst_v4l2src_get_nearest_size:<v4l2src0> getting
nearest size to 32768x32768 with format RGB4
0:00:02.874219000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1617:gst_v4l2src_get_nearest_size:<v4l2src0> got
nearest size 1024x768
0:00:02.874737000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:805:gst_v4l2src_probe_caps_for_format:<v4l2src0>
Enumerating frame sizes
0:00:02.875158000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:899:gst_v4l2src_probe_caps_for_format:<v4l2src0>
Failed to enumerate frame sizes for pixelformat RGBP (Invalid
argument)
0:00:03.208595000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1563:gst_v4l2src_get_nearest_size:<v4l2src0> getting
nearest size to 1x1 with format RGBP
0:00:03.209008000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1617:gst_v4l2src_get_nearest_size:<v4l2src0> got
nearest size 48x32
0:00:03.209339000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1563:gst_v4l2src_get_nearest_size:<v4l2src0> getting
nearest size to 32768x32768 with format RGBP
0:00:03.210053000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1617:gst_v4l2src_get_nearest_size:<v4l2src0> got
nearest size 1024x768
<<Above log indicates: V4l2src got two caps, one is RGB4, width range from 48 to 1024, height range from 32 to 768, the other is RGBP, width range from 48 to 1024, height range from 32 to 768>>
Best Regards, Zheng, Huan(ZBT)
OTC/SSD/SSG
Intel Asia-Pacific Research & Developement Ltd
Tel: 021-6116 6435
Inet: 8821 6435
Cub: 3W035
-----Original Message-----
From: Gabriel Johnson [mailto:johnsoga at gmail.com] 
Sent: Thursday, May 21, 2009 4:25 AM
To: gstreamer-devel at lists.sourceforge.net
Subject: [gst-devel] videoscale fails with v4l2src

Hello,

I am trying to scale a v4l2src but when I add videoscale to the path
something doesn't work correctly.  When I use the command
`gst-launch v4l2src !
video/x-raw-rgb,bpp=16,depth=16,width=720,height=512 ! fakesink`
everything works fine.  When I try and use the command
`gst-launch v4l2src !
video/x-raw-rgb,bpp=16,depth=16,width=720,height=512 ! videoscale !
fakesink`
I get the error "ERROR: from element
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not negotiate
format".

GST_DEBUG=GST_PAD*:5 gives me the following messages pertaining to the v4l2src
0:00:03.207476000  2122 0x10046050 DEBUG             GST_PADS
gstpad.c:851:gst_pad_activate_push:<capsfilter0:sink> trying to set
activated in push mode
0:00:03.207857000  2122 0x10046050 DEBUG             GST_PADS
gstpad.c:871:gst_pad_activate_push:<capsfilter0:sink> activating pad
from none
0:00:03.208229000  2122 0x10046050 DEBUG             GST_PADS
gstpad.c:581:pre_activate:<capsfilter0:sink> setting ACTIVATE_MODE 1,
unset flushing
0:00:03.208627000  2122 0x10046050 DEBUG             GST_PADS
gstpad.c:907:gst_pad_activate_push:<capsfilter0:sink> activated in
push mode
0:00:03.209278000  2122 0x10046050 DEBUG             GST_PADS
gstpad.c:658:gst_pad_set_active:<v4l2src0:src> activating pad from
none
0:00:03.209663000  2122 0x10046050 DEBUG             GST_PADS
gstpad.c:851:gst_pad_activate_push:<v4l2src0:src> trying to set
activated in push mode
0:00:03.210030000  2122 0x10046050 DEBUG             GST_PADS
gstpad.c:871:gst_pad_activate_push:<v4l2src0:src> activating pad from
none
0:00:03.210379000  2122 0x10046050 DEBUG             GST_PADS
gstpad.c:581:pre_activate:<v4l2src0:src> setting ACTIVATE_MODE 1,
unset flushing
0:00:03.214782000  2122 0x10046050 INFO              GST_PADS
gstpad.c:927:gst_pad_activate_push:<v4l2src0:src> failed to activate
in push mode
0:00:03.215182000  2122 0x10046050 WARN              GST_PADS
gstpad.c:685:gst_pad_set_active:<v4l2src0:src> Failed to activate pad

GST_DEBUG=v4l2src*:5 Gives me the following:
0:00:02.871845000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:553:gst_v4l2src_fill_format_list:<v4l2src0> got 2
format(s)
0:00:02.872301000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:805:gst_v4l2src_probe_caps_for_format:<v4l2src0>
Enumerating frame sizes
0:00:02.872720000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:899:gst_v4l2src_probe_caps_for_format:<v4l2src0>
Failed to enumerate frame sizes for pixelformat RGB4 (Invalid
argument)
0:00:02.873073000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1563:gst_v4l2src_get_nearest_size:<v4l2src0> getting
nearest size to 1x1 with format RGB4
0:00:02.873522000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1617:gst_v4l2src_get_nearest_size:<v4l2src0> got
nearest size 48x32
0:00:02.873857000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1563:gst_v4l2src_get_nearest_size:<v4l2src0> getting
nearest size to 32768x32768 with format RGB4
0:00:02.874219000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1617:gst_v4l2src_get_nearest_size:<v4l2src0> got
nearest size 1024x768
0:00:02.874737000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:805:gst_v4l2src_probe_caps_for_format:<v4l2src0>
Enumerating frame sizes
0:00:02.875158000  2133 0x10046050 DEBUG              v4l2src
v4l2src_calls.c:899:gst_v4l2src_probe_caps_for_format:<v4l2src0>
Failed to enumerate frame sizes for pixelformat RGBP (Invalid
argument)
0:00:03.208595000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1563:gst_v4l2src_get_nearest_size:<v4l2src0> getting
nearest size to 1x1 with format RGBP
0:00:03.209008000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1617:gst_v4l2src_get_nearest_size:<v4l2src0> got
nearest size 48x32
0:00:03.209339000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1563:gst_v4l2src_get_nearest_size:<v4l2src0> getting
nearest size to 32768x32768 with format RGBP
0:00:03.210053000  2133 0x10046050 LOG                v4l2src
v4l2src_calls.c:1617:gst_v4l2src_get_nearest_size:<v4l2src0> got
nearest size 1024x768

I know that the v4l2 driver I am using isn't very complete that is why
I specify the cap filter to define what the input format is.  Does
anyone have any ideas about what needs to be done to scale a raw video
source?

Thanks,
Gabe

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list