]> git.proxmox.com Git - mirror_ubuntu-kernels.git/blame - Documentation/media/uapi/v4l/pixfmt-compressed.rst
Merge branches 'for-5.1/upstream-fixes', 'for-5.2/core', 'for-5.2/ish', 'for-5.2...
[mirror_ubuntu-kernels.git] / Documentation / media / uapi / v4l / pixfmt-compressed.rst
CommitLineData
82559ac0
MCC
1.. Permission is granted to copy, distribute and/or modify this
2.. document under the terms of the GNU Free Documentation License,
3.. Version 1.1 or any later version published by the Free Software
4.. Foundation, with no Invariant Sections, no Front-Cover Texts
5.. and no Back-Cover Texts. A copy of the license is included at
6.. Documentation/media/uapi/fdl-appendix.rst.
7..
8.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
9
5377d91f
MH
10******************
11Compressed Formats
12******************
13
14
15.. _compressed-formats:
16
5bd4bb78
MCC
17.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
18
5377d91f
MH
19.. flat-table:: Compressed Image Formats
20 :header-rows: 1
21 :stub-columns: 0
22 :widths: 3 1 4
23
c2b66caf
LP
24 * - Identifier
25 - Code
26 - Details
27 * .. _V4L2-PIX-FMT-JPEG:
28
29 - ``V4L2_PIX_FMT_JPEG``
30 - 'JPEG'
31 - TBD. See also :ref:`VIDIOC_G_JPEGCOMP <VIDIOC_G_JPEGCOMP>`,
32 :ref:`VIDIOC_S_JPEGCOMP <VIDIOC_G_JPEGCOMP>`.
33 * .. _V4L2-PIX-FMT-MPEG:
34
35 - ``V4L2_PIX_FMT_MPEG``
36 - 'MPEG'
37 - MPEG multiplexed stream. The actual format is determined by
38 extended control ``V4L2_CID_MPEG_STREAM_TYPE``, see
39 :ref:`mpeg-control-id`.
40 * .. _V4L2-PIX-FMT-H264:
41
42 - ``V4L2_PIX_FMT_H264``
43 - 'H264'
44 - H264 video elementary stream with start codes.
45 * .. _V4L2-PIX-FMT-H264-NO-SC:
46
47 - ``V4L2_PIX_FMT_H264_NO_SC``
48 - 'AVC1'
49 - H264 video elementary stream without start codes.
50 * .. _V4L2-PIX-FMT-H264-MVC:
51
52 - ``V4L2_PIX_FMT_H264_MVC``
53 - 'M264'
54 - H264 MVC video elementary stream.
55 * .. _V4L2-PIX-FMT-H263:
56
57 - ``V4L2_PIX_FMT_H263``
58 - 'H263'
59 - H263 video elementary stream.
60 * .. _V4L2-PIX-FMT-MPEG1:
61
62 - ``V4L2_PIX_FMT_MPEG1``
63 - 'MPG1'
64 - MPEG1 video elementary stream.
65 * .. _V4L2-PIX-FMT-MPEG2:
66
67 - ``V4L2_PIX_FMT_MPEG2``
68 - 'MPG2'
69 - MPEG2 video elementary stream.
c27bb30e
PK
70 * .. _V4L2-PIX-FMT-MPEG2-SLICE:
71
72 - ``V4L2_PIX_FMT_MPEG2_SLICE``
73 - 'MG2S'
74 - MPEG-2 parsed slice data, as extracted from the MPEG-2 bitstream.
75 This format is adapted for stateless video decoders that implement a
49179ff4 76 MPEG-2 pipeline (using the :ref:`mem2mem` and :ref:`media-request-api`).
c27bb30e
PK
77 Metadata associated with the frame to decode is required to be passed
78 through the ``V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS`` control and
79 quantization matrices can optionally be specified through the
80 ``V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION`` control.
81 See the :ref:`associated Codec Control IDs <v4l2-mpeg-mpeg2>`.
82 Exactly one output and one capture buffer must be provided for use with
83 this pixel format. The output buffer must contain the appropriate number
84 of macroblocks to decode a full corresponding frame to the matching
85 capture buffer.
c2b66caf
LP
86 * .. _V4L2-PIX-FMT-MPEG4:
87
88 - ``V4L2_PIX_FMT_MPEG4``
89 - 'MPG4'
90 - MPEG4 video elementary stream.
91 * .. _V4L2-PIX-FMT-XVID:
92
93 - ``V4L2_PIX_FMT_XVID``
94 - 'XVID'
95 - Xvid video elementary stream.
96 * .. _V4L2-PIX-FMT-VC1-ANNEX-G:
97
98 - ``V4L2_PIX_FMT_VC1_ANNEX_G``
99 - 'VC1G'
100 - VC1, SMPTE 421M Annex G compliant stream.
101 * .. _V4L2-PIX-FMT-VC1-ANNEX-L:
102
103 - ``V4L2_PIX_FMT_VC1_ANNEX_L``
104 - 'VC1L'
105 - VC1, SMPTE 421M Annex L compliant stream.
106 * .. _V4L2-PIX-FMT-VP8:
107
108 - ``V4L2_PIX_FMT_VP8``
109 - 'VP80'
110 - VP8 video elementary stream.
988fcf0c
TL
111 * .. _V4L2-PIX-FMT-VP9:
112
113 - ``V4L2_PIX_FMT_VP9``
114 - 'VP90'
115 - VP9 video elementary stream.
49f60752
SM
116 * .. _V4L2-PIX-FMT-HEVC:
117
118 - ``V4L2_PIX_FMT_HEVC``
119 - 'HEVC'
120 - HEVC/H.265 video elementary stream.
62c3fce0
HV
121 * .. _V4L2-PIX-FMT-FWHT:
122
123 - ``V4L2_PIX_FMT_FWHT``
124 - 'FWHT'
125 - Video elementary stream using a codec based on the Fast Walsh Hadamard
126 Transform. This codec is implemented by the vicodec ('Virtual Codec')
21abebf0 127 driver. See the codec-fwht.h header for more details.