Merge branch 'for-4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[sfrench/cifs-2.6.git] / Documentation / media / uapi / v4l / pixfmt-compressed.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 ******************
4 Compressed Formats
5 ******************
6
7
8 .. _compressed-formats:
9
10 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
11
12 .. flat-table:: Compressed Image Formats
13     :header-rows:  1
14     :stub-columns: 0
15     :widths:       3 1 4
16
17     * - Identifier
18       - Code
19       - Details
20     * .. _V4L2-PIX-FMT-JPEG:
21
22       - ``V4L2_PIX_FMT_JPEG``
23       - 'JPEG'
24       - TBD. See also :ref:`VIDIOC_G_JPEGCOMP <VIDIOC_G_JPEGCOMP>`,
25         :ref:`VIDIOC_S_JPEGCOMP <VIDIOC_G_JPEGCOMP>`.
26     * .. _V4L2-PIX-FMT-MPEG:
27
28       - ``V4L2_PIX_FMT_MPEG``
29       - 'MPEG'
30       - MPEG multiplexed stream. The actual format is determined by
31         extended control ``V4L2_CID_MPEG_STREAM_TYPE``, see
32         :ref:`mpeg-control-id`.
33     * .. _V4L2-PIX-FMT-H264:
34
35       - ``V4L2_PIX_FMT_H264``
36       - 'H264'
37       - H264 video elementary stream with start codes.
38     * .. _V4L2-PIX-FMT-H264-NO-SC:
39
40       - ``V4L2_PIX_FMT_H264_NO_SC``
41       - 'AVC1'
42       - H264 video elementary stream without start codes.
43     * .. _V4L2-PIX-FMT-H264-MVC:
44
45       - ``V4L2_PIX_FMT_H264_MVC``
46       - 'M264'
47       - H264 MVC video elementary stream.
48     * .. _V4L2-PIX-FMT-H263:
49
50       - ``V4L2_PIX_FMT_H263``
51       - 'H263'
52       - H263 video elementary stream.
53     * .. _V4L2-PIX-FMT-MPEG1:
54
55       - ``V4L2_PIX_FMT_MPEG1``
56       - 'MPG1'
57       - MPEG1 video elementary stream.
58     * .. _V4L2-PIX-FMT-MPEG2:
59
60       - ``V4L2_PIX_FMT_MPEG2``
61       - 'MPG2'
62       - MPEG2 video elementary stream.
63     * .. _V4L2-PIX-FMT-MPEG2-SLICE:
64
65       - ``V4L2_PIX_FMT_MPEG2_SLICE``
66       - 'MG2S'
67       - MPEG-2 parsed slice data, as extracted from the MPEG-2 bitstream.
68         This format is adapted for stateless video decoders that implement a
69         MPEG-2 pipeline (using the :ref:`codec` and :ref:`media-request-api`).
70         Metadata associated with the frame to decode is required to be passed
71         through the ``V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS`` control and
72         quantization matrices can optionally be specified through the
73         ``V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION`` control.
74         See the :ref:`associated Codec Control IDs <v4l2-mpeg-mpeg2>`.
75         Exactly one output and one capture buffer must be provided for use with
76         this pixel format. The output buffer must contain the appropriate number
77         of macroblocks to decode a full corresponding frame to the matching
78         capture buffer.
79     * .. _V4L2-PIX-FMT-MPEG4:
80
81       - ``V4L2_PIX_FMT_MPEG4``
82       - 'MPG4'
83       - MPEG4 video elementary stream.
84     * .. _V4L2-PIX-FMT-XVID:
85
86       - ``V4L2_PIX_FMT_XVID``
87       - 'XVID'
88       - Xvid video elementary stream.
89     * .. _V4L2-PIX-FMT-VC1-ANNEX-G:
90
91       - ``V4L2_PIX_FMT_VC1_ANNEX_G``
92       - 'VC1G'
93       - VC1, SMPTE 421M Annex G compliant stream.
94     * .. _V4L2-PIX-FMT-VC1-ANNEX-L:
95
96       - ``V4L2_PIX_FMT_VC1_ANNEX_L``
97       - 'VC1L'
98       - VC1, SMPTE 421M Annex L compliant stream.
99     * .. _V4L2-PIX-FMT-VP8:
100
101       - ``V4L2_PIX_FMT_VP8``
102       - 'VP80'
103       - VP8 video elementary stream.
104     * .. _V4L2-PIX-FMT-VP9:
105
106       - ``V4L2_PIX_FMT_VP9``
107       - 'VP90'
108       - VP9 video elementary stream.
109     * .. _V4L2-PIX-FMT-HEVC:
110
111       - ``V4L2_PIX_FMT_HEVC``
112       - 'HEVC'
113       - HEVC/H.265 video elementary stream.
114     * .. _V4L2-PIX-FMT-FWHT:
115
116       - ``V4L2_PIX_FMT_FWHT``
117       - 'FWHT'
118       - Video elementary stream using a codec based on the Fast Walsh Hadamard
119         Transform. This codec is implemented by the vicodec ('Virtual Codec')
120         driver. See the codec-fwht.h header for more details.