doc_rst: rename the media Sphinx suff to Documentation/media
The name of the subsystem is "media", and not "linux_tv". Also, as we plan to add other stuff there in the future, let's rename also the media uAPI book to media_uapi, to make it clearer. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
32
Documentation/media/uapi/v4l/dev-codec.rst
Normal file
32
Documentation/media/uapi/v4l/dev-codec.rst
Normal file
@@ -0,0 +1,32 @@
|
||||
.. -*- coding: utf-8; mode: rst -*-
|
||||
|
||||
.. _codec:
|
||||
|
||||
***************
|
||||
Codec Interface
|
||||
***************
|
||||
|
||||
A V4L2 codec can compress, decompress, transform, or otherwise convert
|
||||
video data from one format into another format, in memory. Typically
|
||||
such devices are memory-to-memory devices (i.e. devices with the
|
||||
``V4L2_CAP_VIDEO_M2M`` or ``V4L2_CAP_VIDEO_M2M_MPLANE`` capability set).
|
||||
|
||||
A memory-to-memory video node acts just like a normal video node, but it
|
||||
supports both output (sending frames from memory to the codec hardware)
|
||||
and capture (receiving the processed frames from the codec hardware into
|
||||
memory) stream I/O. An application will have to setup the stream I/O for
|
||||
both sides and finally call :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>`
|
||||
for both capture and output to start the codec.
|
||||
|
||||
Video compression codecs use the MPEG controls to setup their codec
|
||||
parameters (note that the MPEG controls actually support many more
|
||||
codecs than just MPEG). See :ref:`mpeg-controls`.
|
||||
|
||||
Memory-to-memory devices can often be used as a shared resource: you can
|
||||
open the video node multiple times, each application setting up their
|
||||
own codec properties that are local to the file handle, and each can use
|
||||
it independently from the others. The driver will arbitrate access to
|
||||
the codec and reprogram it whenever another file handler gets access.
|
||||
This is different from the usual video node behavior where the video
|
||||
properties are global to the device (i.e. changing something through one
|
||||
file handle is visible through another file handle).
|
Reference in New Issue
Block a user