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

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Aldo85
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]
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

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

Olivier Crête-3
On Tue, 2012-03-20 at 17:52 +0100, Aldo Biziak wrote:
> Why??? Which of them is true??

v4l2src uses libv4l which converts to other formats in software. The
real formats from the camera should be the ones on top, so they will be
preferred in GStreamer capabilities negotiations. I would guess that in
your logs, the ones below "image/jpeg" are software-converted.

--
Olivier Crête
[hidden email]

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (205 bytes) Download Attachment