/linux-6.15/Documentation/driver-api/media/ |
D | v4l2-core.rst | 9 v4l2-intro 10 v4l2-dev 11 v4l2-device 12 v4l2-fh 13 v4l2-subdev 14 v4l2-event 15 v4l2-controls 16 v4l2-videobuf2 17 v4l2-dv-timings 18 v4l2-flash-led-class [all …]
|
D | v4l2-intro.rst | 6 The V4L2 drivers tend to be very complex due to the complexity of the 8 /dev, and create also non-V4L2 devices such as DVB, ALSA, FB, I2C and input 11 Especially the fact that V4L2 drivers have to setup supporting ICs to 32 A good example to look at as a reference is the v4l2-pci-skeleton.c 34 a PCI capture card, and demonstrates how to use the V4L2 driver 46 3) Creating V4L2 device nodes (/dev/videoX, /dev/vbiX and /dev/radioX) 61 \-V4L2 device nodes 66 Structure of the V4L2 framework 71 sub-device instances, the video_device struct stores V4L2 device node data 74 The V4L2 framework also optionally integrates with the media framework. If a
|
/linux-6.15/drivers/media/v4l2-core/ |
D | Makefile | 3 # Makefile for the V4L2 core 11 videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \ 12 v4l2-event.o v4l2-subdev.o v4l2-common.o \ 13 v4l2-ctrls-core.o v4l2-ctrls-api.o \ 14 v4l2-ctrls-request.o v4l2-ctrls-defs.o 18 videodev-$(CONFIG_COMPAT) += v4l2-compat-ioctl32.o 19 videodev-$(CONFIG_MEDIA_CONTROLLER) += v4l2-mc.o 20 videodev-$(CONFIG_SPI) += v4l2-spi.o 21 videodev-$(CONFIG_TRACEPOINTS) += v4l2-trace.o 22 videodev-$(CONFIG_VIDEO_V4L2_I2C) += v4l2-i2c.o [all …]
|
D | Kconfig | 15 Enables the V4L2 sub-device pad-level userspace API used to configure 21 bool "Enable advanced debug functionality on V4L2 drivers" 39 # Used by drivers that need v4l2-jpeg.ko 43 # Used by drivers that need v4l2-h264.ko 47 # Used by drivers that need v4l2-vp9.ko 51 # Used by drivers that need v4l2-mem2mem.ko 58 tristate "V4L2 flash API for LED flash class devices" 65 Say Y here to enable V4L2 flash API support for LED flash
|
/linux-6.15/drivers/media/usb/em28xx/ |
D | em28xx-video.c | 29 #include <media/v4l2-common.h> 30 #include <media/v4l2-ioctl.h> 31 #include <media/v4l2-event.h> 65 MODULE_DESCRIPTION(DRIVER_DESC " - v4l2 interface"); 128 struct em28xx_v4l2 *v4l2 = dev->v4l2; in norm_maxw() local 131 return v4l2->sensor_xres; in norm_maxw() 141 struct em28xx_v4l2 *v4l2 = dev->v4l2; in norm_maxh() local 144 return v4l2->sensor_yres; in norm_maxh() 149 return (v4l2->norm & V4L2_STD_625_50) ? 576 : 480; in norm_maxh() 177 struct v4l2_device *v4l2_dev = &dev->v4l2->v4l2_dev; in em28xx_wake_i2c() [all …]
|
D | em28xx-camera.c | 13 #include <media/v4l2-common.h> 304 struct em28xx_v4l2 *v4l2 = dev->v4l2; in em28xx_init_camera() local 316 v4l2->sensor_xres = 640; in em28xx_init_camera() 317 v4l2->sensor_yres = 480; in em28xx_init_camera() 330 v4l2->sensor_xtal = 4300000; in em28xx_init_camera() 331 pdata.xtal = v4l2->sensor_xtal; in em28xx_init_camera() 333 v4l2_i2c_new_subdev_board(&v4l2->v4l2_dev, adap, in em28xx_init_camera() 336 v4l2->vinmode = EM28XX_VINMODE_RGB8_GRBG; in em28xx_init_camera() 337 v4l2->vinctl = 0x00; in em28xx_init_camera() 342 v4l2->sensor_xres = 1280; in em28xx_init_camera() [all …]
|
D | em28xx-vbi.c | 26 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vbi_queue_setup() local 27 unsigned long size = v4l2->vbi_width * v4l2->vbi_height * 2; in vbi_queue_setup() 47 struct em28xx_v4l2 *v4l2 = dev->v4l2; in vbi_buffer_prepare() local 50 size = v4l2->vbi_width * v4l2->vbi_height * 2; in vbi_buffer_prepare()
|
/linux-6.15/Documentation/userspace-api/media/ |
D | videodev2.h.rst.exceptions | 170 # V4L2 capability defines 203 # V4L2 pix flags 209 # V4L2 format flags 223 # V4L2 timecode types 230 # V4L2 timecode flags 237 # V4L2 JPEG markers 244 # V4L2 framebuffer caps and flags 270 replace define V4L2_STD_PAL_B v4l2-std-id 271 replace define V4L2_STD_PAL_B1 v4l2-std-id 272 replace define V4L2_STD_PAL_G v4l2-std-id [all …]
|
D | glossary.rst | 124 - :term:`V4L2 API`. 137 :term:`V4L2 Hardware` device driver that requires :term:`MC API`. 188 V4L2 API 189 **V4L2 userspace API** 192 control a V4L2 hardware. 194 V4L2 Device Node 197 The V4L2 device node naming is specified at :ref:`v4l2_device_naming`. 199 V4L2 Hardware 200 Part of the media hardware which is supported by the :term:`V4L2 API`. 202 V4L2 Sub-device [all …]
|
/linux-6.15/Documentation/userspace-api/media/v4l/ |
D | libv4l-introduction.rst | 25 found in V4L2 drivers into a few common RGB and YUY formats. 27 It currently accepts the following V4L2 driver formats: 28 :ref:`V4L2_PIX_FMT_BGR24 <V4L2-PIX-FMT-BGR24>`, 29 :ref:`V4L2_PIX_FMT_NV12_16L16 <V4L2-PIX-FMT-NV12-16L16>`, 30 :ref:`V4L2_PIX_FMT_JPEG <V4L2-PIX-FMT-JPEG>`, 31 :ref:`V4L2_PIX_FMT_MJPEG <V4L2-PIX-FMT-MJPEG>`, 32 :ref:`V4L2_PIX_FMT_MR97310A <V4L2-PIX-FMT-MR97310A>`, 33 :ref:`V4L2_PIX_FMT_OV511 <V4L2-PIX-FMT-OV511>`, 34 :ref:`V4L2_PIX_FMT_OV518 <V4L2-PIX-FMT-OV518>`, 35 :ref:`V4L2_PIX_FMT_PAC207 <V4L2-PIX-FMT-PAC207>`, [all …]
|
D | diff-v4l.rst | 7 Differences between V4L and V4L2 13 the much improved V4L2 API replaces the V4L API. The support for the old 15 supports the conversion of a V4L API system call into a V4L2 one. 21 for V4L2 video capture, overlay, radio and raw vbi capture devices did 25 The teletext devices (minor range 192-223) have been removed in V4L2 and 31 recommend that V4L2 drivers by default register devices with the same 56 V4L2 drivers *may* support multiple opens, see :ref:`open` for details 59 V4L drivers respond to V4L2 ioctls with an ``EINVAL`` error code. 64 The V4L ``VIDIOCGCAP`` ioctl is equivalent to V4L2's 69 was replaced by ``capabilities``. Note V4L2 does not distinguish between [all …]
|
D | hist-v4l2.rst | 4 .. _hist-v4l2: 7 Changes of the V4L2 API 13 With the help of other volunteers this eventually became the V4L2 API, 68 V4L2 Version 0.16 1999-01-31 75 V4L2 Version 0.18 1999-03-16 78 Added a v4l to V4L2 ioctl compatibility layer to videodev.c. Driver 82 V4L2 Version 0.19 1999-06-05 107 V4L2 Version 0.20 (1999-09-10) 123 convention in the V4L2 API. The affected ioctls are: VIDIOC_PREVIEW, 199 V4L2 Version 0.20 incremental changes [all …]
|
D | open.rst | 12 Controlling a hardware peripheral via V4L2 15 Hardware that is supported using the V4L2 uAPI often consists of multiple 18 The bridge driver exposes one or more V4L2 device nodes 22 the hardware, which may also expose device nodes, called V4L2 sub-devices. 24 When such V4L2 sub-devices are exposed, they allow controlling those 29 :ref:`V4L2 sub-devices <subdev>`. 33 devices. The devices that are fully controlled via V4L2 device nodes 36 Userspace can check if a V4L2 hardware peripheral is MC-centric by 43 It is required for MC-centric drivers to identify the V4L2 60 V4L2 Device Node Naming [all …]
|
D | func-ioctl.rst | 7 V4L2 ioctl() 13 v4l2-ioctl - Program a V4L2 device 31 V4L2 ioctl request code as defined in the ``videodev2.h`` header 40 The :ref:`ioctl() <func-ioctl>` function is used to program V4L2 devices. The 44 defines specifying V4L2 ioctl requests are located in the 47 All V4L2 ioctl requests, their respective function and parameters are
|
D | pixfmt-intro.rst | 9 interpret the same way. V4L2 includes several such formats, and this 11 image data formats in V4L2. 13 V4L2 drivers are not limited to these formats, however. Driver-specific 22 Even so, ultimately, some standard formats are needed, so the V4L2 26 The V4L2 standard formats are mainly uncompressed formats. The pixels 37 In V4L2 each format has an identifier which looks like ``PIX_FMT_XXX``, 40 :ref:`four character (FourCC) codes <v4l2-fourcc>` which are also 47 :ref:`YUV422 <V4L2-PIX-FMT-YUV422M>` frame is normally stored in one
|
D | selections-common.rst | 8 While the :ref:`V4L2 selection API <selection-api>` and 9 :ref:`V4L2 subdev selection APIs <v4l2-subdev-selections>` are very 12 and is bound to a sub-device's pad. On the V4L2 interface the selection 22 v4l2-selection-targets 23 v4l2-selection-flags
|
/linux-6.15/include/media/ |
D | v4l2-flash-led-class.h | 3 * V4L2 flash LED sub-device registration helpers. 12 #include <media/v4l2-ctrls.h> 13 #include <media/v4l2-subdev.h> 25 * @cid: contains v4l2 flash control id if the config 34 * struct v4l2_flash_ops - V4L2 flash operations 53 * struct v4l2_flash_config - V4L2 Flash sub-device initialization data 75 * @ops: V4L2 specific flash ops 76 * @sd: V4L2 sub-device 116 * v4l2_flash_init - initialize V4L2 flash led sub-device 120 * @ops: V4L2 Flash device ops [all …]
|
D | v4l2-fwnode.h | 3 * V4L2 fwnode binding parsing library 22 #include <media/v4l2-mediabus.h> 104 * @V4L2_CONN_UNKNOWN: unknown connector type, no V4L2 connector configuration 186 * @vep: pointer to the V4L2 fwnode data structure 188 * This function parses the V4L2 fwnode endpoint specific parameters from the 213 * The function does not change the V4L2 fwnode endpoint state if it fails. 228 * v4l2_fwnode_endpoint_free() - free the V4L2 fwnode acquired by 230 * @vep: the V4L2 fwnode the resources of which are to be released 232 * It is safe to call this function with NULL argument or on a V4L2 fwnode the 240 * @vep: pointer to the V4L2 fwnode data structure [all …]
|
/linux-6.15/Documentation/translations/zh_CN/video4linux/ |
D | v4l2-framework.txt | 25 V4L2 驱动框架概览 28 本文档描述 V4L2 框架所提供的各种结构和它们之间的关系。 34 大部分现代 V4L2 设备由多个 IC 组成,在 /dev 下导出多个设备节点, 35 并同时创建非 V4L2 设备(如 DVB、ALSA、FB、I2C 和红外输入设备)。 36 由于这种硬件的复杂性,V4L2 驱动也变得非常复杂。 38 尤其是 V4L2 必须支持 IC 实现音视频的多路复用和编解码,这就更增加了其 57 所有 V4L2 驱动都有如下结构: 63 3) 创建 V4L2 设备节点 (/dev/videoX、/dev/vbiX 和 /dev/radioX) 76 \-V4L2 device nodes(V4L2 设备节点) 86 结构体保存 V4L2 设备节点的数据;将来 v4l2_fh 结构体将跟踪文件句柄 [all …]
|
/linux-6.15/drivers/gpu/drm/renesas/rcar-du/ |
D | rcar_du_kms.c | 44 .v4l2 = V4L2_PIX_FMT_RGB565, 52 .v4l2 = V4L2_PIX_FMT_ARGB555, 60 .v4l2 = V4L2_PIX_FMT_XRGB555, 67 .v4l2 = V4L2_PIX_FMT_XBGR32, 75 .v4l2 = V4L2_PIX_FMT_ABGR32, 83 .v4l2 = V4L2_PIX_FMT_UYVY, 91 .v4l2 = V4L2_PIX_FMT_YUYV, 99 .v4l2 = V4L2_PIX_FMT_NV12M, 107 .v4l2 = V4L2_PIX_FMT_NV21M, 115 .v4l2 = V4L2_PIX_FMT_NV16M, [all …]
|
/linux-6.15/Documentation/userspace-api/media/drivers/ |
D | uvcvideo.rst | 23 - through mappings of XU controls to V4L2 controls 26 The first one allows generic V4L2 applications to use XU controls by mapping 27 certain XU controls onto V4L2 controls, which then show up during ordinary 42 ranges thereof to be mapped to new V4L2 controls. Such controls appear and 43 function exactly like normal V4L2 controls (i.e. the stock controls, such as 44 brightness, contrast, etc.). However, reading or writing of such a V4L2 controls 109 UVCIOC_CTRL_MAP - Map a UVC control to a V4L2 control 117 control and a V4L2 control. Once mappings are defined, userspace 118 applications can access vendor-defined UVC control through the V4L2 123 UVCIOC_CTRL_ADD and a new V4L2 control. [all …]
|
/linux-6.15/Documentation/leds/ |
D | leds-class-flash.rst | 26 V4L2 flash wrapper for flash LEDs 34 V4L2 subsystem. The function takes six arguments: 46 V4L2 specific ops 55 enum led_brightness <-> V4L2 intensity conversion in a device 59 configuration for V4L2 Flash sub-device 82 v4l2 flash wrapper. 84 Once the V4L2 sub-device is registered by the driver which created the Media 85 controller device, the sub-device node acts just as a node of a native V4L2 88 Opening the V4L2 flash sub-device makes the LED subsystem sysfs interface 89 unavailable. The interface is re-enabled after the V4L2 flash sub-device
|
/linux-6.15/drivers/staging/media/atomisp/ |
D | TODO | 8 * Remove/disable custom v4l2-ctrls 14 * Remove abuse of priv field in various v4l2 userspace API structs 17 picture, the exposure/gain needs to be tuned using v4l2-ctl on the sensor 36 * Ensure that the driver will pass v4l2-compliance tests 38 * Fix not all v4l2 apps working, e.g. cheese does not work 47 now is using v4l2-ctl to select the input and gstreamer for streaming. 51 v4l2-ctl -i <input> 71 v4l2-ctl on the sensor subdev to tweak the exposure ctrl; or by using a GUI 72 app for v4l2-controls which also supports subdev such as the Fedora patched
|
/linux-6.15/Documentation/process/debugging/ |
D | media_specific_debugging_guide.rst | 36 For the full documentation see :ref:`driver-api/media/v4l2-dev:video device 42 Two debug print statements, which are specific for devices and for the v4l2 69 $ ddcmd '-p; file v4l2-h264.c +p' 71 drivers/media/v4l2-core/v4l2-h264.c:372 [v4l2_h264]print_ref_list_b =p 73 drivers/media/v4l2-core/v4l2-h264.c:333 [v4l2_h264]print_ref_list_p =p 145 Driver verification with v4l2-compliance 148 To verify, that a driver adheres to the v4l2 API, the tool v4l2-compliance is 155 v4l2-compliance -M /dev/mediaX --verbose 160 v4l2-compliance -m /dev/mediaX 166 to the kernel log. It's called by v4l2-ctl --log-status. Very useful for [all …]
|
/linux-6.15/drivers/media/platform/sunxi/sun6i-csi/ |
D | sun6i_csi.c | 18 #include <media/v4l2-device.h> 19 #include <media/v4l2-mc.h> 74 /* V4L2 */ 78 struct sun6i_csi_v4l2 *v4l2 = &csi_dev->v4l2; in sun6i_csi_v4l2_setup() local 79 struct media_device *media_dev = &v4l2->media_dev; in sun6i_csi_v4l2_setup() 80 struct v4l2_device *v4l2_dev = &v4l2->v4l2_dev; in sun6i_csi_v4l2_setup() 100 /* V4L2 Device */ in sun6i_csi_v4l2_setup() 106 dev_err(dev, "failed to register v4l2 device: %d\n", ret); in sun6i_csi_v4l2_setup() 124 struct sun6i_csi_v4l2 *v4l2 = &csi_dev->v4l2; in sun6i_csi_v4l2_cleanup() local 126 media_device_unregister(&v4l2->media_dev); in sun6i_csi_v4l2_cleanup() [all …]
|