~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/dev-capture.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/userspace-api/media/v4l/dev-capture.rst (Version linux-6.12-rc7) and /Documentation/userspace-api/media/v4l/dev-capture.rst (Version ccs-tools-1.8.12)


  1 .. SPDX-License-Identifier: GFDL-1.1-no-invari    
  2 .. c:namespace:: V4L                              
  3                                                   
  4 .. _capture:                                      
  5                                                   
  6 ***********************                           
  7 Video Capture Interface                           
  8 ***********************                           
  9                                                   
 10 Video capture devices sample an analog video s    
 11 digitized images in memory. Today nearly all d    
 12 25 or 30 frames/second. With this interface ap    
 13 capture process and move images from the drive    
 14                                                   
 15 Conventionally V4L2 video capture devices are     
 16 device special files named ``/dev/video`` and     
 17 ``/dev/video63`` with major number 81 and mino    
 18 ``/dev/video`` is typically a symbolic link to    
 19 device.                                           
 20                                                   
 21 .. note:: The same device file names are used     
 22                                                   
 23 Querying Capabilities                             
 24 =====================                             
 25                                                   
 26 Devices supporting the video capture interface    
 27 ``V4L2_CAP_VIDEO_CAPTURE`` or ``V4L2_CAP_VIDEO    
 28 the ``capabilities`` field of struct              
 29 :c:type:`v4l2_capability` returned by the         
 30 :ref:`VIDIOC_QUERYCAP` ioctl. As secondary dev    
 31 functions they may also support the :ref:`vide    
 32 (``V4L2_CAP_VIDEO_OVERLAY``) and the :ref:`raw    
 33 (``V4L2_CAP_VBI_CAPTURE``) interface. At least    
 34 streaming I/O methods must be supported. Tuner    
 35 optional.                                         
 36                                                   
 37 Supplemental Functions                            
 38 ======================                            
 39                                                   
 40 Video capture devices shall support :ref:`audi    
 41 :ref:`tuner`, :ref:`controls <control>`,          
 42 :ref:`cropping and scaling <crop>` and            
 43 :ref:`streaming parameter <streaming-par>` ioc    
 44 :ref:`video input <video>` ioctls must be supp    
 45 capture devices.                                  
 46                                                   
 47 Image Format Negotiation                          
 48 ========================                          
 49                                                   
 50 The result of a capture operation is determine    
 51 format parameters. The former select an area o    
 52 capture, the latter how images are stored in m    
 53 format, the number of bits per pixel or width     
 54 also define how images are scaled in the proce    
 55                                                   
 56 As usual these parameters are *not* reset at :    
 57 time to permit Unix tool chains, programming a    
 58 from it as if it was a plain file. Well writte    
 59 they really get what they want, including crop    
 60                                                   
 61 Cropping initialization at minimum requires to    
 62 defaults. An example is given in :ref:`crop`.     
 63                                                   
 64 To query the current image format applications    
 65 a struct :c:type:`v4l2_format` to                 
 66 ``V4L2_BUF_TYPE_VIDEO_CAPTURE`` or                
 67 ``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE`` and cal    
 68 :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` ioctl with     
 69 structure. Drivers fill the struct                
 70 :c:type:`v4l2_pix_format` ``pix`` or the struc    
 71 :c:type:`v4l2_pix_format_mplane` ``pix_mp``       
 72 member of the ``fmt`` union.                      
 73                                                   
 74 To request different parameters applications s    
 75 struct :c:type:`v4l2_format` as above and init    
 76 fields of the struct :c:type:`v4l2_pix_format`    
 77 ``vbi`` member of the ``fmt`` union, or better    
 78 of :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>`, and cal    
 79 ioctl with a pointer to this structure. Driver    
 80 parameters and finally return the actual param    
 81 does.                                             
 82                                                   
 83 Like :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` the :r    
 84 can be used to learn about hardware limitation    
 85 possibly time consuming hardware preparations.    
 86                                                   
 87 The contents of struct :c:type:`v4l2_pix_forma    
 88 struct :c:type:`v4l2_pix_format_mplane` are       
 89 discussed in :ref:`pixfmt`. See also the speci    
 90 :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>`, :ref:`VIDI    
 91 details. Video capture devices must implement     
 92 and :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl,     
 93 requests and always returns default parameters    
 94 :ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>` is option    
 95                                                   
 96 Reading Images                                    
 97 ==============                                    
 98                                                   
 99 A video capture device may support the :ref:`r    
100 and/or streaming (:ref:`memory mapping <func-m    
101 :ref:`user pointer <userp>`) I/O. See :ref:`io    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php