History

media: Rename stateful codec control macros

For historical reasons, stateful codec controls are named as {}_MPEG_{}. While we can't at this point sanely change all control IDs (such as V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER), we can least change the more meaningful macros such as classes macros.

Ezequiel Garcia committed 5 years ago

Commit 35aaa6e1 parent c8363ff14 files · +242 −233Browse files

Unified · Split

14 files
  1. Documentation/userspace-api/media/v4l/dev-mem2mem.rst +1 −1
  2. Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +2 −2
  3. Documentation/userspace-api/media/v4l/extended-controls.rst +4 −4
  4. Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst +3 −3
  5. drivers/media/common/cx2341x.c +2 −2
  6. drivers/media/platform/s5p-mfc/s5p_mfc_dec.c +1 −1
  7. drivers/media/platform/s5p-mfc/s5p_mfc_enc.c +1 −1
  8. drivers/media/v4l2-core/v4l2-ctrls.c +2 −2
  9. include/media/fwht-ctrls.h +1 −1
  10. include/media/h264-ctrls.h +8 −8
  11. include/media/hevc-ctrls.h +5 −5
  12. include/media/mpeg2-ctrls.h +2 −2
  13. include/media/vp8-ctrls.h +1 −1
  14. include/uapi/linux/v4l2-controls.h +209 −200
Documentation/userspace-api/media/v4l/dev-mem2mem.rst+1−1
@@ -32,7 +32,7 @@ file handle is visible through another file handle). · 31 unmodified lines
32One of the most common memory-to-memory device is the codec. Codecs32One of the most common memory-to-memory device is the codec. Codecs
33are more complicated than most and require additional setup for33are more complicated than most and require additional setup for
34their codec parameters. This is done through codec controls.34their codec parameters. This is done through codec controls.
35See :ref:`mpeg-controls`. More details on how to use codec memory-to-memory35See :ref:`codec-controls`. More details on how to use codec memory-to-memory
36devices are given in the following sections.36devices are given in the following sections.
37 37
38.. toctree::38.. toctree::
Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst+2−2
@@ -1,6 +1,6 @@
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2 2
3.. _mpeg-controls:3.. _codec-controls:
4 4
5***********************5***********************
6Codec Control Reference6Codec Control Reference
@@ -26,7 +26,7 @@ Generic Codec Controls · 19 unmodified lines
26Codec Control IDs26Codec Control IDs
27-----------------27-----------------
28 28
29``V4L2_CID_MPEG_CLASS (class)``29``V4L2_CID_CODEC_CLASS (class)``
30 The Codec class descriptor. Calling30 The Codec class descriptor. Calling
31 :ref:`VIDIOC_QUERYCTRL` for this control will31 :ref:`VIDIOC_QUERYCTRL` for this control will
32 return a description of this control class. This description can be32 return a description of this control class. This description can be
Documentation/userspace-api/media/v4l/extended-controls.rst+4−4
@@ -55,8 +55,8 @@ controls in that array and a control class. Control classes are used to · 54 unmodified lines
55group similar controls into a single class. For example, control class55group similar controls into a single class. For example, control class
56``V4L2_CTRL_CLASS_USER`` contains all user controls (i. e. all controls56``V4L2_CTRL_CLASS_USER`` contains all user controls (i. e. all controls
57that can also be set using the old :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>`57that can also be set using the old :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>`
58ioctl). Control class ``V4L2_CTRL_CLASS_MPEG`` contains all controls58ioctl). Control class ``V4L2_CTRL_CLASS_CODEC`` contains controls
59relating to MPEG encoding, etc.59relating to codecs.
60 60
61All controls in the control array must belong to the specified control61All controls in the control array must belong to the specified control
62class. An error is returned if this is not the case.62class. An error is returned if this is not the case.
@@ -130,9 +130,9 @@ control class is found: · 67 unmodified lines
130 130
131.. code-block:: c131.. code-block:: c
132 132
133 qctrl.id = V4L2_CTRL_CLASS_MPEG | V4L2_CTRL_FLAG_NEXT_CTRL;133 qctrl.id = V4L2_CTRL_CLASS_CODEC | V4L2_CTRL_FLAG_NEXT_CTRL;
134 while (0 == ioctl(fd, VIDIOC_QUERYCTRL, &qctrl)) {134 while (0 == ioctl(fd, VIDIOC_QUERYCTRL, &qctrl)) {
135 if (V4L2_CTRL_ID2CLASS(qctrl.id) != V4L2_CTRL_CLASS_MPEG)135 if (V4L2_CTRL_ID2CLASS(qctrl.id) != V4L2_CTRL_CLASS_CODEC)
136 break;136 break;
137 /* ... */137 /* ... */
138 qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL;138 qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL;
Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst+3−3
@@ -322,10 +322,10 @@ still cause this situation. · 321 unmodified lines
322 :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>` and322 :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>` and
323 :ref:`VIDIOC_G_CTRL <VIDIOC_G_CTRL>` ioctl belong to this323 :ref:`VIDIOC_G_CTRL <VIDIOC_G_CTRL>` ioctl belong to this
324 class.324 class.
325 * - ``V4L2_CTRL_CLASS_MPEG``325 * - ``V4L2_CTRL_CLASS_CODEC``
326 - 0x990000326 - 0x990000
327 - The class containing MPEG compression controls. These controls are327 - The class containing stateful codec controls. These controls are
328 described in :ref:`mpeg-controls`.328 described in :ref:`codec-controls`.
329 * - ``V4L2_CTRL_CLASS_CAMERA``329 * - ``V4L2_CTRL_CLASS_CAMERA``
330 - 0x9a0000330 - 0x9a0000
331 - The class containing camera controls. These controls are described331 - The class containing camera controls. These controls are described
drivers/media/common/cx2341x.c+2−2
@@ -166,7 +166,7 @@ static void cx2341x_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *ty · 165 unmodified lines
166 166
167/* Must be sorted from low to high control ID! */167/* Must be sorted from low to high control ID! */
168const u32 cx2341x_mpeg_ctrls[] = {168const u32 cx2341x_mpeg_ctrls[] = {
169 V4L2_CID_MPEG_CLASS,169 V4L2_CID_CODEC_CLASS,
170 V4L2_CID_MPEG_STREAM_TYPE,170 V4L2_CID_MPEG_STREAM_TYPE,
171 V4L2_CID_MPEG_STREAM_VBI_FMT,171 V4L2_CID_MPEG_STREAM_VBI_FMT,
172 V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,172 V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,
@@ -574,7 +574,7 @@ int cx2341x_ctrl_query(const struct cx2341x_mpeg_params *params, · 401 unmodified lines
574 int err;574 int err;
575 575
576 switch (qctrl->id) {576 switch (qctrl->id) {
577 case V4L2_CID_MPEG_CLASS:577 case V4L2_CID_CODEC_CLASS:
578 return v4l2_ctrl_query_fill(qctrl, 0, 0, 0, 0);578 return v4l2_ctrl_query_fill(qctrl, 0, 0, 0, 0);
579 case V4L2_CID_MPEG_STREAM_TYPE:579 case V4L2_CID_MPEG_STREAM_TYPE:
580 return v4l2_ctrl_query_fill(qctrl,580 return v4l2_ctrl_query_fill(qctrl,
drivers/media/platform/s5p-mfc/s5p_mfc_dec.c+1−1
@@ -1109,7 +1109,7 @@ const struct v4l2_ioctl_ops *get_dec_v4l2_ioctl_ops(void) · 1108 unmodified lines
1109 return &s5p_mfc_dec_ioctl_ops;1109 return &s5p_mfc_dec_ioctl_ops;
1110}1110}
1111 1111
1112#define IS_MFC51_PRIV(x) ((V4L2_CTRL_ID2WHICH(x) == V4L2_CTRL_CLASS_MPEG) \1112#define IS_MFC51_PRIV(x) ((V4L2_CTRL_ID2WHICH(x) == V4L2_CTRL_CLASS_CODEC) \
1113 && V4L2_CTRL_DRIVER_PRIV(x))1113 && V4L2_CTRL_DRIVER_PRIV(x))
1114 1114
1115int s5p_mfc_dec_ctrls_setup(struct s5p_mfc_ctx *ctx)1115int s5p_mfc_dec_ctrls_setup(struct s5p_mfc_ctx *ctx)
drivers/media/platform/s5p-mfc/s5p_mfc_enc.c+1−1
@@ -2614,7 +2614,7 @@ const struct v4l2_ioctl_ops *get_enc_v4l2_ioctl_ops(void) · 2613 unmodified lines
2614 return &s5p_mfc_enc_ioctl_ops;2614 return &s5p_mfc_enc_ioctl_ops;
2615}2615}
2616 2616
2617#define IS_MFC51_PRIV(x) ((V4L2_CTRL_ID2WHICH(x) == V4L2_CTRL_CLASS_MPEG) \2617#define IS_MFC51_PRIV(x) ((V4L2_CTRL_ID2WHICH(x) == V4L2_CTRL_CLASS_CODEC) \
2618 && V4L2_CTRL_DRIVER_PRIV(x))2618 && V4L2_CTRL_DRIVER_PRIV(x))
2619 2619
2620int s5p_mfc_enc_ctrls_setup(struct s5p_mfc_ctx *ctx)2620int s5p_mfc_enc_ctrls_setup(struct s5p_mfc_ctx *ctx)
drivers/media/v4l2-core/v4l2-ctrls.c+2−2
@@ -830,7 +830,7 @@ const char *v4l2_ctrl_get_name(u32 id) · 829 unmodified lines
830 /* The MPEG controls are applicable to all codec controls830 /* The MPEG controls are applicable to all codec controls
831 * and the 'MPEG' part of the define is historical */831 * and the 'MPEG' part of the define is historical */
832 /* Keep the order of the 'case's the same as in videodev2.h! */832 /* Keep the order of the 'case's the same as in videodev2.h! */
833 case V4L2_CID_MPEG_CLASS: return "Codec Controls";833 case V4L2_CID_CODEC_CLASS: return "Codec Controls";
834 case V4L2_CID_MPEG_STREAM_TYPE: return "Stream Type";834 case V4L2_CID_MPEG_STREAM_TYPE: return "Stream Type";
835 case V4L2_CID_MPEG_STREAM_PID_PMT: return "Stream PMT Program ID";835 case V4L2_CID_MPEG_STREAM_PID_PMT: return "Stream PMT Program ID";
836 case V4L2_CID_MPEG_STREAM_PID_AUDIO: return "Stream Audio Program ID";836 case V4L2_CID_MPEG_STREAM_PID_AUDIO: return "Stream Audio Program ID";
@@ -1358,7 +1358,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, · 521 unmodified lines
1358 break;1358 break;
1359 case V4L2_CID_USER_CLASS:1359 case V4L2_CID_USER_CLASS:
1360 case V4L2_CID_CAMERA_CLASS:1360 case V4L2_CID_CAMERA_CLASS:
1361 case V4L2_CID_MPEG_CLASS:1361 case V4L2_CID_CODEC_CLASS:
1362 case V4L2_CID_FM_TX_CLASS:1362 case V4L2_CID_FM_TX_CLASS:
1363 case V4L2_CID_FLASH_CLASS:1363 case V4L2_CID_FLASH_CLASS:
1364 case V4L2_CID_JPEG_CLASS:1364 case V4L2_CID_JPEG_CLASS:
include/media/fwht-ctrls.h+1−1
@@ -13,7 +13,7 @@ · 12 unmodified lines
13 13
14#define V4L2_CTRL_TYPE_FWHT_PARAMS 0x010514#define V4L2_CTRL_TYPE_FWHT_PARAMS 0x0105
15 15
16#define V4L2_CID_MPEG_VIDEO_FWHT_PARAMS (V4L2_CID_MPEG_BASE + 292)16#define V4L2_CID_MPEG_VIDEO_FWHT_PARAMS (V4L2_CID_CODEC_BASE + 292)
17 17
18struct v4l2_ctrl_fwht_params {18struct v4l2_ctrl_fwht_params {
19 __u64 backward_ref_ts;19 __u64 backward_ref_ts;
include/media/h264-ctrls.h+8−8
@@ -29,14 +29,14 @@ · 28 unmodified lines
29 * would be added during the phase where those controls are not29 * would be added during the phase where those controls are not
30 * stable. It should be fixed eventually.30 * stable. It should be fixed eventually.
31 */31 */
32#define V4L2_CID_MPEG_VIDEO_H264_SPS (V4L2_CID_MPEG_BASE+1000)32#define V4L2_CID_MPEG_VIDEO_H264_SPS (V4L2_CID_CODEC_BASE+1000)
33#define V4L2_CID_MPEG_VIDEO_H264_PPS (V4L2_CID_MPEG_BASE+1001)33#define V4L2_CID_MPEG_VIDEO_H264_PPS (V4L2_CID_CODEC_BASE+1001)
34#define V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX (V4L2_CID_MPEG_BASE+1002)34#define V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX (V4L2_CID_CODEC_BASE+1002)
35#define V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS (V4L2_CID_MPEG_BASE+1003)35#define V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS (V4L2_CID_CODEC_BASE+1003)
36#define V4L2_CID_MPEG_VIDEO_H264_DECODE_PARAMS (V4L2_CID_MPEG_BASE+1004)36#define V4L2_CID_MPEG_VIDEO_H264_DECODE_PARAMS (V4L2_CID_CODEC_BASE+1004)
37#define V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE (V4L2_CID_MPEG_BASE+1005)37#define V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE (V4L2_CID_CODEC_BASE+1005)
38#define V4L2_CID_MPEG_VIDEO_H264_START_CODE (V4L2_CID_MPEG_BASE+1006)38#define V4L2_CID_MPEG_VIDEO_H264_START_CODE (V4L2_CID_CODEC_BASE+1006)
39#define V4L2_CID_MPEG_VIDEO_H264_PRED_WEIGHTS (V4L2_CID_MPEG_BASE+1007)39#define V4L2_CID_MPEG_VIDEO_H264_PRED_WEIGHTS (V4L2_CID_CODEC_BASE+1007)
40 40
41/* enum v4l2_ctrl_type type values */41/* enum v4l2_ctrl_type type values */
42#define V4L2_CTRL_TYPE_H264_SPS 0x011042#define V4L2_CTRL_TYPE_H264_SPS 0x0110
include/media/hevc-ctrls.h+5−5
@@ -16,11 +16,11 @@ · 15 unmodified lines
16/* The pixel format isn't stable at the moment and will likely be renamed. */16/* The pixel format isn't stable at the moment and will likely be renamed. */
17#define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC parsed slices */17#define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC parsed slices */
18 18
19#define V4L2_CID_MPEG_VIDEO_HEVC_SPS (V4L2_CID_MPEG_BASE + 1008)19#define V4L2_CID_MPEG_VIDEO_HEVC_SPS (V4L2_CID_CODEC_BASE + 1008)
20#define V4L2_CID_MPEG_VIDEO_HEVC_PPS (V4L2_CID_MPEG_BASE + 1009)20#define V4L2_CID_MPEG_VIDEO_HEVC_PPS (V4L2_CID_CODEC_BASE + 1009)
21#define V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (V4L2_CID_MPEG_BASE + 1010)21#define V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (V4L2_CID_CODEC_BASE + 1010)
22#define V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE (V4L2_CID_MPEG_BASE + 1015)22#define V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE (V4L2_CID_CODEC_BASE + 1015)
23#define V4L2_CID_MPEG_VIDEO_HEVC_START_CODE (V4L2_CID_MPEG_BASE + 1016)23#define V4L2_CID_MPEG_VIDEO_HEVC_START_CODE (V4L2_CID_CODEC_BASE + 1016)
24 24
25/* enum v4l2_ctrl_type type values */25/* enum v4l2_ctrl_type type values */
26#define V4L2_CTRL_TYPE_HEVC_SPS 0x012026#define V4L2_CTRL_TYPE_HEVC_SPS 0x0120
include/media/mpeg2-ctrls.h+2−2
@@ -11,8 +11,8 @@ · 10 unmodified lines
11#ifndef _MPEG2_CTRLS_H_11#ifndef _MPEG2_CTRLS_H_
12#define _MPEG2_CTRLS_H_12#define _MPEG2_CTRLS_H_
13 13
14#define V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS (V4L2_CID_MPEG_BASE+250)14#define V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS (V4L2_CID_CODEC_BASE+250)
15#define V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION (V4L2_CID_MPEG_BASE+251)15#define V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION (V4L2_CID_CODEC_BASE+251)
16 16
17/* enum v4l2_ctrl_type type values */17/* enum v4l2_ctrl_type type values */
18#define V4L2_CTRL_TYPE_MPEG2_SLICE_PARAMS 0x010318#define V4L2_CTRL_TYPE_MPEG2_SLICE_PARAMS 0x0103
include/media/vp8-ctrls.h+1−1
@@ -15,7 +15,7 @@ · 14 unmodified lines
15 15
16#define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F')16#define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F')
17 17
18#define V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER (V4L2_CID_MPEG_BASE + 2000)18#define V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER (V4L2_CID_CODEC_BASE + 2000)
19#define V4L2_CTRL_TYPE_VP8_FRAME_HEADER 0x30119#define V4L2_CTRL_TYPE_VP8_FRAME_HEADER 0x301
20 20
21#define V4L2_VP8_SEGMENT_HEADER_FLAG_ENABLED 0x0121#define V4L2_VP8_SEGMENT_HEADER_FLAG_ENABLED 0x01
include/uapi/linux/v4l2-controls.h+209−200
@@ -54,7 +54,7 @@ · 53 unmodified lines
54 54
55/* Control classes */55/* Control classes */
56#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */56#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */
57#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */57#define V4L2_CTRL_CLASS_CODEC 0x00990000 /* Stateful codec controls */
58#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */58#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */
59#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator controls */59#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator controls */
60#define V4L2_CTRL_CLASS_FLASH 0x009c0000 /* Camera flash controls */60#define V4L2_CTRL_CLASS_FLASH 0x009c0000 /* Camera flash controls */
@@ -208,11 +208,11 @@ enum v4l2_colorfx { · 147 unmodified lines
208/* The MPEG controls are applicable to all codec controls208/* The MPEG controls are applicable to all codec controls
209 * and the 'MPEG' part of the define is historical */209 * and the 'MPEG' part of the define is historical */
210 210
211#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)211#define V4L2_CID_CODEC_BASE (V4L2_CTRL_CLASS_CODEC | 0x900)
212#define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1)212#define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1)
213 213
214/* MPEG streams, specific to multiplexed streams */214/* MPEG streams, specific to multiplexed streams */
215#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0)215#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_CODEC_BASE+0)
216enum v4l2_mpeg_stream_type {216enum v4l2_mpeg_stream_type {
217 V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */217 V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */
218 V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */218 V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */
@@ -221,26 +221,26 @@ enum v4l2_mpeg_stream_type { · 2 unmodified lines
221 V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */221 V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */
222 V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */222 V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */
223};223};
224#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1)224#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_CODEC_BASE+1)
225#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2)225#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_CODEC_BASE+2)
226#define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3)226#define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_CODEC_BASE+3)
227#define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4)227#define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_CODEC_BASE+4)
228#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5)228#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_CODEC_BASE+5)
229#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6)229#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_CODEC_BASE+6)
230#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7)230#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_CODEC_BASE+7)
231enum v4l2_mpeg_stream_vbi_fmt {231enum v4l2_mpeg_stream_vbi_fmt {
232 V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */232 V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */
233 V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */233 V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */
234};234};
235 235
236/* MPEG audio controls specific to multiplexed streams */236/* MPEG audio controls specific to multiplexed streams */
237#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100)237#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_CODEC_BASE+100)
238enum v4l2_mpeg_audio_sampling_freq {238enum v4l2_mpeg_audio_sampling_freq {
239 V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0,239 V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0,
240 V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,240 V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,
241 V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2,241 V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2,
242};242};
243#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101)243#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_CODEC_BASE+101)
244enum v4l2_mpeg_audio_encoding {244enum v4l2_mpeg_audio_encoding {
245 V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0,245 V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0,
246 V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,246 V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,
@@ -248,7 +248,7 @@ enum v4l2_mpeg_audio_encoding { · 1 unmodified line
248 V4L2_MPEG_AUDIO_ENCODING_AAC = 3,248 V4L2_MPEG_AUDIO_ENCODING_AAC = 3,
249 V4L2_MPEG_AUDIO_ENCODING_AC3 = 4,249 V4L2_MPEG_AUDIO_ENCODING_AC3 = 4,
250};250};
251#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102)251#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_CODEC_BASE+102)
252enum v4l2_mpeg_audio_l1_bitrate {252enum v4l2_mpeg_audio_l1_bitrate {
253 V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0,253 V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0,
254 V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,254 V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,
@@ -265,7 +265,7 @@ enum v4l2_mpeg_audio_l1_bitrate { · 10 unmodified lines
265 V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12,265 V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12,
266 V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13,266 V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13,
267};267};
268#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103)268#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_CODEC_BASE+103)
269enum v4l2_mpeg_audio_l2_bitrate {269enum v4l2_mpeg_audio_l2_bitrate {
270 V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0,270 V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0,
271 V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,271 V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,
@@ -282,7 +282,7 @@ enum v4l2_mpeg_audio_l2_bitrate { · 10 unmodified lines
282 V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12,282 V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12,
283 V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13,283 V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13,
284};284};
285#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104)285#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_CODEC_BASE+104)
286enum v4l2_mpeg_audio_l3_bitrate {286enum v4l2_mpeg_audio_l3_bitrate {
287 V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0,287 V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0,
288 V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,288 V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,
@@ -299,34 +299,34 @@ enum v4l2_mpeg_audio_l3_bitrate { · 10 unmodified lines
299 V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12,299 V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12,
300 V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13,300 V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13,
301};301};
302#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105)302#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_CODEC_BASE+105)
303enum v4l2_mpeg_audio_mode {303enum v4l2_mpeg_audio_mode {
304 V4L2_MPEG_AUDIO_MODE_STEREO = 0,304 V4L2_MPEG_AUDIO_MODE_STEREO = 0,
305 V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,305 V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,
306 V4L2_MPEG_AUDIO_MODE_DUAL = 2,306 V4L2_MPEG_AUDIO_MODE_DUAL = 2,
307 V4L2_MPEG_AUDIO_MODE_MONO = 3,307 V4L2_MPEG_AUDIO_MODE_MONO = 3,
308};308};
309#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106)309#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_CODEC_BASE+106)
310enum v4l2_mpeg_audio_mode_extension {310enum v4l2_mpeg_audio_mode_extension {
311 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0,311 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0,
312 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,312 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,
313 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2,313 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2,
314 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3,314 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3,
315};315};
316#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107)316#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_CODEC_BASE+107)
317enum v4l2_mpeg_audio_emphasis {317enum v4l2_mpeg_audio_emphasis {
318 V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0,318 V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0,
319 V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,319 V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,
320 V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2,320 V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2,
321};321};
322#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108)322#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_CODEC_BASE+108)
323enum v4l2_mpeg_audio_crc {323enum v4l2_mpeg_audio_crc {
324 V4L2_MPEG_AUDIO_CRC_NONE = 0,324 V4L2_MPEG_AUDIO_CRC_NONE = 0,
325 V4L2_MPEG_AUDIO_CRC_CRC16 = 1,325 V4L2_MPEG_AUDIO_CRC_CRC16 = 1,
326};326};
327#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109)327#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_CODEC_BASE+109)
328#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110)328#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_CODEC_BASE+110)
329#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111)329#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_CODEC_BASE+111)
330enum v4l2_mpeg_audio_ac3_bitrate {330enum v4l2_mpeg_audio_ac3_bitrate {
331 V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0,331 V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0,
332 V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,332 V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,
@@ -348,7 +348,7 @@ enum v4l2_mpeg_audio_ac3_bitrate { · 15 unmodified lines
348 V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17,348 V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17,
349 V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18,349 V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18,
350};350};
351#define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_MPEG_BASE+112)351#define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_CODEC_BASE+112)
352enum v4l2_mpeg_audio_dec_playback {352enum v4l2_mpeg_audio_dec_playback {
353 V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO = 0,353 V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO = 0,
354 V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1,354 V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1,
@@ -357,52 +357,52 @@ enum v4l2_mpeg_audio_dec_playback { · 2 unmodified lines
357 V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO = 4,357 V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO = 4,
358 V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO = 5,358 V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO = 5,
359};359};
360#define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_MPEG_BASE+113)360#define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_CODEC_BASE+113)
361 361
362/* MPEG video controls specific to multiplexed streams */362/* MPEG video controls specific to multiplexed streams */
363#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200)363#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_CODEC_BASE+200)
364enum v4l2_mpeg_video_encoding {364enum v4l2_mpeg_video_encoding {
365 V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0,365 V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0,
366 V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,366 V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,
367 V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2,367 V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2,
368};368};
369#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201)369#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_CODEC_BASE+201)
370enum v4l2_mpeg_video_aspect {370enum v4l2_mpeg_video_aspect {
371 V4L2_MPEG_VIDEO_ASPECT_1x1 = 0,371 V4L2_MPEG_VIDEO_ASPECT_1x1 = 0,
372 V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,372 V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,
373 V4L2_MPEG_VIDEO_ASPECT_16x9 = 2,373 V4L2_MPEG_VIDEO_ASPECT_16x9 = 2,
374 V4L2_MPEG_VIDEO_ASPECT_221x100 = 3,374 V4L2_MPEG_VIDEO_ASPECT_221x100 = 3,
375};375};
376#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202)376#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_CODEC_BASE+202)
377#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203)377#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_CODEC_BASE+203)
378#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204)378#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_CODEC_BASE+204)
379#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205)379#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_CODEC_BASE+205)
380#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206)380#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_CODEC_BASE+206)
381enum v4l2_mpeg_video_bitrate_mode {381enum v4l2_mpeg_video_bitrate_mode {
382 V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0,382 V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0,
383 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,383 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,
384 V4L2_MPEG_VIDEO_BITRATE_MODE_CQ = 2,384 V4L2_MPEG_VIDEO_BITRATE_MODE_CQ = 2,
385};385};
386#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207)386#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_CODEC_BASE+207)
387#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208)387#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_CODEC_BASE+208)
388#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209)388#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_CODEC_BASE+209)
389#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210)389#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_CODEC_BASE+210)
390#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211)390#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_CODEC_BASE+211)
391#define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212)391#define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_CODEC_BASE+212)
392#define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213)392#define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_CODEC_BASE+213)
393#define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214)393#define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_CODEC_BASE+214)
394#define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215)394#define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_CODEC_BASE+215)
395#define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216)395#define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_CODEC_BASE+216)
396enum v4l2_mpeg_video_header_mode {396enum v4l2_mpeg_video_header_mode {
397 V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0,397 V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0,
398 V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,398 V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
399 399
400};400};
401#define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217)401#define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_CODEC_BASE+217)
402#define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218)402#define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_CODEC_BASE+218)
403#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219)403#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_CODEC_BASE+219)
404#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220)404#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_CODEC_BASE+220)
405#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221)405#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_CODEC_BASE+221)
406enum v4l2_mpeg_video_multi_slice_mode {406enum v4l2_mpeg_video_multi_slice_mode {
407 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,407 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,
408 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1,408 V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1,
@@ -413,24 +413,24 @@ enum v4l2_mpeg_video_multi_slice_mode { · 4 unmodified lines
413 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,413 V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,
414#endif414#endif
415};415};
416#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222)416#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_CODEC_BASE+222)
417#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223)417#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_CODEC_BASE+223)
418#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224)418#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_CODEC_BASE+224)
419#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225)419#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_CODEC_BASE+225)
420#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226)420#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_CODEC_BASE+226)
421#define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227)421#define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_CODEC_BASE+227)
422#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228)422#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_CODEC_BASE+228)
423#define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229)423#define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_CODEC_BASE+229)
424 424
425/* CIDs for the MPEG-2 Part 2 (H.262) codec */425/* CIDs for the MPEG-2 Part 2 (H.262) codec */
426#define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL (V4L2_CID_MPEG_BASE+270)426#define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL (V4L2_CID_CODEC_BASE+270)
427enum v4l2_mpeg_video_mpeg2_level {427enum v4l2_mpeg_video_mpeg2_level {
428 V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW = 0,428 V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW = 0,
429 V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1,429 V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1,
430 V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440 = 2,430 V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440 = 2,
431 V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH = 3,431 V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH = 3,
432};432};
433#define V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE (V4L2_CID_MPEG_BASE+271)433#define V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE (V4L2_CID_CODEC_BASE+271)
434enum v4l2_mpeg_video_mpeg2_profile {434enum v4l2_mpeg_video_mpeg2_profile {
435 V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE = 0,435 V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE = 0,
436 V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1,436 V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1,
@@ -441,28 +441,28 @@ enum v4l2_mpeg_video_mpeg2_profile { · 4 unmodified lines
441};441};
442 442
443/* CIDs for the FWHT codec as used by the vicodec driver. */443/* CIDs for the FWHT codec as used by the vicodec driver. */
444#define V4L2_CID_FWHT_I_FRAME_QP (V4L2_CID_MPEG_BASE + 290)444#define V4L2_CID_FWHT_I_FRAME_QP (V4L2_CID_CODEC_BASE + 290)
445#define V4L2_CID_FWHT_P_FRAME_QP (V4L2_CID_MPEG_BASE + 291)445#define V4L2_CID_FWHT_P_FRAME_QP (V4L2_CID_CODEC_BASE + 291)
446 446
447#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)447#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_CODEC_BASE+300)
448#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)448#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_CODEC_BASE+301)
449#define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302)449#define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_CODEC_BASE+302)
450#define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303)450#define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_CODEC_BASE+303)
451#define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304)451#define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_CODEC_BASE+304)
452#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350)452#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_CODEC_BASE+350)
453#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351)453#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_CODEC_BASE+351)
454#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352)454#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_CODEC_BASE+352)
455#define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353)455#define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_CODEC_BASE+353)
456#define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354)456#define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_CODEC_BASE+354)
457#define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355)457#define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_CODEC_BASE+355)
458#define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356)458#define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_CODEC_BASE+356)
459#define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357)459#define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_CODEC_BASE+357)
460enum v4l2_mpeg_video_h264_entropy_mode {460enum v4l2_mpeg_video_h264_entropy_mode {
461 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0,461 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0,
462 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1,462 V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1,
463};463};
464#define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358)464#define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_CODEC_BASE+358)
465#define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359)465#define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_CODEC_BASE+359)
466enum v4l2_mpeg_video_h264_level {466enum v4l2_mpeg_video_h264_level {
467 V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0,467 V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0,
468 V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1,468 V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1,
@@ -485,15 +485,15 @@ enum v4l2_mpeg_video_h264_level { · 16 unmodified lines
485 V4L2_MPEG_VIDEO_H264_LEVEL_6_1 = 18,485 V4L2_MPEG_VIDEO_H264_LEVEL_6_1 = 18,
486 V4L2_MPEG_VIDEO_H264_LEVEL_6_2 = 19,486 V4L2_MPEG_VIDEO_H264_LEVEL_6_2 = 19,
487};487};
488#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360)488#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_CODEC_BASE+360)
489#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361)489#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_CODEC_BASE+361)
490#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362)490#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_CODEC_BASE+362)
491enum v4l2_mpeg_video_h264_loop_filter_mode {491enum v4l2_mpeg_video_h264_loop_filter_mode {
492 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0,492 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0,
493 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,493 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,
494 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,494 V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
495};495};
496#define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363)496#define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_CODEC_BASE+363)
497enum v4l2_mpeg_video_h264_profile {497enum v4l2_mpeg_video_h264_profile {
498 V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0,498 V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0,
499 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,499 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,
@@ -514,10 +514,10 @@ enum v4l2_mpeg_video_h264_profile { · 14 unmodified lines
514 V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,514 V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,
515 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17,515 V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17,
516};516};
517#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364)517#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_CODEC_BASE+364)
518#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)518#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_CODEC_BASE+365)
519#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366)519#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_CODEC_BASE+366)
520#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367)520#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_CODEC_BASE+367)
521enum v4l2_mpeg_video_h264_vui_sar_idc {521enum v4l2_mpeg_video_h264_vui_sar_idc {
522 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0,522 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0,
523 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,523 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,
@@ -538,9 +538,9 @@ enum v4l2_mpeg_video_h264_vui_sar_idc { · 14 unmodified lines
538 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16,538 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16,
539 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17,539 V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17,
540};540};
541#define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_MPEG_BASE+368)541#define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_CODEC_BASE+368)
542#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_MPEG_BASE+369)542#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_CODEC_BASE+369)
543#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_MPEG_BASE+370)543#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_CODEC_BASE+370)
544enum v4l2_mpeg_video_h264_sei_fp_arrangement_type {544enum v4l2_mpeg_video_h264_sei_fp_arrangement_type {
545 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD = 0,545 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD = 0,
546 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1,546 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1,
@@ -549,8 +549,8 @@ enum v4l2_mpeg_video_h264_sei_fp_arrangement_type { · 2 unmodified lines
549 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM = 4,549 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM = 4,
550 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL = 5,550 V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL = 5,
551};551};
552#define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_MPEG_BASE+371)552#define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_CODEC_BASE+371)
553#define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_MPEG_BASE+372)553#define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_CODEC_BASE+372)
554enum v4l2_mpeg_video_h264_fmo_map_type {554enum v4l2_mpeg_video_h264_fmo_map_type {
555 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES = 0,555 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES = 0,
556 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1,556 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1,
@@ -560,36 +560,36 @@ enum v4l2_mpeg_video_h264_fmo_map_type { · 3 unmodified lines
560 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN = 5,560 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN = 5,
561 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT = 6,561 V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT = 6,
562};562};
563#define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_MPEG_BASE+373)563#define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_CODEC_BASE+373)
564#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_MPEG_BASE+374)564#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_CODEC_BASE+374)
565enum v4l2_mpeg_video_h264_fmo_change_dir {565enum v4l2_mpeg_video_h264_fmo_change_dir {
566 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT = 0,566 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT = 0,
567 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1,567 V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1,
568};568};
569#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_MPEG_BASE+375)569#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_CODEC_BASE+375)
570#define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_MPEG_BASE+376)570#define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_CODEC_BASE+376)
571#define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_MPEG_BASE+377)571#define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_CODEC_BASE+377)
572#define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_MPEG_BASE+378)572#define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_CODEC_BASE+378)
573#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_MPEG_BASE+379)573#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_CODEC_BASE+379)
574#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_MPEG_BASE+380)574#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_CODEC_BASE+380)
575enum v4l2_mpeg_video_h264_hierarchical_coding_type {575enum v4l2_mpeg_video_h264_hierarchical_coding_type {
576 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B = 0,576 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B = 0,
577 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1,577 V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1,
578};578};
579#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_MPEG_BASE+381)579#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_CODEC_BASE+381)
580#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382)580#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_CODEC_BASE+382)
581#define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (V4L2_CID_MPEG_BASE+383)581#define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (V4L2_CID_CODEC_BASE+383)
582#define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (V4L2_CID_MPEG_BASE+384)582#define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (V4L2_CID_CODEC_BASE+384)
583#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (V4L2_CID_MPEG_BASE+385)583#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (V4L2_CID_CODEC_BASE+385)
584#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (V4L2_CID_MPEG_BASE+386)584#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (V4L2_CID_CODEC_BASE+386)
585#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (V4L2_CID_MPEG_BASE+387)585#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (V4L2_CID_CODEC_BASE+387)
586#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (V4L2_CID_MPEG_BASE+388)586#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (V4L2_CID_CODEC_BASE+388)
587#define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400)587#define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_CODEC_BASE+400)
588#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401)588#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_CODEC_BASE+401)
589#define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402)589#define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_CODEC_BASE+402)
590#define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403)590#define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_CODEC_BASE+403)
591#define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404)591#define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_CODEC_BASE+404)
592#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405)592#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_CODEC_BASE+405)
593enum v4l2_mpeg_video_mpeg4_level {593enum v4l2_mpeg_video_mpeg4_level {
594 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0,594 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0,
595 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,595 V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,
@@ -600,7 +600,7 @@ enum v4l2_mpeg_video_mpeg4_level { · 4 unmodified lines
600 V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6,600 V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6,
601 V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7,601 V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7,
602};602};
603#define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406)603#define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_CODEC_BASE+406)
604enum v4l2_mpeg_video_mpeg4_profile {604enum v4l2_mpeg_video_mpeg4_profile {
605 V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0,605 V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0,
606 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,606 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,
@@ -608,40 +608,40 @@ enum v4l2_mpeg_video_mpeg4_profile { · 1 unmodified line
608 V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3,608 V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3,
609 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4,609 V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4,
610};610};
611#define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407)611#define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_CODEC_BASE+407)
612 612
613/* Control IDs for VP8 streams613/* Control IDs for VP8 streams
614 * Although VP8 is not part of MPEG we add these controls to the MPEG class614 * Although VP8 is not part of MPEG we add these controls to the MPEG class
615 * as that class is already handling other video compression standards615 * as that class is already handling other video compression standards
616 */616 */
617#define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_MPEG_BASE+500)617#define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_CODEC_BASE+500)
618enum v4l2_vp8_num_partitions {618enum v4l2_vp8_num_partitions {
619 V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION = 0,619 V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION = 0,
620 V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1,620 V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1,
621 V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS = 2,621 V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS = 2,
622 V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS = 3,622 V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS = 3,
623};623};
624#define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_MPEG_BASE+501)624#define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_CODEC_BASE+501)
625#define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_MPEG_BASE+502)625#define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_CODEC_BASE+502)
626enum v4l2_vp8_num_ref_frames {626enum v4l2_vp8_num_ref_frames {
627 V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME = 0,627 V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME = 0,
628 V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1,628 V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1,
629 V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME = 2,629 V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME = 2,
630};630};
631#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_MPEG_BASE+503)631#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_CODEC_BASE+503)
632#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_MPEG_BASE+504)632#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_CODEC_BASE+504)
633#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_MPEG_BASE+505)633#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_CODEC_BASE+505)
634#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_MPEG_BASE+506)634#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_CODEC_BASE+506)
635enum v4l2_vp8_golden_frame_sel {635enum v4l2_vp8_golden_frame_sel {
636 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0,636 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0,
637 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1,637 V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1,
638};638};
639#define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_MPEG_BASE+507)639#define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_CODEC_BASE+507)
640#define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_MPEG_BASE+508)640#define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_CODEC_BASE+508)
641#define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE+509)641#define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_CODEC_BASE+509)
642#define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE+510)642#define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_CODEC_BASE+510)
643 643
644#define V4L2_CID_MPEG_VIDEO_VP8_PROFILE (V4L2_CID_MPEG_BASE+511)644#define V4L2_CID_MPEG_VIDEO_VP8_PROFILE (V4L2_CID_CODEC_BASE+511)
645enum v4l2_mpeg_video_vp8_profile {645enum v4l2_mpeg_video_vp8_profile {
646 V4L2_MPEG_VIDEO_VP8_PROFILE_0 = 0,646 V4L2_MPEG_VIDEO_VP8_PROFILE_0 = 0,
647 V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1,647 V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1,
@@ -650,14 +650,14 @@ enum v4l2_mpeg_video_vp8_profile { · 2 unmodified lines
650};650};
651/* Deprecated alias for compatibility reasons. */651/* Deprecated alias for compatibility reasons. */
652#define V4L2_CID_MPEG_VIDEO_VPX_PROFILE V4L2_CID_MPEG_VIDEO_VP8_PROFILE652#define V4L2_CID_MPEG_VIDEO_VPX_PROFILE V4L2_CID_MPEG_VIDEO_VP8_PROFILE
653#define V4L2_CID_MPEG_VIDEO_VP9_PROFILE (V4L2_CID_MPEG_BASE+512)653#define V4L2_CID_MPEG_VIDEO_VP9_PROFILE (V4L2_CID_CODEC_BASE+512)
654enum v4l2_mpeg_video_vp9_profile {654enum v4l2_mpeg_video_vp9_profile {
655 V4L2_MPEG_VIDEO_VP9_PROFILE_0 = 0,655 V4L2_MPEG_VIDEO_VP9_PROFILE_0 = 0,
656 V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1,656 V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1,
657 V4L2_MPEG_VIDEO_VP9_PROFILE_2 = 2,657 V4L2_MPEG_VIDEO_VP9_PROFILE_2 = 2,
658 V4L2_MPEG_VIDEO_VP9_PROFILE_3 = 3,658 V4L2_MPEG_VIDEO_VP9_PROFILE_3 = 3,
659};659};
660#define V4L2_CID_MPEG_VIDEO_VP9_LEVEL (V4L2_CID_MPEG_BASE+513)660#define V4L2_CID_MPEG_VIDEO_VP9_LEVEL (V4L2_CID_CODEC_BASE+513)
661enum v4l2_mpeg_video_vp9_level {661enum v4l2_mpeg_video_vp9_level {
662 V4L2_MPEG_VIDEO_VP9_LEVEL_1_0 = 0,662 V4L2_MPEG_VIDEO_VP9_LEVEL_1_0 = 0,
663 V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1,663 V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1,
@@ -677,32 +677,32 @@ enum v4l2_mpeg_video_vp9_level { · 13 unmodified lines
677 677
678/* CIDs for HEVC encoding. */678/* CIDs for HEVC encoding. */
679 679
680#define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_MPEG_BASE + 600)680#define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_CODEC_BASE + 600)
681#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_MPEG_BASE + 601)681#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_CODEC_BASE + 601)
682#define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_MPEG_BASE + 602)682#define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_CODEC_BASE + 602)
683#define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_MPEG_BASE + 603)683#define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_CODEC_BASE + 603)
684#define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_MPEG_BASE + 604)684#define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_CODEC_BASE + 604)
685#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_MPEG_BASE + 605)685#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_CODEC_BASE + 605)
686#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_MPEG_BASE + 606)686#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_CODEC_BASE + 606)
687enum v4l2_mpeg_video_hevc_hier_coding_type {687enum v4l2_mpeg_video_hevc_hier_coding_type {
688 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B = 0,688 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B = 0,
689 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1,689 V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1,
690};690};
691#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_MPEG_BASE + 607)691#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_CODEC_BASE + 607)
692#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_MPEG_BASE + 608)692#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_CODEC_BASE + 608)
693#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_MPEG_BASE + 609)693#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_CODEC_BASE + 609)
694#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_MPEG_BASE + 610)694#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_CODEC_BASE + 610)
695#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_MPEG_BASE + 611)695#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_CODEC_BASE + 611)
696#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_MPEG_BASE + 612)696#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_CODEC_BASE + 612)
697#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_MPEG_BASE + 613)697#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_CODEC_BASE + 613)
698#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_MPEG_BASE + 614)698#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_CODEC_BASE + 614)
699#define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_MPEG_BASE + 615)699#define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_CODEC_BASE + 615)
700enum v4l2_mpeg_video_hevc_profile {700enum v4l2_mpeg_video_hevc_profile {
701 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN = 0,701 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN = 0,
702 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1,702 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1,
703 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10 = 2,703 V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10 = 2,
704};704};
705#define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_MPEG_BASE + 616)705#define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_CODEC_BASE + 616)
706enum v4l2_mpeg_video_hevc_level {706enum v4l2_mpeg_video_hevc_level {
707 V4L2_MPEG_VIDEO_HEVC_LEVEL_1 = 0,707 V4L2_MPEG_VIDEO_HEVC_LEVEL_1 = 0,
708 V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1,708 V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1,
@@ -718,56 +718,56 @@ enum v4l2_mpeg_video_hevc_level { · 9 unmodified lines
718 V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1 = 11,718 V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1 = 11,
719 V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2 = 12,719 V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2 = 12,
720};720};
721#define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_MPEG_BASE + 617)721#define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_CODEC_BASE + 617)
722#define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_MPEG_BASE + 618)722#define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_CODEC_BASE + 618)
723enum v4l2_mpeg_video_hevc_tier {723enum v4l2_mpeg_video_hevc_tier {
724 V4L2_MPEG_VIDEO_HEVC_TIER_MAIN = 0,724 V4L2_MPEG_VIDEO_HEVC_TIER_MAIN = 0,
725 V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1,725 V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1,
726};726};
727#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_MPEG_BASE + 619)727#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_CODEC_BASE + 619)
728#define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE + 620)728#define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_CODEC_BASE + 620)
729enum v4l2_cid_mpeg_video_hevc_loop_filter_mode {729enum v4l2_cid_mpeg_video_hevc_loop_filter_mode {
730 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED = 0,730 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED = 0,
731 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1,731 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1,
732 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,732 V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
733};733};
734#define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 621)734#define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_CODEC_BASE + 621)
735#define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 622)735#define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_CODEC_BASE + 622)
736#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_MPEG_BASE + 623)736#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_CODEC_BASE + 623)
737enum v4l2_cid_mpeg_video_hevc_refresh_type {737enum v4l2_cid_mpeg_video_hevc_refresh_type {
738 V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE = 0,738 V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE = 0,
739 V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1,739 V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1,
740 V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR = 2,740 V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR = 2,
741};741};
742#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_MPEG_BASE + 624)742#define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_CODEC_BASE + 624)
743#define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_MPEG_BASE + 625)743#define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_CODEC_BASE + 625)
744#define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_MPEG_BASE + 626)744#define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_CODEC_BASE + 626)
745#define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_MPEG_BASE + 627)745#define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_CODEC_BASE + 627)
746#define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_MPEG_BASE + 628)746#define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_CODEC_BASE + 628)
747#define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_MPEG_BASE + 629)747#define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_CODEC_BASE + 629)
748#define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_MPEG_BASE + 630)748#define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_CODEC_BASE + 630)
749#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_MPEG_BASE + 631)749#define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_CODEC_BASE + 631)
750#define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_MPEG_BASE + 632)750#define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_CODEC_BASE + 632)
751#define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_MPEG_BASE + 633)751#define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_CODEC_BASE + 633)
752#define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_MPEG_BASE + 634)752#define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_CODEC_BASE + 634)
753#define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_MPEG_BASE + 635)753#define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_CODEC_BASE + 635)
754enum v4l2_cid_mpeg_video_hevc_size_of_length_field {754enum v4l2_cid_mpeg_video_hevc_size_of_length_field {
755 V4L2_MPEG_VIDEO_HEVC_SIZE_0 = 0,755 V4L2_MPEG_VIDEO_HEVC_SIZE_0 = 0,
756 V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1,756 V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1,
757 V4L2_MPEG_VIDEO_HEVC_SIZE_2 = 2,757 V4L2_MPEG_VIDEO_HEVC_SIZE_2 = 2,
758 V4L2_MPEG_VIDEO_HEVC_SIZE_4 = 3,758 V4L2_MPEG_VIDEO_HEVC_SIZE_4 = 3,
759};759};
760#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_MPEG_BASE + 636)760#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_CODEC_BASE + 636)
761#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_MPEG_BASE + 637)761#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_CODEC_BASE + 637)
762#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_MPEG_BASE + 638)762#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_CODEC_BASE + 638)
763#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_MPEG_BASE + 639)763#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_CODEC_BASE + 639)
764#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_MPEG_BASE + 640)764#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_CODEC_BASE + 640)
765#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_MPEG_BASE + 641)765#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_CODEC_BASE + 641)
766#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_MPEG_BASE + 642)766#define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_CODEC_BASE + 642)
767#define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_MPEG_BASE + 643)767#define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_CODEC_BASE + 643)
768#define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_MPEG_BASE + 644)768#define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_CODEC_BASE + 644)
769#define V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (V4L2_CID_MPEG_BASE + 645)769#define V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (V4L2_CID_CODEC_BASE + 645)
770#define V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_BASE + 646)770#define V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (V4L2_CID_CODEC_BASE + 646)
771enum v4l2_mpeg_video_frame_skip_mode {771enum v4l2_mpeg_video_frame_skip_mode {
772 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,772 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,
773 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,773 V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
@@ -775,14 +775,14 @@ enum v4l2_mpeg_video_frame_skip_mode { · 1 unmodified line
775};775};
776 776
777/* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */777/* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */
778#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)778#define V4L2_CID_CODEC_CX2341X_BASE (V4L2_CTRL_CLASS_CODEC | 0x1000)
779#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0)779#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_CODEC_CX2341X_BASE+0)
780enum v4l2_mpeg_cx2341x_video_spatial_filter_mode {780enum v4l2_mpeg_cx2341x_video_spatial_filter_mode {
781 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,781 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,
782 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,782 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
783};783};
784#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1)784#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+1)
785#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2)785#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+2)
786enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type {786enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type {
787 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0,787 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0,
788 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,788 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
@@ -790,18 +790,18 @@ enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type { · 1 unmodified line
790 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3,790 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3,
791 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4,791 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4,
792};792};
793#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3)793#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+3)
794enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type {794enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type {
795 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0,795 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0,
796 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,796 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
797};797};
798#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4)798#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_CODEC_CX2341X_BASE+4)
799enum v4l2_mpeg_cx2341x_video_temporal_filter_mode {799enum v4l2_mpeg_cx2341x_video_temporal_filter_mode {
800 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0,800 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0,
801 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,801 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
802};802};
803#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5)803#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+5)
804#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6)804#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+6)
805enum v4l2_mpeg_cx2341x_video_median_filter_type {805enum v4l2_mpeg_cx2341x_video_median_filter_type {
806 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0,806 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0,
807 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,807 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
@@ -809,38 +809,38 @@ enum v4l2_mpeg_cx2341x_video_median_filter_type { · 1 unmodified line
809 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,809 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,
810 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4,810 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4,
811};811};
812#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7)812#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_CODEC_CX2341X_BASE+7)
813#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8)813#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_CODEC_CX2341X_BASE+8)
814#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9)814#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_CODEC_CX2341X_BASE+9)
815#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10)815#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_CODEC_CX2341X_BASE+10)
816#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11)816#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_CODEC_CX2341X_BASE+11)
817 817
818/* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */818/* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */
819#define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100)819#define V4L2_CID_CODEC_MFC51_BASE (V4L2_CTRL_CLASS_CODEC | 0x1100)
820 820
821#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0)821#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_CODEC_MFC51_BASE+0)
822#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1)822#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_MFC51_BASE+1)
823#define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2)823#define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_CODEC_MFC51_BASE+2)
824enum v4l2_mpeg_mfc51_video_frame_skip_mode {824enum v4l2_mpeg_mfc51_video_frame_skip_mode {
825 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,825 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,
826 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,826 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
827 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2,827 V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2,
828};828};
829#define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3)829#define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_CODEC_MFC51_BASE+3)
830enum v4l2_mpeg_mfc51_video_force_frame_type {830enum v4l2_mpeg_mfc51_video_force_frame_type {
831 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0,831 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0,
832 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,832 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
833 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2,833 V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2,
834};834};
835#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4)835#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_CODEC_MFC51_BASE+4)
836#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5)836#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_CODEC_MFC51_BASE+5)
837#define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6)837#define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_CODEC_MFC51_BASE+6)
838#define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7)838#define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_CODEC_MFC51_BASE+7)
839#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50)839#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_CODEC_MFC51_BASE+50)
840#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51)840#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_CODEC_MFC51_BASE+51)
841#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52)841#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_CODEC_MFC51_BASE+52)
842#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53)842#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_CODEC_MFC51_BASE+53)
843#define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54)843#define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_CODEC_MFC51_BASE+54)
844 844
845/* Camera class control IDs */845/* Camera class control IDs */
846 846
@@ -1177,4 +1177,13 @@ enum v4l2_detect_md_mode { · 330 unmodified lines
1177#define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3)1177#define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3)
1178#define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4)1178#define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4)
1179 1179
1180/* MPEG-compression definitions kept for backwards compatibility */
1181#ifndef __KERNEL__
1182#define V4L2_CTRL_CLASS_MPEG V4L2_CTRL_CLASS_CODEC
1183#define V4L2_CID_MPEG_CLASS V4L2_CID_CODEC_CLASS
1184#define V4L2_CID_MPEG_BASE V4L2_CID_CODEC_BASE
1185#define V4L2_CID_MPEG_CX2341X_BASE V4L2_CID_CODEC_CX2341X_BASE
1186#define V4L2_CID_MPEG_MFC51_BASE V4L2_CID_CODEC_MFC51_BASE
1187#endif
1188
1180#endif1189#endif