12-bit bayer support in v4l2src ?

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

12-bit bayer support in v4l2src ?

Philippe De Muyter
Hi,

I try to use a 12-bit bayer sensor in a gstreamer pipe-line, but even
the simplest pipeline

        gst-launch-1.0 v4l2src ! fakesink

fails with the following error message :

        Tried to capture in YU12, but device returned format RG12

This is on Ubuntu 16.04, with gstreamer 1.8.3, and inspecting v4l2src
answers :

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ...
      video/x-bayer
                 format: { bggr, gbrg, grbg, rggb }
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 2147483647/1 ]

Has v4l2src evolved in newer versions to support RG12 ?

Philippe

--
Philippe De Muyter +32 2 6101532 Macq SA rue de l'Aeronef 2 B-1140 Bruxelles
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: 12-bit bayer support in v4l2src ?

Edgar Thier
Hi,

At this point in time gstreamer has no support
for bayer patterns other than 8-bit.

You can state the state of this situation here:
https://bugzilla.gnome.org/show_bug.cgi?id=693666

Please be aware that also bayer2rgb would require
support for bayer 12 for gstreamer to be useful to you.

Regards,

Edgar
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: 12-bit bayer support in v4l2src ?

Nicolas Dufresne-5
In reply to this post by Philippe De Muyter


Le ven. 22 juin 2018 03:57, Philippe De Muyter <[hidden email]> a écrit :
Hi,

I try to use a 12-bit bayer sensor in a gstreamer pipe-line, but even
the simplest pipeline

        gst-launch-1.0 v4l2src ! fakesink

fails with the following error message :

        Tried to capture in YU12, but device returned format RG12

This is on Ubuntu 16.04, with gstreamer 1.8.3, and inspecting v4l2src
answers :

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ...
      video/x-bayer
                 format: { bggr, gbrg, grbg, rggb }
                  width: [ 1, 32768 ]
                 height: [ 1, 32768 ]
              framerate: [ 0/1, 2147483647/1 ]

Has v4l2src evolved in newer versions to support RG12 ?

Only 8bit Bayer are currently mapped in v4l2src code. Feel free to propose more. For 10/12 bit Bayer, search bugzilla first, as more effort is required.


Philippe

--
Philippe De Muyter +32 2 6101532 Macq SA rue de l'Aeronef 2 B-1140 Bruxelles
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: 12-bit bayer support in v4l2src ?

Josh Doe
In reply to this post by Philippe De Muyter
On Fri, Jun 22, 2018 at 4:05 AM Philippe De Muyter <[hidden email]> wrote:
> I try to use a 12-bit bayer sensor in a gstreamer pipe-line, but even
> the simplest pipeline
>
> [...]

> Has v4l2src evolved in newer versions to support RG12 ?

First caps must be settled on, see here as Edgar pointed out:
https://bugzilla.gnome.org/show_bug.cgi?id=693666

Then v4l2src must support these caps and associated data layout. No
associated ticket for this yet.

Then bayer2rgb *could* be extended, which is covered in this bug:
https://bugzilla.gnome.org/show_bug.cgi?id=607342

However, if you don't need ARGB64, you really just want to convert
from 12-bit Bayer to 8-bit, and can use the existing bayer2rgb, so you
only need to do the first two things listed above. To convert from 12-
to 8-bit I capssetter to/from GRAY16 and use my videolevels element
which uses the image's histogram to retain the most image content:
https://github.com/joshdoe/gst-plugins-vision/blob/master/gst/videoadjust/gstvideolevels.c

It's been on my TODO list a long time to work on this high bit depth
Bayer business, but it keeps on being shifted down the road.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel