Message ID | 20201228164003.53051-2-jacopo@jmondi.org |
---|---|
State | Accepted |
Commit | 5d3d0dcedb36f991b7f395c15b9112694f44d87d |
Delegated to: | Jacopo Mondi |
Headers | show |
Series |
|
Related | show |
Hi Jacopo, On Mon, Dec 28, 2020 at 05:39:59PM +0100, Jacopo Mondi wrote: > Define the 'ColorFilterArrangement' draft property. The property is > currently identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> > --- > src/libcamera/property_ids.yaml | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml > index 64e88f0361d6..104e9aaf4fa3 100644 > --- a/src/libcamera/property_ids.yaml > +++ b/src/libcamera/property_ids.yaml > @@ -678,4 +678,33 @@ controls: > \todo Turn this property into a "maximum control value" for the > ScalerCrop control once "dynamic" controls have been implemented. > > + # ---------------------------------------------------------------------------- > + # Draft properties section > + > + - ColorFilterArrangement: > + type: int32_t > + draft: true > + description: | > + The arrangement of color filters on sensor; represents the colors in the > + top-left 2x2 section of the sensor, in reading order. Currently > + identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > + enum: > + - name: RGGB > + value: 0 > + description: RGGB Bayer pattern > + - name: GRBG > + value: 1 > + description: GRBG Bayer pattern > + - name: GBRG > + value: 2 > + description: GBRG Bayer pattern > + - name: BGGR > + value: 3 > + description: BGGR Bayer pattern > + - name: RGB > + value: 4 > + description: | > + Sensor is not Bayer; output has 3 16-bit values for each pixel, > + instead of just 1 16-bit value per pixel. > + > ... > -- > 2.29.2 > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
Hi Jacopo Thanks for this patch! Just one little question - I suppose Android (and libcamera) have some other way of signalling a monochrome sensor... I think I might have expected to find a "monochrome/non-Bayer" option in the list? Best regards David On Tue, 29 Dec 2020 at 04:56, <paul.elder@ideasonboard.com> wrote: > > Hi Jacopo, > > On Mon, Dec 28, 2020 at 05:39:59PM +0100, Jacopo Mondi wrote: > > Define the 'ColorFilterArrangement' draft property. The property is > > currently identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> > > Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> > > > --- > > src/libcamera/property_ids.yaml | 29 +++++++++++++++++++++++++++++ > > 1 file changed, 29 insertions(+) > > > > diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml > > index 64e88f0361d6..104e9aaf4fa3 100644 > > --- a/src/libcamera/property_ids.yaml > > +++ b/src/libcamera/property_ids.yaml > > @@ -678,4 +678,33 @@ controls: > > \todo Turn this property into a "maximum control value" for the > > ScalerCrop control once "dynamic" controls have been implemented. > > > > + # ---------------------------------------------------------------------------- > > + # Draft properties section > > + > > + - ColorFilterArrangement: > > + type: int32_t > > + draft: true > > + description: | > > + The arrangement of color filters on sensor; represents the colors in the > > + top-left 2x2 section of the sensor, in reading order. Currently > > + identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > + enum: > > + - name: RGGB > > + value: 0 > > + description: RGGB Bayer pattern > > + - name: GRBG > > + value: 1 > > + description: GRBG Bayer pattern > > + - name: GBRG > > + value: 2 > > + description: GBRG Bayer pattern > > + - name: BGGR > > + value: 3 > > + description: BGGR Bayer pattern > > + - name: RGB > > + value: 4 > > + description: | > > + Sensor is not Bayer; output has 3 16-bit values for each pixel, > > + instead of just 1 16-bit value per pixel. > > + > > ... > > -- > > 2.29.2 > > > > _______________________________________________ > > libcamera-devel mailing list > > libcamera-devel@lists.libcamera.org > > https://lists.libcamera.org/listinfo/libcamera-devel > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
Hi David, On Tue, Dec 29, 2020 at 09:25:14AM +0000, David Plowman wrote: > Hi Jacopo > > Thanks for this patch! Just one little question - I suppose Android > (and libcamera) have some other way of signalling a monochrome > sensor... I think I might have expected to find a > "monochrome/non-Bayer" option in the list? Please bare in mind this is a draft property, whose main purpose is to temporary close the gap with Android and its definition come straight from there. This property only makes sensor for RAW sensors, although there's a more generic 'RGB' value that sounds like a catch-all for non-Bayer sensors. Simply put: non-RAW sensor won't register this property at all. When we'll un-draft the property we can discuss if that makes sense at all as a choice, or we might want to have a more generic definition. Do you perhaps have any usage for such a more generic property in mind ? > > Best regards > David > > On Tue, 29 Dec 2020 at 04:56, <paul.elder@ideasonboard.com> wrote: > > > > Hi Jacopo, > > > > On Mon, Dec 28, 2020 at 05:39:59PM +0100, Jacopo Mondi wrote: > > > Define the 'ColorFilterArrangement' draft property. The property is > > > currently identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > > > > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> > > > > Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> > > > > > --- > > > src/libcamera/property_ids.yaml | 29 +++++++++++++++++++++++++++++ > > > 1 file changed, 29 insertions(+) > > > > > > diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml > > > index 64e88f0361d6..104e9aaf4fa3 100644 > > > --- a/src/libcamera/property_ids.yaml > > > +++ b/src/libcamera/property_ids.yaml > > > @@ -678,4 +678,33 @@ controls: > > > \todo Turn this property into a "maximum control value" for the > > > ScalerCrop control once "dynamic" controls have been implemented. > > > > > > + # ---------------------------------------------------------------------------- > > > + # Draft properties section > > > + > > > + - ColorFilterArrangement: > > > + type: int32_t > > > + draft: true > > > + description: | > > > + The arrangement of color filters on sensor; represents the colors in the > > > + top-left 2x2 section of the sensor, in reading order. Currently > > > + identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > > + enum: > > > + - name: RGGB > > > + value: 0 > > > + description: RGGB Bayer pattern > > > + - name: GRBG > > > + value: 1 > > > + description: GRBG Bayer pattern > > > + - name: GBRG > > > + value: 2 > > > + description: GBRG Bayer pattern > > > + - name: BGGR > > > + value: 3 > > > + description: BGGR Bayer pattern > > > + - name: RGB > > > + value: 4 > > > + description: | > > > + Sensor is not Bayer; output has 3 16-bit values for each pixel, > > > + instead of just 1 16-bit value per pixel. > > > + > > > ... > > > -- > > > 2.29.2 > > > > > > _______________________________________________ > > > libcamera-devel mailing list > > > libcamera-devel@lists.libcamera.org > > > https://lists.libcamera.org/listinfo/libcamera-devel > > _______________________________________________ > > libcamera-devel mailing list > > libcamera-devel@lists.libcamera.org > > https://lists.libcamera.org/listinfo/libcamera-devel
Hi Jacopo Thanks for the reply! On Tue, 29 Dec 2020 at 10:26, Jacopo Mondi <jacopo@jmondi.org> wrote: > > Hi David, > > On Tue, Dec 29, 2020 at 09:25:14AM +0000, David Plowman wrote: > > Hi Jacopo > > > > Thanks for this patch! Just one little question - I suppose Android > > (and libcamera) have some other way of signalling a monochrome > > sensor... I think I might have expected to find a > > "monochrome/non-Bayer" option in the list? > > Please bare in mind this is a draft property, whose main purpose is > to temporary close the gap with Android and its definition come > straight from there. > > This property only makes sensor for RAW sensors, although there's a > more generic 'RGB' value that sounds like a catch-all for non-Bayer > sensors. > > Simply put: non-RAW sensor won't register this property at all. > When we'll un-draft the property we can discuss if that makes sense > at all as a choice, or we might want to have a more generic > definition. > > Do you perhaps have any usage for such a more generic property in mind ? Not especially, my thoughts on the subject are only "draft" too! :) I guess my only observations are that a monochrome ("no CFA at all") format would probably be useful (it's still a RAW format, though not a Bayer one). Also, that single non-RAW format (3x16-bit RGB) seems a bit lonely, for example YUV422 interleaved is probably more common, but I doubt we want to list all the possible pixel formats all over again, we have enough of that already! Thanks! David > > > > > Best regards > > David > > > > On Tue, 29 Dec 2020 at 04:56, <paul.elder@ideasonboard.com> wrote: > > > > > > Hi Jacopo, > > > > > > On Mon, Dec 28, 2020 at 05:39:59PM +0100, Jacopo Mondi wrote: > > > > Define the 'ColorFilterArrangement' draft property. The property is > > > > currently identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > > > > > > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> > > > > > > Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> > > > > > > > --- > > > > src/libcamera/property_ids.yaml | 29 +++++++++++++++++++++++++++++ > > > > 1 file changed, 29 insertions(+) > > > > > > > > diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml > > > > index 64e88f0361d6..104e9aaf4fa3 100644 > > > > --- a/src/libcamera/property_ids.yaml > > > > +++ b/src/libcamera/property_ids.yaml > > > > @@ -678,4 +678,33 @@ controls: > > > > \todo Turn this property into a "maximum control value" for the > > > > ScalerCrop control once "dynamic" controls have been implemented. > > > > > > > > + # ---------------------------------------------------------------------------- > > > > + # Draft properties section > > > > + > > > > + - ColorFilterArrangement: > > > > + type: int32_t > > > > + draft: true > > > > + description: | > > > > + The arrangement of color filters on sensor; represents the colors in the > > > > + top-left 2x2 section of the sensor, in reading order. Currently > > > > + identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > > > + enum: > > > > + - name: RGGB > > > > + value: 0 > > > > + description: RGGB Bayer pattern > > > > + - name: GRBG > > > > + value: 1 > > > > + description: GRBG Bayer pattern > > > > + - name: GBRG > > > > + value: 2 > > > > + description: GBRG Bayer pattern > > > > + - name: BGGR > > > > + value: 3 > > > > + description: BGGR Bayer pattern > > > > + - name: RGB > > > > + value: 4 > > > > + description: | > > > > + Sensor is not Bayer; output has 3 16-bit values for each pixel, > > > > + instead of just 1 16-bit value per pixel. > > > > + > > > > ... > > > > -- > > > > 2.29.2 > > > > > > > > _______________________________________________ > > > > libcamera-devel mailing list > > > > libcamera-devel@lists.libcamera.org > > > > https://lists.libcamera.org/listinfo/libcamera-devel > > > _______________________________________________ > > > libcamera-devel mailing list > > > libcamera-devel@lists.libcamera.org > > > https://lists.libcamera.org/listinfo/libcamera-devel
Hi David, On Tue, Dec 29, 2020 at 10:32:21PM +0000, David Plowman wrote: > Hi Jacopo > > Thanks for the reply! > > On Tue, 29 Dec 2020 at 10:26, Jacopo Mondi <jacopo@jmondi.org> wrote: > > > > Hi David, > > > > On Tue, Dec 29, 2020 at 09:25:14AM +0000, David Plowman wrote: > > > Hi Jacopo > > > > > > Thanks for this patch! Just one little question - I suppose Android > > > (and libcamera) have some other way of signalling a monochrome > > > sensor... I think I might have expected to find a > > > "monochrome/non-Bayer" option in the list? > > > > Please bare in mind this is a draft property, whose main purpose is > > to temporary close the gap with Android and its definition come > > straight from there. > > > > This property only makes sensor for RAW sensors, although there's a > > more generic 'RGB' value that sounds like a catch-all for non-Bayer > > sensors. > > > > Simply put: non-RAW sensor won't register this property at all. > > When we'll un-draft the property we can discuss if that makes sense > > at all as a choice, or we might want to have a more generic > > definition. > > > > Do you perhaps have any usage for such a more generic property in mind ? > > Not especially, my thoughts on the subject are only "draft" too! :) > > I guess my only observations are that a monochrome ("no CFA at all") > format would probably be useful (it's still a RAW format, though not a My bad, I always thought 'mono-chrome' as a YUV sensor with only the Y channel being sent out. > Bayer one). Also, that single non-RAW format (3x16-bit RGB) seems a > bit lonely, for example YUV422 interleaved is probably more common, > but I doubt we want to list all the possible pixel formats all over > again, we have enough of that already! I'm not sure I follow. How does a processed format like YUV422 relates to the sensor's color filters arrangements ? Thanks j > > Thanks! > David > > > > > > > > > Best regards > > > David > > > > > > On Tue, 29 Dec 2020 at 04:56, <paul.elder@ideasonboard.com> wrote: > > > > > > > > Hi Jacopo, > > > > > > > > On Mon, Dec 28, 2020 at 05:39:59PM +0100, Jacopo Mondi wrote: > > > > > Define the 'ColorFilterArrangement' draft property. The property is > > > > > currently identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > > > > > > > > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> > > > > > > > > Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> > > > > > > > > > --- > > > > > src/libcamera/property_ids.yaml | 29 +++++++++++++++++++++++++++++ > > > > > 1 file changed, 29 insertions(+) > > > > > > > > > > diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml > > > > > index 64e88f0361d6..104e9aaf4fa3 100644 > > > > > --- a/src/libcamera/property_ids.yaml > > > > > +++ b/src/libcamera/property_ids.yaml > > > > > @@ -678,4 +678,33 @@ controls: > > > > > \todo Turn this property into a "maximum control value" for the > > > > > ScalerCrop control once "dynamic" controls have been implemented. > > > > > > > > > > + # ---------------------------------------------------------------------------- > > > > > + # Draft properties section > > > > > + > > > > > + - ColorFilterArrangement: > > > > > + type: int32_t > > > > > + draft: true > > > > > + description: | > > > > > + The arrangement of color filters on sensor; represents the colors in the > > > > > + top-left 2x2 section of the sensor, in reading order. Currently > > > > > + identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. > > > > > + enum: > > > > > + - name: RGGB > > > > > + value: 0 > > > > > + description: RGGB Bayer pattern > > > > > + - name: GRBG > > > > > + value: 1 > > > > > + description: GRBG Bayer pattern > > > > > + - name: GBRG > > > > > + value: 2 > > > > > + description: GBRG Bayer pattern > > > > > + - name: BGGR > > > > > + value: 3 > > > > > + description: BGGR Bayer pattern > > > > > + - name: RGB > > > > > + value: 4 > > > > > + description: | > > > > > + Sensor is not Bayer; output has 3 16-bit values for each pixel, > > > > > + instead of just 1 16-bit value per pixel. > > > > > + > > > > > ... > > > > > -- > > > > > 2.29.2 > > > > > > > > > > _______________________________________________ > > > > > libcamera-devel mailing list > > > > > libcamera-devel@lists.libcamera.org > > > > > https://lists.libcamera.org/listinfo/libcamera-devel > > > > _______________________________________________ > > > > libcamera-devel mailing list > > > > libcamera-devel@lists.libcamera.org > > > > https://lists.libcamera.org/listinfo/libcamera-devel
Hi David, On Wed, Dec 30, 2020 at 08:59:31AM +0100, Jacopo Mondi wrote: > Hi David, > > On Tue, Dec 29, 2020 at 10:32:21PM +0000, David Plowman wrote: > > Hi Jacopo > > > > Thanks for the reply! > > > > On Tue, 29 Dec 2020 at 10:26, Jacopo Mondi <jacopo@jmondi.org> wrote: > > > > > > Hi David, > > > > > > On Tue, Dec 29, 2020 at 09:25:14AM +0000, David Plowman wrote: > > > > Hi Jacopo > > > > > > > > Thanks for this patch! Just one little question - I suppose Android > > > > (and libcamera) have some other way of signalling a monochrome > > > > sensor... I think I might have expected to find a > > > > "monochrome/non-Bayer" option in the list? > > > > > > Please bare in mind this is a draft property, whose main purpose is > > > to temporary close the gap with Android and its definition come > > > straight from there. > > > > > > This property only makes sensor for RAW sensors, although there's a > > > more generic 'RGB' value that sounds like a catch-all for non-Bayer > > > sensors. > > > > > > Simply put: non-RAW sensor won't register this property at all. > > > When we'll un-draft the property we can discuss if that makes sense > > > at all as a choice, or we might want to have a more generic > > > definition. > > > > > > Do you perhaps have any usage for such a more generic property in mind ? > > > > Not especially, my thoughts on the subject are only "draft" too! :) > > > > I guess my only observations are that a monochrome ("no CFA at all") > > format would probably be useful (it's still a RAW format, though not a > > My bad, I always thought 'mono-chrome' as a YUV sensor with only the Y > channel being sent out. > > > Bayer one). Also, that single non-RAW format (3x16-bit RGB) seems a > > bit lonely, for example YUV422 interleaved is probably more common, > > but I doubt we want to list all the possible pixel formats all over > > again, we have enough of that already! > > I'm not sure I follow. How does a processed format like YUV422 relates > to the sensor's color filters arrangements ? Laurent helped clarify this to me, and yes, we probably need a definition for monochrome going forward. I would however keep the draft property version as close as possible to Android's definition and expand it when un-drafting. Thanks j
Hi Jacopo Thanks for that. Actually I think I was a bit confused too. I was thinking that the 3x16-bit was somehow supposed to include non-RAW sensors, but I guess it doesn't. Maybe Android invented it to account for those Foveon sensors that we had a few years back, which did give you R, G and B at each location, but were still RAW? But anyway, I agree it will probably make sense to add a "no CFA" option for those monochrome RAW sensors at some point. In fact, I wonder if in future we may want to add that to our BayerFormat class... at which point "BayerFormat" isn't necessarily the right name any more. Oh dear! Anyway, that's a question for another time... Best regards David On Wed, 30 Dec 2020 at 09:38, Jacopo Mondi <jacopo@jmondi.org> wrote: > > Hi David, > > On Wed, Dec 30, 2020 at 08:59:31AM +0100, Jacopo Mondi wrote: > > Hi David, > > > > On Tue, Dec 29, 2020 at 10:32:21PM +0000, David Plowman wrote: > > > Hi Jacopo > > > > > > Thanks for the reply! > > > > > > On Tue, 29 Dec 2020 at 10:26, Jacopo Mondi <jacopo@jmondi.org> wrote: > > > > > > > > Hi David, > > > > > > > > On Tue, Dec 29, 2020 at 09:25:14AM +0000, David Plowman wrote: > > > > > Hi Jacopo > > > > > > > > > > Thanks for this patch! Just one little question - I suppose Android > > > > > (and libcamera) have some other way of signalling a monochrome > > > > > sensor... I think I might have expected to find a > > > > > "monochrome/non-Bayer" option in the list? > > > > > > > > Please bare in mind this is a draft property, whose main purpose is > > > > to temporary close the gap with Android and its definition come > > > > straight from there. > > > > > > > > This property only makes sensor for RAW sensors, although there's a > > > > more generic 'RGB' value that sounds like a catch-all for non-Bayer > > > > sensors. > > > > > > > > Simply put: non-RAW sensor won't register this property at all. > > > > When we'll un-draft the property we can discuss if that makes sense > > > > at all as a choice, or we might want to have a more generic > > > > definition. > > > > > > > > Do you perhaps have any usage for such a more generic property in mind ? > > > > > > Not especially, my thoughts on the subject are only "draft" too! :) > > > > > > I guess my only observations are that a monochrome ("no CFA at all") > > > format would probably be useful (it's still a RAW format, though not a > > > > My bad, I always thought 'mono-chrome' as a YUV sensor with only the Y > > channel being sent out. > > > > > Bayer one). Also, that single non-RAW format (3x16-bit RGB) seems a > > > bit lonely, for example YUV422 interleaved is probably more common, > > > but I doubt we want to list all the possible pixel formats all over > > > again, we have enough of that already! > > > > I'm not sure I follow. How does a processed format like YUV422 relates > > to the sensor's color filters arrangements ? > > Laurent helped clarify this to me, and yes, we probably need a > definition for monochrome going forward. I would however keep the draft > property version as close as possible to Android's definition and > expand it when un-drafting. > > Thanks > j
Hi David, On Wed, Dec 30, 2020 at 10:00:07AM +0000, David Plowman wrote: > Hi Jacopo > > Thanks for that. Actually I think I was a bit confused too. I was > thinking that the 3x16-bit was somehow supposed to include non-RAW > sensors, but I guess it doesn't. Maybe Android invented it to account > for those Foveon sensors that we had a few years back, which did give > you R, G and B at each location, but were still RAW? > > But anyway, I agree it will probably make sense to add a "no CFA" > option for those monochrome RAW sensors at some point. In fact, I > wonder if in future we may want to add that to our BayerFormat > class... at which point "BayerFormat" isn't necessarily the right name > any more. Oh dear! Anyway, that's a question for another time... ColorFilterArray may be a better name. It depends on what the BayerFormat class ends up being used for. If it's just a helper to transpose the component ordering, it shouldn't be too much of an issue. Android, in its android.sensor.info.colorFilterArrangement property, differentiates monochrome from NIR. There's a slippery slope toards exposing sensor frequency response information, which likely doesn't belong to whatever BayerFormat will end up being. In any case, it's a topic for later indeed. > On Wed, 30 Dec 2020 at 09:38, Jacopo Mondi <jacopo@jmondi.org> wrote: > > On Wed, Dec 30, 2020 at 08:59:31AM +0100, Jacopo Mondi wrote: > > > On Tue, Dec 29, 2020 at 10:32:21PM +0000, David Plowman wrote: > > > > On Tue, 29 Dec 2020 at 10:26, Jacopo Mondi <jacopo@jmondi.org> wrote: > > > > > On Tue, Dec 29, 2020 at 09:25:14AM +0000, David Plowman wrote: > > > > > > Hi Jacopo > > > > > > > > > > > > Thanks for this patch! Just one little question - I suppose Android > > > > > > (and libcamera) have some other way of signalling a monochrome > > > > > > sensor... I think I might have expected to find a > > > > > > "monochrome/non-Bayer" option in the list? > > > > > > > > > > Please bare in mind this is a draft property, whose main purpose is > > > > > to temporary close the gap with Android and its definition come > > > > > straight from there. > > > > > > > > > > This property only makes sensor for RAW sensors, although there's a > > > > > more generic 'RGB' value that sounds like a catch-all for non-Bayer > > > > > sensors. > > > > > > > > > > Simply put: non-RAW sensor won't register this property at all. > > > > > When we'll un-draft the property we can discuss if that makes sense > > > > > at all as a choice, or we might want to have a more generic > > > > > definition. > > > > > > > > > > Do you perhaps have any usage for such a more generic property in mind ? > > > > > > > > Not especially, my thoughts on the subject are only "draft" too! :) > > > > > > > > I guess my only observations are that a monochrome ("no CFA at all") > > > > format would probably be useful (it's still a RAW format, though not a > > > > > > My bad, I always thought 'mono-chrome' as a YUV sensor with only the Y > > > channel being sent out. > > > > > > > Bayer one). Also, that single non-RAW format (3x16-bit RGB) seems a > > > > bit lonely, for example YUV422 interleaved is probably more common, > > > > but I doubt we want to list all the possible pixel formats all over > > > > again, we have enough of that already! > > > > > > I'm not sure I follow. How does a processed format like YUV422 relates > > > to the sensor's color filters arrangements ? > > > > Laurent helped clarify this to me, and yes, we probably need a > > definition for monochrome going forward. I would however keep the draft > > property version as close as possible to Android's definition and > > expand it when un-drafting.
diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml index 64e88f0361d6..104e9aaf4fa3 100644 --- a/src/libcamera/property_ids.yaml +++ b/src/libcamera/property_ids.yaml @@ -678,4 +678,33 @@ controls: \todo Turn this property into a "maximum control value" for the ScalerCrop control once "dynamic" controls have been implemented. + # ---------------------------------------------------------------------------- + # Draft properties section + + - ColorFilterArrangement: + type: int32_t + draft: true + description: | + The arrangement of color filters on sensor; represents the colors in the + top-left 2x2 section of the sensor, in reading order. Currently + identical to ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT. + enum: + - name: RGGB + value: 0 + description: RGGB Bayer pattern + - name: GRBG + value: 1 + description: GRBG Bayer pattern + - name: GBRG + value: 2 + description: GBRG Bayer pattern + - name: BGGR + value: 3 + description: BGGR Bayer pattern + - name: RGB + value: 4 + description: | + Sensor is not Bayer; output has 3 16-bit values for each pixel, + instead of just 1 16-bit value per pixel. + ...