aboutsummaryrefslogtreecommitdiff
path: root/include/uapi/linux/videodev2.h
AgeCommit message (Collapse)AuthorFilesLines
2016-10-21[media] videodev2.h Add HSV formatsRicardo Ribalda Delgado1-0/+4
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. Signed-off-by: Ricardo Ribalda Delgado <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-10-21[media] v4l: add Mediatek compressed video block formatTiffany Lin1-0/+1
Add V4L2_PIX_FMT_MT21C format used on MT8173 driver. It is compressed format and need MT8173 MDP driver to transfer to other standard format. Signed-off-by: Tiffany Lin <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-10-21[media] videodev2.h: add V4L2_PIX_FMT_VP9 formatWu-Cheng Li1-0/+1
This adds VP9 video coding format, a successor to VP8. Signed-off-by: Wu-Cheng Li <[email protected]> Signed-off-by: Tiffany Lin <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-09-19[media] SDI: add flag for SDI formats and SMPTE 125M definitionCharles-Antoine Couret1-0/+8
Adding others generic flags, which could be used by many components like GS1662. Signed-off-by: Charles-Antoine Couret <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] videodev2.h: put V4L2_YCBCR_ENC_SYCC under #ifndef __KERNEL__Hans Verkuil1-5/+9
This define is a duplicate of V4L2_YCBCR_ENC_601. So mark it as 'should not be used' and put it under #ifndef __KERNEL__ to prevent drivers from referring to it. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-24[media] videodev2.h: fix sYCC/AdobeYCC default quantization rangeHans Verkuil1-3/+4
The default quantization range of the Y'CbCr encodings of sRGB and AdobeRGB are full range instead of limited range according to the corresponding standards. Fix this in the V4L2_MAP_QUANTIZATION_DEFAULT macro. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-08-23[media] v4l2-core: Add support for touch devicesNick Dyer1-0/+9
Some touch controllers send out touch data in a similar way to a greyscale frame grabber. Add new device type VFL_TYPE_TOUCH: - This uses a new device prefix v4l-touch for these devices, to stop generic capture software from treating them as webcams. Otherwise, touch is treated similarly to video capture. - Add V4L2_INPUT_TYPE_TOUCH - Add MEDIA_INTF_T_V4L_TOUCH - Add V4L2_CAP_TOUCH to indicate device is a touch device Add formats: - V4L2_TCH_FMT_DELTA_TD16 for signed 16-bit touch deltas - V4L2_TCH_FMT_DELTA_TD08 for signed 16-bit touch deltas - V4L2_TCH_FMT_TU16 for unsigned 16-bit touch data - V4L2_TCH_FMT_TU08 for unsigned 8-bit touch data This support will be used by: - Atmel maXTouch (atmel_mxt_ts) - Synaptics RMI4. - sur40 Signed-off-by: Nick Dyer <[email protected]> Tested-by: Chris Healy <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> Acked-by: Dmitry Torokhov <[email protected]>
2016-06-28[media] videodev2.h: Fix V4L2_PIX_FMT_YUV411P descriptionLaurent Pinchart1-1/+1
YUV 4:1:1 uses 12 bits per pixel on average, not 16. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-06-28[media] videodev2.h: Group YUV 3 planes formats togetherLaurent Pinchart1-6/+8
The formats are interleaved with the YUV packed and miscellaneous formats, making the result confusing especially with the YUV444 format being packed and not planar like YUV410 or YUV420. Move them to their own group as the 2 planes or 3 non-contiguous planes formats to clarify the header. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-04-25[media] videodev2.h: remove 'experimental' annotationsHans Verkuil1-28/+10
Most of what is marked as 'experimental' has been around for years. Time to drop that annotation. The only remaining 'experimental' bits of the API are the debug ioctls and structs: these should remain experimental since the only application that should use this is v4l2-dbg. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-03-03[media] UVC: Add support for R200 depth cameraAviv Greenberg1-0/+3
Add support for Intel R200 depth camera in uvc driver. This includes adding new uvc GUIDs for the new pixel formats, adding new V4L pixel format definition to user api headers, and updating the uvc driver GUID-to-4cc tables with the new formats. Tested-by: Greenberg, Aviv D <[email protected]> Signed-off-by: Aviv Greenberg <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Guennadi Liakhovetski <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2016-02-19[media] v4l: Add YUV 4:2:2 and YUV 4:4:4 tri-planar non-contiguous formatsLaurent Pinchart1-0/+4
The formats use three planes through the multiplanar API, allowing for non-contiguous planes in memory. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-12-12Revert "[media] UVC: Add support for ds4 depth camera"Mauro Carvalho Chehab1-3/+0
This reverts commit 120c41d3477a23c6941059401db63677736f1935. The patch doesn't add the corresponding documentation bits to the media infrastructure uAPI DocBook. Also, they're for 3D formats, with requre further discussions. Requested-by: Hans Verkuil <[email protected]> Requested-by: Laurent Pinchart <[email protected]>
2015-12-04[media] use https://linuxtv.org for LinuxTV URLsMauro Carvalho Chehab1-1/+1
While https was always supported on linuxtv.org, only in Dec 3 2015 the website is using valid certificates. As we're planning to drop pure http support on some future, change all references at the media subsystem to point to the https URL instead. Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-12-03[media] UVC: Add support for ds4 depth cameraAviv Greenberg1-0/+3
Add support for Intel DS4 depth camera in uvc driver. This includes adding new uvc GUIDs for the new pixel formats, adding new V4L pixel format definition to user api headers, and updating the uvc driver GUID-to-4cc tables with the new formats. Change-Id: If240d95a7d4edc8dcc3e02d58cd8267a6bbf6fcb Tested-by: Greenberg, Aviv D <[email protected]> Signed-off-by: Aviv Greenberg <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-11-17[media] media/core: Replace ctrl_class with whichRicardo Ribalda1-0/+5
Replace the obsolete field ctrl_class with "which". Make sure it not used in future modules by commenting out the field with ifndef __KERNEL_ . The field cannot be simply removed because that would be change on the kenel API to the userspace (and we don't like that). Signed-off-by: Ricardo Ribalda Delgado <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-11-17[media] videodev2.h: Extend struct v4l2_ext_controlsRicardo Ribalda1-1/+6
So it can be used to get the default value of a control. Without this change it is not possible to get the default value of array controls. Signed-off-by: Ricardo Ribalda Delgado <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-10-20[media] v4l: add type field to v4l2_modulator structAntti Palosaari1-1/+2
Add type field to that struct like it counterpart v4l2_tuner already has. We need type field to distinguish different tuner types from each others for transmitter too. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-10-20[media] v4l2: add support for SDR transmitterAntti Palosaari1-1/+4
New IOCTL ops: vidioc_enum_fmt_sdr_out vidioc_g_fmt_sdr_out vidioc_s_fmt_sdr_out vidioc_try_fmt_sdr_out New vb2 buffertype: V4L2_BUF_TYPE_SDR_OUTPUT New v4l2 capability: V4L2_CAP_SDR_OUTPUT Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-10-20[media] v4l2: rename V4L2_TUNER_ADC to V4L2_TUNER_SDRAntti Palosaari1-1/+4
SDR receiver has ADC (Analog-to-Digital Converter) and SDR transmitter has DAC (Digital-to-Analog Converter). Originally I though it could be good idea to have own type for receiver and transmitter, but now I feel one common type for SDR is enough. So lets rename it. Signed-off-by: Antti Palosaari <[email protected]> Acked-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> [[email protected]: this was added in 4.4, so update 4.2 to 4.4] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-10-01[media] videodev2.h: Fix typo in commentRicardo Ribalda1-1/+1
Referenced file has moved Signed-off-by: Ricardo Ribalda Delgado <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-09-30[media] videodev2.h: add SMPTE 2084 transfer function defineHans Verkuil1-0/+1
CEA-861.3 adds support for the SMPTE 2084 Electro-Optical Transfer Function as can be used in HDR displays. Add a define for this in videodev2.h. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-09-30[media] videodev2.h: add support for the DCI-P3 colorspaceHans Verkuil1-5/+13
This colorspace is used for cinema projectors and is supported by the DisplayPort standard. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-06-18[media] videodev2.h: fix copy-and-paste error in V4L2_MAP_XFER_FUNC_DEFAULTHans Verkuil1-1/+1
The colorspace argument was compared against a V4L2_XFER_FUNC define instead of against a V4L2_COLORSPACE define, returning the wrong answer. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-06-05[media] videodev2.h: add support for transfer functionsHans Verkuil1-1/+40
In the past the transfer function was implied by the colorspace. However, it is an independent entity in its own right. Add support for explicitly choosing the transfer function. This change will allow us to represent linear RGB (as is used by openGL), and it will make it easier to work with decoded video material since most codecs store the transfer function as a separate property as well. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-05-30[media] videodev2.h: add macros to map colorspace defaultsHans Verkuil1-0/+30
The mapping of COLORSPACE_DEFAULT, YCBCR_ENC_DEFAULT or QUANTIZATION_DEFAULT to proper non-default values is fairly complex, and it is something that needs to be done both in the kernel and in userspace. So add macros that can do this conversion, making this available to both kernel and userspace. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-05-30[media] videodev2.h: add COLORSPACE_RAWHans Verkuil1-0/+3
V4L2_COLORSPACE_RAW is added for raw image formats where the picture is minimally processed and is in the internal colorspace of the sensor. This is typically used in digital cameras where the image processing is done later. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-05-30[media] videodev2.h: add COLORSPACE_DEFAULTHans Verkuil1-0/+6
V4L2_COLORSPACE_DEFAULT is added so we have a specific define for the default case where applications do not set it but leave it to 0. In that case the driver will set the colorspace based on what it captures. This is already used, but we never had a define for the value 0. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-05-30[media] media/v4l2-core: Add support for V4L2_PIX_FMT_Y16_BERicardo Ribalda1-0/+1
16 bit greyscale format, structured in Big Endian. Such a format can be converted into a PMN image just by adding a header. Signed-off-by: Ricardo Ribalda Delgado <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-05-12[media] videodev2: Add V4L2_BUF_FLAG_LASTPeter Seiderer1-0/+2
This v4l2_buffer flag can be used by drivers to mark a capture buffer as the last generated buffer, for example after a V4L2_DEC_CMD_STOP command was issued. Signed-off-by: Peter Seiderer <[email protected]> Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Kamil Debski <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-04-08[media] videodev2.h/v4l2-dv-timings.h: add V4L2_DV_FL_IS_CE_VIDEO flagHans Verkuil1-0/+6
In the past the V4L2_DV_BT_STD_CEA861 standard bit was used to determine whether the format is a CE (Consumer Electronics) format or not. However, the 640x480p59.94 format is part of the CEA-861 standard, but it is *not* a CE video format. Add a new flag to make this explicit. This information is needed in order to determine the default R'G'B' encoding for the format: for CE video this is limited range (16-235) instead of full range (0-255). The header with all the timings has been updated with this new flag. Signed-off-by: Hans Verkuil <[email protected]> Cc: Martin Bugge <[email protected]> Cc: Mats Randgaard <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-04-08[media] media: New flag V4L2_CTRL_FLAG_EXECUTE_ON_WRITERicardo Ribalda1-0/+1
Create a new flag that represent controls which its value needs to be passed to the driver even if it has not changed. They typically represent actions, like triggering a flash or clearing an error flag. So writing to such a control means some action is executed. Signed-off-by: Ricardo Ribalda Delgado <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-04-02[media] v4l2_plane_pix_format: use __u32 bytesperline instead of __u16Hans Verkuil1-2/+2
While running v4l2-compliance tests on vivid I suddenly got errors due to a call to vmalloc_user with size 0 from vb2. Digging deeper into the cause I discovered that this was due to the fact that struct v4l2_plane_pix_format defines bytesperline as a __u16 instead of a __u32. The test I was running selected a format of 4 * 4096 by 4 * 2048 with a 32 bit pixelformat. So bytesperline was 4 * 4 * 4096 = 65536, which becomes 0 in a __u16. And bytesperline * height is suddenly 0 as well. While the vivid driver may be a virtual driver, it is to be expected that this limit will be hit for real hardware as well in the near future: 8k deep-color video will already reach it. The solution is to change the type to __u32. The only drivers besides vivid that use the multiplanar API are little-endian ARM and SH platforms (exynos, ti-vpe, vsp1), so this is safe. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2015-04-02[media] videodev2.h: fix commentHans Verkuil1-3/+4
The quantization comment in the header was incorrect w.r.t. BT.2020. Fix this. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-12-23[media] v4l: Add packed Bayer raw10 pixel formatsAviv Greenberg1-0/+5
These formats are just like 10-bit raw bayer formats that exist already, but the pixels are not padded to byte boundaries. Instead, the eight high order bits of four consecutive pixels are stored in four bytes, followed by a byte of two low order bits of each of the four pixels. Signed-off-by: Aviv Greenberg <[email protected]> Signed-off-by: Sakari Ailus <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-12-23[media] DocBook: v4l: Rearrange raw bayer format definitions, remove bad commentSakari Ailus1-8/+4
Rearrange 12-bit raw bayer format definitions after 10-bit ones. Also remove the comment related to 16-bit bayer formats, it was simply wrong. Signed-off-by: Sakari Ailus <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-12-04[media] v4l: Add input and output capability flags for native size settingSakari Ailus1-0/+2
Add input and output capability flags for setting native size of the device, and document them. Signed-off-by: Sakari Ailus <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-12-01[media] videodev2.h: improve colorspace supportHans Verkuil1-10/+89
Add support for the new AdobeRGB and BT.2020 colorspaces as needed for HDMI 2.0. Add support to specify the Y'CbCr encoding and quantization range explicitly. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-09-21[media] v4l: Add ARGB555X and XRGB555X pixel formatsLaurent Pinchart1-0/+3
The existing RGB555X pixel format is ill-defined in respect to its alpha bit and its meaning is driver dependent. Create new standard ARGB555X and XRGB555X variants with clearly defined meanings and make the existing variant deprecated. The new pixel formats 4CC values have been selected to match the DRM 4CCs for the same in-memory formats. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-09-03[media] videodev2.h: add __user to v4l2_ext_control pointersHans Verkuil1-5/+5
These are not copied to kernel space by video_usercopy, so mark them as __user. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-25[media] v4l2-ctrls: add new RDS TX controlsHans Verkuil1-0/+2
The si4713 supports several RDS features not yet implemented in the driver. This patch adds the missing RDS functionality to the list of RDS controls. The ALT_FREQS control is a compound control containing an array of up to 25 (the maximum according to the RDS standard) frequencies. To support that the V4L2_CTRL_TYPE_U32 was added. Signed-off-by: Hans Verkuil <[email protected]> Cc: Eduardo Valentin <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-22[media] videodev2.h: add defines for the VBI field start linesHans Verkuil1-0/+6
While working with raw and sliced VBI support in several applications I noticed that you really need to know the start linenumbers for each video field in order to correctly convert the start line numbers reported by v4l2_vbi_format to the line numbers used in v4l2_sliced_vbi_format. This patch adds four defines that specify the start lines for each field for both 525 and 625 line standards. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-21[media] v4l: videodev2: add buffer size to SDR formatAntti Palosaari1-1/+3
Add buffer size field to struct v4l2_sdr_format. It is used for negotiate streaming buffer size between application and driver. Signed-off-by: Antti Palosaari <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-21[media] v4l: uapi: add SDR format CS14Antti Palosaari1-0/+1
V4L2_SDR_FMT_CS14LE - Complex signed 14-bit IQ sample Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-21[media] v4l: uapi: add SDR format CS8Antti Palosaari1-0/+1
V4L2_SDR_FMT_CS8 - Complex signed 8-bit IQ sample Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-21[media] v4l: uapi: add SDR format RU12LEAntti Palosaari1-0/+1
V4L2_SDR_FMT_RU12LE - Real unsigned 12-bit little endian sample inside 16-bit (2 byte). V4L2 FourCC: RU12. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-17[media] videodev2.h: add V4L2_FIELD_HAS_T_OR_B macroHans Verkuil1-0/+4
Add a macro to test if the field consists of a single top or bottom field. Anyone who needs to work with fields as opposed to frame will need this. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-17[media] v4l: Add premultiplied alpha flag for pixel formatsLaurent Pinchart1-1/+7
When set, the new V4L2_PIX_FMT_FLAG_PREMUL_ALPHA flag indicates that the pixel values are premultiplied by the alpha channel value. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-17[media] v4l: Support extending the v4l2_pix_format structureLaurent Pinchart1-1/+14
The v4l2_pix_format structure has no reserved field. It is embedded in the v4l2_framebuffer structure which has no reserved fields either, and in the v4l2_format structure which has reserved fields that were not previously required to be zeroed out by applications. To allow extending v4l2_pix_format, inline it in the v4l2_framebuffer structure, and use the priv field as a magic value to indicate that the application has set all v4l2_pix_format extended fields and zeroed all reserved fields following the v4l2_pix_format field in the v4l2_format structure. The availability of this API extension is reported to userspace through the new V4L2_CAP_EXT_PIX_FORMAT capability flag. Just checking that the priv field is still set to the magic value at [GS]_FMT return wouldn't be enough, as older kernels don't zero the priv field on return. To simplify the internal API towards drivers zero the extended fields and set the priv field to the magic value for applications not aware of the extensions. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2014-07-17[media] v4l: Add ARGB and XRGB pixel formatsLaurent Pinchart1-0/+8
The existing RGB pixel formats are ill-defined in respect to their alpha bits and their meaning is driver dependent. Create new standard ARGB and XRGB variants with clearly defined meanings and make the existing variants deprecated. The new pixel formats 4CC values have been selected to match the DRM 4CCs for the same in-memory formats. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>