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

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/dev-mem2mem.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-mem2mem.rst (Architecture alpha) and /Documentation/userspace-api/media/v4l/dev-mem2mem.rst (Architecture m68k)


  1 .. SPDX-License-Identifier: GFDL-1.1-no-invari      1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2                                                     2 
  3 .. _mem2mem:                                        3 .. _mem2mem:
  4                                                     4 
  5 ********************************                    5 ********************************
  6 Video Memory-To-Memory Interface                    6 Video Memory-To-Memory Interface
  7 ********************************                    7 ********************************
  8                                                     8 
  9 A V4L2 memory-to-memory device can compress, d      9 A V4L2 memory-to-memory device can compress, decompress, transform, or
 10 otherwise convert video data from one format i     10 otherwise convert video data from one format into another format, in memory.
 11 Such memory-to-memory devices set the ``V4L2_C     11 Such memory-to-memory devices set the ``V4L2_CAP_VIDEO_M2M`` or
 12 ``V4L2_CAP_VIDEO_M2M_MPLANE`` capability. Exam     12 ``V4L2_CAP_VIDEO_M2M_MPLANE`` capability. Examples of memory-to-memory
 13 devices are codecs, scalers, deinterlacers or      13 devices are codecs, scalers, deinterlacers or format converters (i.e.
 14 converting from YUV to RGB).                       14 converting from YUV to RGB).
 15                                                    15 
 16 A memory-to-memory video node acts just like a     16 A memory-to-memory video node acts just like a normal video node, but it
 17 supports both output (sending frames from memo     17 supports both output (sending frames from memory to the hardware)
 18 and capture (receiving the processed frames fr     18 and capture (receiving the processed frames from the hardware into
 19 memory) stream I/O. An application will have t     19 memory) stream I/O. An application will have to setup the stream I/O for
 20 both sides and finally call :ref:`VIDIOC_STREA     20 both sides and finally call :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>`
 21 for both capture and output to start the hardw     21 for both capture and output to start the hardware.
 22                                                    22 
 23 Memory-to-memory devices function as a shared      23 Memory-to-memory devices function as a shared resource: you can
 24 open the video node multiple times, each appli     24 open the video node multiple times, each application setting up their
 25 own properties that are local to the file hand     25 own properties that are local to the file handle, and each can use
 26 it independently from the others. The driver w     26 it independently from the others. The driver will arbitrate access to
 27 the hardware and reprogram it whenever another     27 the hardware and reprogram it whenever another file handler gets access.
 28 This is different from the usual video node be     28 This is different from the usual video node behavior where the video
 29 properties are global to the device (i.e. chan     29 properties are global to the device (i.e. changing something through one
 30 file handle is visible through another file ha     30 file handle is visible through another file handle).
 31                                                    31 
 32 One of the most common memory-to-memory device     32 One of the most common memory-to-memory device is the codec. Codecs
 33 are more complicated than most and require add     33 are more complicated than most and require additional setup for
 34 their codec parameters. This is done through c     34 their codec parameters. This is done through codec controls.
 35 See :ref:`codec-controls`. More details on how     35 See :ref:`codec-controls`. More details on how to use codec memory-to-memory
 36 devices are given in the following sections.       36 devices are given in the following sections.
 37                                                    37 
 38 .. toctree::                                       38 .. toctree::
 39     :maxdepth: 1                                   39     :maxdepth: 1
 40                                                    40 
 41     dev-decoder                                    41     dev-decoder
 42     dev-encoder                                    42     dev-encoder
 43     dev-stateless-decoder                          43     dev-stateless-decoder
                                                      

~ [ 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