media: v4l2: extend the CSC API to subdevice.
This patch extends the CSC API in video devices to be supported also on sub-devices. The flag V4L2_MBUS_FRAMEFMT_SET_CSC set by the application when calling VIDIOC_SUBDEV_S_FMT ioctl. The flags: V4L2_SUBDEV_MBUS_CODE_CSC_COLORSPACE, V4L2_SUBDEV_MBUS_CODE_CSC_XFER_FUNC, V4L2_SUBDEV_MBUS_CODE_CSC_YCBCR_ENC/V4L2_SUBDEV_MBUS_CODE_CSC_HSV_ENC V4L2_SUBDEV_MBUS_CODE_CSC_QUANTIZATION are set by the driver in the VIDIOC_SUBDEV_ENUM_MBUS_CODE ioctl. New 'flags' fields were added to the structs v4l2_subdev_mbus_code_enum, v4l2_mbus_framefmt which are borrowed from the 'reserved' field The patch also replaces the 'ycbcr_enc' field in 'struct v4l2_mbus_framefmt' with a union that includes 'hsv_enc' Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
2f49146349
commit
62aacfa9bf
@@ -72,11 +72,60 @@ information about the try formats.
|
||||
- Media bus format codes to be enumerated, from enum
|
||||
:ref:`v4l2_subdev_format_whence <v4l2-subdev-format-whence>`.
|
||||
* - __u32
|
||||
- ``reserved``\ [8]
|
||||
- ``flags``
|
||||
- See :ref:`v4l2-subdev-mbus-code-flags`
|
||||
* - __u32
|
||||
- ``reserved``\ [7]
|
||||
- Reserved for future extensions. Applications and drivers must set
|
||||
the array to zero.
|
||||
|
||||
|
||||
|
||||
.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{7.7cm}|
|
||||
|
||||
.. _v4l2-subdev-mbus-code-flags:
|
||||
|
||||
.. flat-table:: Subdev Media Bus Code Enumerate Flags
|
||||
:header-rows: 0
|
||||
:stub-columns: 0
|
||||
:widths: 1 1 2
|
||||
|
||||
* - V4L2_SUBDEV_MBUS_CODE_CSC_COLORSPACE
|
||||
- 0x00000001
|
||||
- The driver allows the application to try to change the default colorspace
|
||||
encoding. The application can ask to configure the colorspace of the
|
||||
subdevice when calling the :ref:`VIDIOC_SUBDEV_S_FMT <VIDIOC_SUBDEV_G_FMT>`
|
||||
ioctl with :ref:`V4L2_MBUS_FRAMEFMT_SET_CSC <mbus-framefmt-set-csc>` set.
|
||||
See :ref:`v4l2-mbus-format` on how to do this.
|
||||
* - V4L2_SUBDEV_MBUS_CODE_CSC_XFER_FUNC
|
||||
- 0x00000002
|
||||
- The driver allows the application to try to change the default transform function.
|
||||
The application can ask to configure the transform function of
|
||||
the subdevice when calling the :ref:`VIDIOC_SUBDEV_S_FMT <VIDIOC_SUBDEV_G_FMT>`
|
||||
ioctl with :ref:`V4L2_MBUS_FRAMEFMT_SET_CSC <mbus-framefmt-set-csc>` set.
|
||||
See :ref:`v4l2-mbus-format` on how to do this.
|
||||
* - V4L2_SUBDEV_MBUS_CODE_CSC_YCBCR_ENC
|
||||
- 0x00000004
|
||||
- The driver allows the application to try to change the default Y'CbCr
|
||||
encoding. The application can ask to configure the Y'CbCr encoding of the
|
||||
subdevice when calling the :ref:`VIDIOC_SUBDEV_S_FMT <VIDIOC_SUBDEV_G_FMT>`
|
||||
ioctl with :ref:`V4L2_MBUS_FRAMEFMT_SET_CSC <mbus-framefmt-set-csc>` set.
|
||||
See :ref:`v4l2-mbus-format` on how to do this.
|
||||
* - V4L2_SUBDEV_MBUS_CODE_CSC_HSV_ENC
|
||||
- 0x00000004
|
||||
- The driver allows the application to try to change the default HSV
|
||||
encoding. The application can ask to configure the HSV encoding of the
|
||||
subdevice when calling the :ref:`VIDIOC_SUBDEV_S_FMT <VIDIOC_SUBDEV_G_FMT>`
|
||||
ioctl with :ref:`V4L2_MBUS_FRAMEFMT_SET_CSC <mbus-framefmt-set-csc>` set.
|
||||
See :ref:`v4l2-mbus-format` on how to do this.
|
||||
* - V4L2_SUBDEV_MBUS_CODE_CSC_QUANTIZATION
|
||||
- 0x00000008
|
||||
- The driver allows the application to try to change the default
|
||||
quantization. The application can ask to configure the quantization of
|
||||
the subdevice when calling the :ref:`VIDIOC_SUBDEV_S_FMT <VIDIOC_SUBDEV_G_FMT>`
|
||||
ioctl with :ref:`V4L2_MBUS_FRAMEFMT_SET_CSC <mbus-framefmt-set-csc>` set.
|
||||
See :ref:`v4l2-mbus-format` on how to do this.
|
||||
|
||||
Return Value
|
||||
============
|
||||
|
||||
|
||||
Reference in New Issue
Block a user