why does v4l2src show more camera output formats than v4l-util ???

Aldo Biziak aldobiziak at gmail.com
Tue Mar 20 09:52:47 PDT 2012


Hi everybody!!
If I probe what kind of outputs are available with gstreamer (with the
following):
gst-launch-0.10 --gst-debug=3 v4l2src device=/dev/video0 num-buffers=1
! ffmpegcolorspace ! xvimagesink 2>&1 | grep probed
Command returns many RGB and YUV formats (see [1]).

But if I run :
v4l-info /dev/video0
this last returns only YUV and MJPEG (see[2]).
Why??? Which of them is true??

Thank you

[1]
probed caps: video/x-raw-yuv, format=(fourcc)YUY2, width=(int)1600,
height=(int)1200, interlaced=(boolean)false, framerate=(fraction){ 5/1
}; video/x-raw-yuv, format=(fourcc)YUY2, width=(int)960,
height=(int)720, interlaced=(boolean)false, framerate=(fraction){
10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)YUY2, width=(int)800,
height=(int)600, interlaced=(boolean)false, framerate=(fraction){
25/1, 20/1, 15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)YUY2,
width=(int)640, height=(int)480, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)YUY2, width=(int)352, height=(int)288,
interlaced=(boolean)false, framerate=(fraction){ 30/1, 25/1, 20/1,
15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)YUY2,
width=(int)320, height=(int)240, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)YUY2, width=(int)176, height=(int)144,
interlaced=(boolean)false, framerate=(fraction){ 30/1, 25/1, 20/1,
15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)YUY2,
width=(int)160, height=(int)120, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; image/jpeg,
width=(int)960, height=(int)720, interlaced=(boolean)false,
framerate=(fraction){ 15/1, 10/1, 5/1 }; image/jpeg, width=(int)800,
height=(int)600, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; image/jpeg, width=(int)640,
height=(int)480, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; image/jpeg, width=(int)352,
height=(int)288, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; image/jpeg, width=(int)320,
height=(int)240, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; image/jpeg, width=(int)176,
height=(int)144, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; image/jpeg, width=(int)160,
height=(int)120, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; video/x-raw-yuv,
format=(fourcc)I420, width=(int)1600, height=(int)1200,
interlaced=(boolean)false, framerate=(fraction){ 5/1 };
video/x-raw-yuv, format=(fourcc)I420, width=(int)960, height=(int)720,
interlaced=(boolean)false, framerate=(fraction){ 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)I420, width=(int)800, height=(int)600,
interlaced=(boolean)false, framerate=(fraction){ 30/1, 25/1, 20/1,
15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)I420,
width=(int)640, height=(int)480, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)I420, width=(int)352, height=(int)288,
interlaced=(boolean)false, framerate=(fraction){ 30/1, 25/1, 20/1,
15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)I420,
width=(int)320, height=(int)240, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)I420, width=(int)176, height=(int)144,
interlaced=(boolean)false, framerate=(fraction){ 30/1, 25/1, 20/1,
15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)I420,
width=(int)160, height=(int)120, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)YV12, width=(int)1600,
height=(int)1200, interlaced=(boolean)false, framerate=(fraction){ 5/1
}; video/x-raw-yuv, format=(fourcc)YV12, width=(int)960,
height=(int)720, interlaced=(boolean)false, framerate=(fraction){
15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)YV12,
width=(int)800, height=(int)600, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)YV12, width=(int)640, height=(int)480,
interlaced=(boolean)false, framerate=(fraction){ 30/1, 25/1, 20/1,
15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)YV12,
width=(int)352, height=(int)288, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)YV12, width=(int)320, height=(int)240,
interlaced=(boolean)false, framerate=(fraction){ 30/1, 25/1, 20/1,
15/1, 10/1, 5/1 }; video/x-raw-yuv, format=(fourcc)YV12,
width=(int)176, height=(int)144, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
video/x-raw-yuv, format=(fourcc)YV12, width=(int)160, height=(int)120,
interlaced=(boolean)false, framerate=(fraction){ 30/1, 25/1, 20/1,
15/1, 10/1, 5/1 }; 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, width=(int)1600, height=(int)1200,
interlaced=(boolean)false, framerate=(fraction){ 5/1 };
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,
width=(int)960, height=(int)720, interlaced=(boolean)false,
framerate=(fraction){ 15/1, 10/1, 5/1 }; 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, width=(int)800,
height=(int)600, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; 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, width=(int)640,
height=(int)480, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; 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, width=(int)352,
height=(int)288, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; 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, width=(int)320,
height=(int)240, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; 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, width=(int)176,
height=(int)144, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; 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, width=(int)160,
height=(int)120, interlaced=(boolean)false, framerate=(fraction){
30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }; 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, width=(int)1600,
height=(int)1200, interlaced=(boolean)false, framerate=(fraction){ 5/1
}; 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, width=(int)960, height=(int)720,
interlaced=(boolean)false, framerate=(fraction){ 15/1, 10/1, 5/1 };
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,
width=(int)800, height=(int)600, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
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,
width=(int)640, height=(int)480, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
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,
width=(int)352, height=(int)288, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
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,
width=(int)320, height=(int)240, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
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,
width=(int)176, height=(int)144, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 };
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,
width=(int)160, height=(int)120, interlaced=(boolean)false,
framerate=(fraction){ 30/1, 25/1, 20/1, 15/1, 10/1, 5/1 }

[2]
video capture
    VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE)
	index                   : 0
	type                    : VIDEO_CAPTURE
	flags                   : 1
	description             : "MJPEG"
	pixelformat             : 0x47504a4d [MJPG]
    VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE)
	index                   : 1
	type                    : VIDEO_CAPTURE
	flags                   : 0
	description             : "YUV 4:2:2 (YUYV)"
	pixelformat             : 0x56595559 [YUYV]


More information about the gstreamer-devel mailing list