mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 19:53:59 +08:00
059b1c5b15
SPDX v3.10 gained support for GFDL-1.1 with no invariant sections: https://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.html So, remove the license text, replacing them by this new SPDX license. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
107 lines
3.8 KiB
ReStructuredText
107 lines
3.8 KiB
ReStructuredText
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
|
|
|
|
.. _jpeg-controls:
|
|
|
|
**********************
|
|
JPEG Control Reference
|
|
**********************
|
|
|
|
The JPEG class includes controls for common features of JPEG encoders
|
|
and decoders. Currently it includes features for codecs implementing
|
|
progressive baseline DCT compression process with Huffman entrophy
|
|
coding.
|
|
|
|
|
|
.. _jpeg-control-id:
|
|
|
|
JPEG Control IDs
|
|
================
|
|
|
|
``V4L2_CID_JPEG_CLASS (class)``
|
|
The JPEG class descriptor. Calling
|
|
:ref:`VIDIOC_QUERYCTRL` for this control will
|
|
return a description of this control class.
|
|
|
|
``V4L2_CID_JPEG_CHROMA_SUBSAMPLING (menu)``
|
|
The chroma subsampling factors describe how each component of an
|
|
input image is sampled, in respect to maximum sample rate in each
|
|
spatial dimension. See :ref:`itu-t81`, clause A.1.1. for more
|
|
details. The ``V4L2_CID_JPEG_CHROMA_SUBSAMPLING`` control determines
|
|
how Cb and Cr components are downsampled after converting an input
|
|
image from RGB to Y'CbCr color space.
|
|
|
|
.. tabularcolumns:: |p{7.5cm}|p{10.0cm}|
|
|
|
|
.. flat-table::
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
|
|
* - ``V4L2_JPEG_CHROMA_SUBSAMPLING_444``
|
|
- No chroma subsampling, each pixel has Y, Cr and Cb values.
|
|
* - ``V4L2_JPEG_CHROMA_SUBSAMPLING_422``
|
|
- Horizontally subsample Cr, Cb components by a factor of 2.
|
|
* - ``V4L2_JPEG_CHROMA_SUBSAMPLING_420``
|
|
- Subsample Cr, Cb components horizontally and vertically by 2.
|
|
* - ``V4L2_JPEG_CHROMA_SUBSAMPLING_411``
|
|
- Horizontally subsample Cr, Cb components by a factor of 4.
|
|
* - ``V4L2_JPEG_CHROMA_SUBSAMPLING_410``
|
|
- Subsample Cr, Cb components horizontally by 4 and vertically by 2.
|
|
* - ``V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY``
|
|
- Use only luminance component.
|
|
|
|
|
|
|
|
``V4L2_CID_JPEG_RESTART_INTERVAL (integer)``
|
|
The restart interval determines an interval of inserting RSTm
|
|
markers (m = 0..7). The purpose of these markers is to additionally
|
|
reinitialize the encoder process, in order to process blocks of an
|
|
image independently. For the lossy compression processes the restart
|
|
interval unit is MCU (Minimum Coded Unit) and its value is contained
|
|
in DRI (Define Restart Interval) marker. If
|
|
``V4L2_CID_JPEG_RESTART_INTERVAL`` control is set to 0, DRI and RSTm
|
|
markers will not be inserted.
|
|
|
|
.. _jpeg-quality-control:
|
|
|
|
``V4L2_CID_JPEG_COMPRESSION_QUALITY (integer)``
|
|
``V4L2_CID_JPEG_COMPRESSION_QUALITY`` control determines trade-off
|
|
between image quality and size. It provides simpler method for
|
|
applications to control image quality, without a need for direct
|
|
reconfiguration of luminance and chrominance quantization tables. In
|
|
cases where a driver uses quantization tables configured directly by
|
|
an application, using interfaces defined elsewhere,
|
|
``V4L2_CID_JPEG_COMPRESSION_QUALITY`` control should be set by
|
|
driver to 0.
|
|
|
|
The value range of this control is driver-specific. Only positive,
|
|
non-zero values are meaningful. The recommended range is 1 - 100,
|
|
where larger values correspond to better image quality.
|
|
|
|
.. _jpeg-active-marker-control:
|
|
|
|
``V4L2_CID_JPEG_ACTIVE_MARKER (bitmask)``
|
|
Specify which JPEG markers are included in compressed stream. This
|
|
control is valid only for encoders.
|
|
|
|
|
|
|
|
.. flat-table::
|
|
:header-rows: 0
|
|
:stub-columns: 0
|
|
|
|
* - ``V4L2_JPEG_ACTIVE_MARKER_APP0``
|
|
- Application data segment APP\ :sub:`0`.
|
|
* - ``V4L2_JPEG_ACTIVE_MARKER_APP1``
|
|
- Application data segment APP\ :sub:`1`.
|
|
* - ``V4L2_JPEG_ACTIVE_MARKER_COM``
|
|
- Comment segment.
|
|
* - ``V4L2_JPEG_ACTIVE_MARKER_DQT``
|
|
- Quantization tables segment.
|
|
* - ``V4L2_JPEG_ACTIVE_MARKER_DHT``
|
|
- Huffman tables segment.
|
|
|
|
|
|
|
|
For more details about JPEG specification, refer to :ref:`itu-t81`,
|
|
:ref:`jfif`, :ref:`w3c-jpeg-jfif`.
|