Message ID | 1468599199-5902-3-git-send-email-ricardo.ribalda@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Ricardo, Thank you for the patch. On Friday 15 Jul 2016 18:13:15 Ricardo Ribalda Delgado wrote: > Describe the HSV formats > > Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> > --- > Documentation/media/uapi/v4l/hsv-formats.rst | 19 ++ > Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst | 253 ++++++++++++++++++ > Documentation/media/uapi/v4l/pixfmt.rst | 1 + > Documentation/media/uapi/v4l/v4l2.rst | 5 + > 4 files changed, 278 insertions(+) > create mode 100644 Documentation/media/uapi/v4l/hsv-formats.rst > create mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst > > diff --git a/Documentation/media/uapi/v4l/hsv-formats.rst > b/Documentation/media/uapi/v4l/hsv-formats.rst new file mode 100644 > index 000000000000..f0f2615eaa95 > --- /dev/null > +++ b/Documentation/media/uapi/v4l/hsv-formats.rst > @@ -0,0 +1,19 @@ > +.. -*- coding: utf-8; mode: rst -*- > + > +.. _hsv-formats: > + > +*********** > +HSV Formats > +*********** > + > +These formats store the color information of the image > +in a geometrical representation. The colors are mapped into a > +cylinder, where the angle is the HUE, the height is the VALUE > +and the distance to the center is the SATURATION. This is a very > +useful format for image segmentation algorithms. > + > + > +.. toctree:: > + :maxdepth: 1 > + > + pixfmt-packed-hsv > diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst > b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst new file mode 100644 > index 000000000000..b297aa4f7ba6 > --- /dev/null > +++ b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst > @@ -0,0 +1,253 @@ > +.. -*- coding: utf-8; mode: rst -*- > + > +.. _packed-hsv: > + > +****************** > +Packed HSV formats > +****************** > + > +*man Packed HSV formats(2)* > + > +Packed HSV formats > + > + > +Description > +=========== > + > +The HUE (h) is meassured in degrees, one LSB represents two degrees. Is this common ? I have a device that can handle HSV data, I need to check how it maps the hue values to binary, but I'm pretty sure they cover the full 0-255 range. We would then have to support the two formats. Separate 4CCs are an option, but reporting the range separately (possibly through the colorspace API) might be better. Any thought on that ? > +The SATURATION (s) and the VALUE (v) are measured in percentage of the > +cylinder: 0 being the smallest value and 255 the maximum. > + > + > +The values are packed in 24 or 32 bit formats. > + > + > +.. flat-table:: Packed HSV Image Formats > + :header-rows: 2 > + :stub-columns: 0 > + > + > + - .. row 1 > + > + - Identifier > + > + - Code > + > + - > + - :cspan:`7` Byte 0 in memory > + Do we really need all those blank lines ? [snip]
On 07/15/2016 08:11 PM, Laurent Pinchart wrote: > Hi Ricardo, > > Thank you for the patch. > > On Friday 15 Jul 2016 18:13:15 Ricardo Ribalda Delgado wrote: >> Describe the HSV formats >> >> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> >> --- >> Documentation/media/uapi/v4l/hsv-formats.rst | 19 ++ >> Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst | 253 ++++++++++++++++++ >> Documentation/media/uapi/v4l/pixfmt.rst | 1 + >> Documentation/media/uapi/v4l/v4l2.rst | 5 + >> 4 files changed, 278 insertions(+) >> create mode 100644 Documentation/media/uapi/v4l/hsv-formats.rst >> create mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >> >> diff --git a/Documentation/media/uapi/v4l/hsv-formats.rst >> b/Documentation/media/uapi/v4l/hsv-formats.rst new file mode 100644 >> index 000000000000..f0f2615eaa95 >> --- /dev/null >> +++ b/Documentation/media/uapi/v4l/hsv-formats.rst >> @@ -0,0 +1,19 @@ >> +.. -*- coding: utf-8; mode: rst -*- >> + >> +.. _hsv-formats: >> + >> +*********** >> +HSV Formats >> +*********** >> + >> +These formats store the color information of the image >> +in a geometrical representation. The colors are mapped into a >> +cylinder, where the angle is the HUE, the height is the VALUE >> +and the distance to the center is the SATURATION. This is a very >> +useful format for image segmentation algorithms. >> + >> + >> +.. toctree:: >> + :maxdepth: 1 >> + >> + pixfmt-packed-hsv >> diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >> b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst new file mode 100644 >> index 000000000000..b297aa4f7ba6 >> --- /dev/null >> +++ b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >> @@ -0,0 +1,253 @@ >> +.. -*- coding: utf-8; mode: rst -*- >> + >> +.. _packed-hsv: >> + >> +****************** >> +Packed HSV formats >> +****************** >> + >> +*man Packed HSV formats(2)* >> + >> +Packed HSV formats >> + >> + >> +Description >> +=========== >> + >> +The HUE (h) is meassured in degrees, one LSB represents two degrees. > > Is this common ? I have a device that can handle HSV data, I need to check how > it maps the hue values to binary, but I'm pretty sure they cover the full > 0-255 range. We would then have to support the two formats. Separate 4CCs are > an option, but reporting the range separately (possibly through the colorspace > API) might be better. Any thought on that ? It's either a separate 4cc or we do something with the ycbcr_enc field (reinterpreted as hsv_enc). I'm not sure, I would have to think some more about that. Regards, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Laurent It is actually a very good comment. :) In our case we have implemented the format ourselves in the FPGA and we support both 0-255 and 0-179 Hue ranges. After some weeks of use, only the 0-179 range is used in userpace. The reasons for this is mainly that it is the format used by OpenCV http://docs.opencv.org/3.1.0/de/d25/imgproc_color_conversions.html#color_convert_rgb_hsv&gsc.tab=0 , but also because it is very efficient to convert from 0-360 to 0-180 and the lose of color resolution (256/180) does not lead to (human) perceptible differences. All that said, I would not mind to implement also the 0-255 range, but I do not know which API should be the best way to do it. quantization? it looks nice, but it is not really a quantization... a control? a bit messy.... fourcc? seems good... I am open to anything :), but I am not the right guy for making the decision. Hans, could you help me? Thanks! On Fri, Jul 15, 2016 at 8:11 PM, Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > Hi Ricardo, > > Thank you for the patch. > > On Friday 15 Jul 2016 18:13:15 Ricardo Ribalda Delgado wrote: >> Describe the HSV formats >> >> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> >> --- >> Documentation/media/uapi/v4l/hsv-formats.rst | 19 ++ >> Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst | 253 ++++++++++++++++++ >> Documentation/media/uapi/v4l/pixfmt.rst | 1 + >> Documentation/media/uapi/v4l/v4l2.rst | 5 + >> 4 files changed, 278 insertions(+) >> create mode 100644 Documentation/media/uapi/v4l/hsv-formats.rst >> create mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >> >> diff --git a/Documentation/media/uapi/v4l/hsv-formats.rst >> b/Documentation/media/uapi/v4l/hsv-formats.rst new file mode 100644 >> index 000000000000..f0f2615eaa95 >> --- /dev/null >> +++ b/Documentation/media/uapi/v4l/hsv-formats.rst >> @@ -0,0 +1,19 @@ >> +.. -*- coding: utf-8; mode: rst -*- >> + >> +.. _hsv-formats: >> + >> +*********** >> +HSV Formats >> +*********** >> + >> +These formats store the color information of the image >> +in a geometrical representation. The colors are mapped into a >> +cylinder, where the angle is the HUE, the height is the VALUE >> +and the distance to the center is the SATURATION. This is a very >> +useful format for image segmentation algorithms. >> + >> + >> +.. toctree:: >> + :maxdepth: 1 >> + >> + pixfmt-packed-hsv >> diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >> b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst new file mode 100644 >> index 000000000000..b297aa4f7ba6 >> --- /dev/null >> +++ b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >> @@ -0,0 +1,253 @@ >> +.. -*- coding: utf-8; mode: rst -*- >> + >> +.. _packed-hsv: >> + >> +****************** >> +Packed HSV formats >> +****************** >> + >> +*man Packed HSV formats(2)* >> + >> +Packed HSV formats >> + >> + >> +Description >> +=========== >> + >> +The HUE (h) is meassured in degrees, one LSB represents two degrees. > > Is this common ? I have a device that can handle HSV data, I need to check how > it maps the hue values to binary, but I'm pretty sure they cover the full > 0-255 range. We would then have to support the two formats. Separate 4CCs are > an option, but reporting the range separately (possibly through the colorspace > API) might be better. Any thought on that ? > >> +The SATURATION (s) and the VALUE (v) are measured in percentage of the >> +cylinder: 0 being the smallest value and 255 the maximum. >> + >> + >> +The values are packed in 24 or 32 bit formats. >> + >> + >> +.. flat-table:: Packed HSV Image Formats >> + :header-rows: 2 >> + :stub-columns: 0 >> + >> + >> + - .. row 1 >> + >> + - Identifier >> + >> + - Code >> + >> + - >> + - :cspan:`7` Byte 0 in memory >> + > > Do we really need all those blank lines ? > > [snip] > > -- > Regards, > > Laurent Pinchart >
Hi Hans, On Saturday 16 Jul 2016 10:19:29 Hans Verkuil wrote: > On 07/15/2016 08:11 PM, Laurent Pinchart wrote: > > On Friday 15 Jul 2016 18:13:15 Ricardo Ribalda Delgado wrote: > >> Describe the HSV formats > >> > >> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> > >> --- > >> > >> Documentation/media/uapi/v4l/hsv-formats.rst | 19 ++ > >> Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst | 253 +++++++++++++++ > >> Documentation/media/uapi/v4l/pixfmt.rst | 1 + > >> Documentation/media/uapi/v4l/v4l2.rst | 5 + > >> 4 files changed, 278 insertions(+) > >> create mode 100644 Documentation/media/uapi/v4l/hsv-formats.rst > >> create mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst > >> > >> diff --git a/Documentation/media/uapi/v4l/hsv-formats.rst > >> b/Documentation/media/uapi/v4l/hsv-formats.rst new file mode 100644 > >> index 000000000000..f0f2615eaa95 > >> --- /dev/null > >> +++ b/Documentation/media/uapi/v4l/hsv-formats.rst > >> @@ -0,0 +1,19 @@ > >> +.. -*- coding: utf-8; mode: rst -*- > >> + > >> +.. _hsv-formats: > >> + > >> +*********** > >> +HSV Formats > >> +*********** > >> + > >> +These formats store the color information of the image > >> +in a geometrical representation. The colors are mapped into a > >> +cylinder, where the angle is the HUE, the height is the VALUE > >> +and the distance to the center is the SATURATION. This is a very > >> +useful format for image segmentation algorithms. > >> + > >> + > >> +.. toctree:: > >> + :maxdepth: 1 > >> + > >> + pixfmt-packed-hsv > >> diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst > >> b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst new file mode 100644 > >> index 000000000000..b297aa4f7ba6 > >> --- /dev/null > >> +++ b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst > >> @@ -0,0 +1,253 @@ > >> +.. -*- coding: utf-8; mode: rst -*- > >> + > >> +.. _packed-hsv: > >> + > >> +****************** > >> +Packed HSV formats > >> +****************** > >> + > >> +*man Packed HSV formats(2)* > >> + > >> +Packed HSV formats > >> + > >> + > >> +Description > >> +=========== > >> + > >> +The HUE (h) is meassured in degrees, one LSB represents two degrees. > > > > Is this common ? I have a device that can handle HSV data, I need to check > > how it maps the hue values to binary, but I'm pretty sure they cover the > > full 0-255 range. We would then have to support the two formats. Separate > > 4CCs are an option, but reporting the range separately (possibly through > > the colorspace API) might be better. Any thought on that ? > > It's either a separate 4cc or we do something with the ycbcr_enc field > (reinterpreted as hsv_enc). I'm not sure, I would have to think some more > about that. I'm inclined to use the ycbcr_enc field, especially given that a similar usage could be useful for RGB as well (don't ask me what it's supposed to be used for, but I have hardware that support limiting the RGB values range to 16-235).
On 07/16/2016 02:38 PM, Laurent Pinchart wrote: > Hi Hans, > > On Saturday 16 Jul 2016 10:19:29 Hans Verkuil wrote: >> On 07/15/2016 08:11 PM, Laurent Pinchart wrote: >>> On Friday 15 Jul 2016 18:13:15 Ricardo Ribalda Delgado wrote: >>>> Describe the HSV formats >>>> >>>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> >>>> --- >>>> >>>> Documentation/media/uapi/v4l/hsv-formats.rst | 19 ++ >>>> Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst | 253 +++++++++++++++ >>>> Documentation/media/uapi/v4l/pixfmt.rst | 1 + >>>> Documentation/media/uapi/v4l/v4l2.rst | 5 + >>>> 4 files changed, 278 insertions(+) >>>> create mode 100644 Documentation/media/uapi/v4l/hsv-formats.rst >>>> create mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >>>> >>>> diff --git a/Documentation/media/uapi/v4l/hsv-formats.rst >>>> b/Documentation/media/uapi/v4l/hsv-formats.rst new file mode 100644 >>>> index 000000000000..f0f2615eaa95 >>>> --- /dev/null >>>> +++ b/Documentation/media/uapi/v4l/hsv-formats.rst >>>> @@ -0,0 +1,19 @@ >>>> +.. -*- coding: utf-8; mode: rst -*- >>>> + >>>> +.. _hsv-formats: >>>> + >>>> +*********** >>>> +HSV Formats >>>> +*********** >>>> + >>>> +These formats store the color information of the image >>>> +in a geometrical representation. The colors are mapped into a >>>> +cylinder, where the angle is the HUE, the height is the VALUE >>>> +and the distance to the center is the SATURATION. This is a very >>>> +useful format for image segmentation algorithms. >>>> + >>>> + >>>> +.. toctree:: >>>> + :maxdepth: 1 >>>> + >>>> + pixfmt-packed-hsv >>>> diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >>>> b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst new file mode 100644 >>>> index 000000000000..b297aa4f7ba6 >>>> --- /dev/null >>>> +++ b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >>>> @@ -0,0 +1,253 @@ >>>> +.. -*- coding: utf-8; mode: rst -*- >>>> + >>>> +.. _packed-hsv: >>>> + >>>> +****************** >>>> +Packed HSV formats >>>> +****************** >>>> + >>>> +*man Packed HSV formats(2)* >>>> + >>>> +Packed HSV formats >>>> + >>>> + >>>> +Description >>>> +=========== >>>> + >>>> +The HUE (h) is meassured in degrees, one LSB represents two degrees. >>> >>> Is this common ? I have a device that can handle HSV data, I need to check >>> how it maps the hue values to binary, but I'm pretty sure they cover the >>> full 0-255 range. We would then have to support the two formats. Separate >>> 4CCs are an option, but reporting the range separately (possibly through >>> the colorspace API) might be better. Any thought on that ? >> >> It's either a separate 4cc or we do something with the ycbcr_enc field >> (reinterpreted as hsv_enc). I'm not sure, I would have to think some more >> about that. > > I'm inclined to use the ycbcr_enc field, especially given that a similar usage > could be useful for RGB as well (don't ask me what it's supposed to be used > for, but I have hardware that support limiting the RGB values range to > 16-235). Limited vs full range quantization is handled by the quantization field. It's there already. Limited range RGB is needed for HDMI due to a brain-dead spec when dealing with certain kinds of TVs and configurations. Don't ask, it's horrible. Anyway, I am inclined to use ycbcr_enc as well. Regards, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Hans, On Saturday 16 Jul 2016 15:59:08 Hans Verkuil wrote: > On 07/16/2016 02:38 PM, Laurent Pinchart wrote: >> On Saturday 16 Jul 2016 10:19:29 Hans Verkuil wrote: >>> On 07/15/2016 08:11 PM, Laurent Pinchart wrote: >>>> On Friday 15 Jul 2016 18:13:15 Ricardo Ribalda Delgado wrote: >>>>> Describe the HSV formats >>>>> >>>>> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> >>>>> --- >>>>> >>>>> Documentation/media/uapi/v4l/hsv-formats.rst | 19 ++ >>>>> Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst | 253 >>>>> +++++++++++++++ >>>>> Documentation/media/uapi/v4l/pixfmt.rst | 1 + >>>>> Documentation/media/uapi/v4l/v4l2.rst | 5 + >>>>> 4 files changed, 278 insertions(+) >>>>> create mode 100644 Documentation/media/uapi/v4l/hsv-formats.rst >>>>> create mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >>>>> >>>>> diff --git a/Documentation/media/uapi/v4l/hsv-formats.rst >>>>> b/Documentation/media/uapi/v4l/hsv-formats.rst new file mode 100644 >>>>> index 000000000000..f0f2615eaa95 >>>>> --- /dev/null >>>>> +++ b/Documentation/media/uapi/v4l/hsv-formats.rst >>>>> @@ -0,0 +1,19 @@ >>>>> +.. -*- coding: utf-8; mode: rst -*- >>>>> + >>>>> +.. _hsv-formats: >>>>> + >>>>> +*********** >>>>> +HSV Formats >>>>> +*********** >>>>> + >>>>> +These formats store the color information of the image >>>>> +in a geometrical representation. The colors are mapped into a >>>>> +cylinder, where the angle is the HUE, the height is the VALUE >>>>> +and the distance to the center is the SATURATION. This is a very >>>>> +useful format for image segmentation algorithms. >>>>> + >>>>> + >>>>> +.. toctree:: >>>>> + :maxdepth: 1 >>>>> + >>>>> + pixfmt-packed-hsv >>>>> diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >>>>> b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst new file mode >>>>> 100644 >>>>> index 000000000000..b297aa4f7ba6 >>>>> --- /dev/null >>>>> +++ b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst >>>>> @@ -0,0 +1,253 @@ >>>>> +.. -*- coding: utf-8; mode: rst -*- >>>>> + >>>>> +.. _packed-hsv: >>>>> + >>>>> +****************** >>>>> +Packed HSV formats >>>>> +****************** >>>>> + >>>>> +*man Packed HSV formats(2)* >>>>> + >>>>> +Packed HSV formats >>>>> + >>>>> + >>>>> +Description >>>>> +=========== >>>>> + >>>>> +The HUE (h) is meassured in degrees, one LSB represents two degrees. >>>> >>>> Is this common ? I have a device that can handle HSV data, I need to >>>> check how it maps the hue values to binary, but I'm pretty sure they >>>> cover the full 0-255 range. We would then have to support the two >>>> formats. Separate 4CCs are an option, but reporting the range separately >>>> (possibly through the colorspace API) might be better. Any thought on >>>> that ? >>> >>> It's either a separate 4cc or we do something with the ycbcr_enc field >>> (reinterpreted as hsv_enc). I'm not sure, I would have to think some more >>> about that. >> >> I'm inclined to use the ycbcr_enc field, especially given that a similar >> usage could be useful for RGB as well (don't ask me what it's supposed to >> be used for, but I have hardware that support limiting the RGB values >> range to 16-235). > > Limited vs full range quantization is handled by the quantization field. > It's there already. Right. I wonder how we'll deal with that when someone will come up with more than one limited range quantizations, have you thought about it ? > Limited range RGB is needed for HDMI due to a brain-dead spec when dealing > with certain kinds of TVs and configurations. Don't ask, it's horrible. I'd still like to know about it for my personal information :-) > Anyway, I am inclined to use ycbcr_enc as well. I'm glad we agree.
On 07/16/2016 04:12 PM, Laurent Pinchart wrote: >> Limited vs full range quantization is handled by the quantization field. >> It's there already. > > Right. I wonder how we'll deal with that when someone will come up with more > than one limited range quantizations, have you thought about it ? There is just limited and full range. Limited range is basically a left-over from analog TV. >> Limited range RGB is needed for HDMI due to a brain-dead spec when dealing >> with certain kinds of TVs and configurations. Don't ask, it's horrible. > > I'd still like to know about it for my personal information :-) RGB video over HDMI is limited range for CE timings (i.e. 720p, 1080p, 4k) unless signaled otherwise through the AVI InfoFrame. And you can only signal that if the sink supports it in the EDID (and doesn't lie about it). Typically TVs follow CE timings, so hooking up a PC to a TV may very well cause problems (and often does). Regards, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/media/uapi/v4l/hsv-formats.rst b/Documentation/media/uapi/v4l/hsv-formats.rst new file mode 100644 index 000000000000..f0f2615eaa95 --- /dev/null +++ b/Documentation/media/uapi/v4l/hsv-formats.rst @@ -0,0 +1,19 @@ +.. -*- coding: utf-8; mode: rst -*- + +.. _hsv-formats: + +*********** +HSV Formats +*********** + +These formats store the color information of the image +in a geometrical representation. The colors are mapped into a +cylinder, where the angle is the HUE, the height is the VALUE +and the distance to the center is the SATURATION. This is a very +useful format for image segmentation algorithms. + + +.. toctree:: + :maxdepth: 1 + + pixfmt-packed-hsv diff --git a/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst new file mode 100644 index 000000000000..b297aa4f7ba6 --- /dev/null +++ b/Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst @@ -0,0 +1,253 @@ +.. -*- coding: utf-8; mode: rst -*- + +.. _packed-hsv: + +****************** +Packed HSV formats +****************** + +*man Packed HSV formats(2)* + +Packed HSV formats + + +Description +=========== + +The HUE (h) is meassured in degrees, one LSB represents two degrees. +The SATURATION (s) and the VALUE (v) are measured in percentage of the +cylinder: 0 being the smallest value and 255 the maximum. + + +The values are packed in 24 or 32 bit formats. + + +.. flat-table:: Packed HSV Image Formats + :header-rows: 2 + :stub-columns: 0 + + + - .. row 1 + + - Identifier + + - Code + + - + - :cspan:`7` Byte 0 in memory + + - + - :cspan:`7` Byte 1 + + - + - :cspan:`7` Byte 2 + + - + - :cspan:`7` Byte 3 + + - .. row 2 + + - + - + - Bit + + - 7 + + - 6 + + - 5 + + - 4 + + - 3 + + - 2 + + - 1 + + - 0 + + - + - 7 + + - 6 + + - 5 + + - 4 + + - 3 + + - 2 + + - 1 + + - 0 + + - + - 7 + + - 6 + + - 5 + + - 4 + + - 3 + + - 2 + + - 1 + + - 0 + + - + - 7 + + - 6 + + - 5 + + - 4 + + - 3 + + - 2 + + - 1 + + - 0 + + - .. _V4L2-PIX-FMT-HSV32: + + - ``V4L2_PIX_FMT_HSV32`` + + - 'HSV4' + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - h\ :sub:`7` + + - h\ :sub:`6` + + - h\ :sub:`5` + + - h\ :sub:`4` + + - h\ :sub:`3` + + - h\ :sub:`2` + + - h\ :sub:`1` + + - h\ :sub:`0` + + - + - s\ :sub:`7` + + - s\ :sub:`6` + + - s\ :sub:`5` + + - s\ :sub:`4` + + - s\ :sub:`3` + + - s\ :sub:`2` + + - s\ :sub:`1` + + - s\ :sub:`0` + + - + - v\ :sub:`7` + + - v\ :sub:`6` + + - v\ :sub:`5` + + - v\ :sub:`4` + + - v\ :sub:`3` + + - v\ :sub:`2` + + - v\ :sub:`1` + + - v\ :sub:`0` + + - .. _V4L2-PIX-FMT-HSV24: + + - ``V4L2_PIX_FMT_HSV24`` + + - 'HSV3' + + - + - h\ :sub:`7` + + - h\ :sub:`6` + + - h\ :sub:`5` + + - h\ :sub:`4` + + - h\ :sub:`3` + + - h\ :sub:`2` + + - h\ :sub:`1` + + - h\ :sub:`0` + + - + - s\ :sub:`7` + + - s\ :sub:`6` + + - s\ :sub:`5` + + - s\ :sub:`4` + + - s\ :sub:`3` + + - s\ :sub:`2` + + - s\ :sub:`1` + + - s\ :sub:`0` + + - + - v\ :sub:`7` + + - v\ :sub:`6` + + - v\ :sub:`5` + + - v\ :sub:`4` + + - v\ :sub:`3` + + - v\ :sub:`2` + + - v\ :sub:`1` + + - v\ :sub:`0` + + +Bit 7 is the most significant bit. diff --git a/Documentation/media/uapi/v4l/pixfmt.rst b/Documentation/media/uapi/v4l/pixfmt.rst index 81222a99f7ce..1d2270422345 100644 --- a/Documentation/media/uapi/v4l/pixfmt.rst +++ b/Documentation/media/uapi/v4l/pixfmt.rst @@ -29,6 +29,7 @@ see also :ref:`VIDIOC_G_FBUF <VIDIOC_G_FBUF>`.) pixfmt-indexed pixfmt-rgb yuv-formats + hsv-formats depth-formats pixfmt-013 sdr-formats diff --git a/Documentation/media/uapi/v4l/v4l2.rst b/Documentation/media/uapi/v4l/v4l2.rst index c0859ebc88ee..6d23bc987f51 100644 --- a/Documentation/media/uapi/v4l/v4l2.rst +++ b/Documentation/media/uapi/v4l/v4l2.rst @@ -85,6 +85,11 @@ part can be used and distributed without restrictions. Revision History **************** +:revision: 4.8 / 2016-07-15 (*rr*) + +Introduce HSV formats. + + :revision: 4.5 / 2015-10-29 (*rr*) Extend VIDIOC_G_EXT_CTRLS;. Replace ctrl_class with a new union with
Describe the HSV formats Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> --- Documentation/media/uapi/v4l/hsv-formats.rst | 19 ++ Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst | 253 +++++++++++++++++++++ Documentation/media/uapi/v4l/pixfmt.rst | 1 + Documentation/media/uapi/v4l/v4l2.rst | 5 + 4 files changed, 278 insertions(+) create mode 100644 Documentation/media/uapi/v4l/hsv-formats.rst create mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst