mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
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.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Tested-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
c8363ff21b
commit
35aaa6e650
@@ -32,7 +32,7 @@ file handle is visible through another file handle).
|
||||
One of the most common memory-to-memory device is the codec. Codecs
|
||||
are more complicated than most and require additional setup for
|
||||
their codec parameters. This is done through codec controls.
|
||||
See :ref:`mpeg-controls`. More details on how to use codec memory-to-memory
|
||||
See :ref:`codec-controls`. More details on how to use codec memory-to-memory
|
||||
devices are given in the following sections.
|
||||
|
||||
.. toctree::
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
|
||||
|
||||
.. _mpeg-controls:
|
||||
.. _codec-controls:
|
||||
|
||||
***********************
|
||||
Codec Control Reference
|
||||
@@ -26,7 +26,7 @@ Generic Codec Controls
|
||||
Codec Control IDs
|
||||
-----------------
|
||||
|
||||
``V4L2_CID_MPEG_CLASS (class)``
|
||||
``V4L2_CID_CODEC_CLASS (class)``
|
||||
The Codec class descriptor. Calling
|
||||
:ref:`VIDIOC_QUERYCTRL` for this control will
|
||||
return a description of this control class. This description can be
|
||||
|
||||
@@ -55,8 +55,8 @@ controls in that array and a control class. Control classes are used to
|
||||
group similar controls into a single class. For example, control class
|
||||
``V4L2_CTRL_CLASS_USER`` contains all user controls (i. e. all controls
|
||||
that can also be set using the old :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>`
|
||||
ioctl). Control class ``V4L2_CTRL_CLASS_MPEG`` contains all controls
|
||||
relating to MPEG encoding, etc.
|
||||
ioctl). Control class ``V4L2_CTRL_CLASS_CODEC`` contains controls
|
||||
relating to codecs.
|
||||
|
||||
All controls in the control array must belong to the specified control
|
||||
class. An error is returned if this is not the case.
|
||||
@@ -130,9 +130,9 @@ control class is found:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
qctrl.id = V4L2_CTRL_CLASS_MPEG | V4L2_CTRL_FLAG_NEXT_CTRL;
|
||||
qctrl.id = V4L2_CTRL_CLASS_CODEC | V4L2_CTRL_FLAG_NEXT_CTRL;
|
||||
while (0 == ioctl(fd, VIDIOC_QUERYCTRL, &qctrl)) {
|
||||
if (V4L2_CTRL_ID2CLASS(qctrl.id) != V4L2_CTRL_CLASS_MPEG)
|
||||
if (V4L2_CTRL_ID2CLASS(qctrl.id) != V4L2_CTRL_CLASS_CODEC)
|
||||
break;
|
||||
/* ... */
|
||||
qctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL;
|
||||
|
||||
@@ -322,10 +322,10 @@ still cause this situation.
|
||||
:ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>` and
|
||||
:ref:`VIDIOC_G_CTRL <VIDIOC_G_CTRL>` ioctl belong to this
|
||||
class.
|
||||
* - ``V4L2_CTRL_CLASS_MPEG``
|
||||
* - ``V4L2_CTRL_CLASS_CODEC``
|
||||
- 0x990000
|
||||
- The class containing MPEG compression controls. These controls are
|
||||
described in :ref:`mpeg-controls`.
|
||||
- The class containing stateful codec controls. These controls are
|
||||
described in :ref:`codec-controls`.
|
||||
* - ``V4L2_CTRL_CLASS_CAMERA``
|
||||
- 0x9a0000
|
||||
- The class containing camera controls. These controls are described
|
||||
|
||||
@@ -166,7 +166,7 @@ static void cx2341x_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *ty
|
||||
|
||||
/* Must be sorted from low to high control ID! */
|
||||
const u32 cx2341x_mpeg_ctrls[] = {
|
||||
V4L2_CID_MPEG_CLASS,
|
||||
V4L2_CID_CODEC_CLASS,
|
||||
V4L2_CID_MPEG_STREAM_TYPE,
|
||||
V4L2_CID_MPEG_STREAM_VBI_FMT,
|
||||
V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,
|
||||
@@ -574,7 +574,7 @@ int cx2341x_ctrl_query(const struct cx2341x_mpeg_params *params,
|
||||
int err;
|
||||
|
||||
switch (qctrl->id) {
|
||||
case V4L2_CID_MPEG_CLASS:
|
||||
case V4L2_CID_CODEC_CLASS:
|
||||
return v4l2_ctrl_query_fill(qctrl, 0, 0, 0, 0);
|
||||
case V4L2_CID_MPEG_STREAM_TYPE:
|
||||
return v4l2_ctrl_query_fill(qctrl,
|
||||
|
||||
@@ -1109,7 +1109,7 @@ const struct v4l2_ioctl_ops *get_dec_v4l2_ioctl_ops(void)
|
||||
return &s5p_mfc_dec_ioctl_ops;
|
||||
}
|
||||
|
||||
#define IS_MFC51_PRIV(x) ((V4L2_CTRL_ID2WHICH(x) == V4L2_CTRL_CLASS_MPEG) \
|
||||
#define IS_MFC51_PRIV(x) ((V4L2_CTRL_ID2WHICH(x) == V4L2_CTRL_CLASS_CODEC) \
|
||||
&& V4L2_CTRL_DRIVER_PRIV(x))
|
||||
|
||||
int s5p_mfc_dec_ctrls_setup(struct s5p_mfc_ctx *ctx)
|
||||
|
||||
@@ -2614,7 +2614,7 @@ const struct v4l2_ioctl_ops *get_enc_v4l2_ioctl_ops(void)
|
||||
return &s5p_mfc_enc_ioctl_ops;
|
||||
}
|
||||
|
||||
#define IS_MFC51_PRIV(x) ((V4L2_CTRL_ID2WHICH(x) == V4L2_CTRL_CLASS_MPEG) \
|
||||
#define IS_MFC51_PRIV(x) ((V4L2_CTRL_ID2WHICH(x) == V4L2_CTRL_CLASS_CODEC) \
|
||||
&& V4L2_CTRL_DRIVER_PRIV(x))
|
||||
|
||||
int s5p_mfc_enc_ctrls_setup(struct s5p_mfc_ctx *ctx)
|
||||
|
||||
@@ -830,7 +830,7 @@ const char *v4l2_ctrl_get_name(u32 id)
|
||||
/* The MPEG controls are applicable to all codec controls
|
||||
* and the 'MPEG' part of the define is historical */
|
||||
/* Keep the order of the 'case's the same as in videodev2.h! */
|
||||
case V4L2_CID_MPEG_CLASS: return "Codec Controls";
|
||||
case V4L2_CID_CODEC_CLASS: return "Codec Controls";
|
||||
case V4L2_CID_MPEG_STREAM_TYPE: return "Stream Type";
|
||||
case V4L2_CID_MPEG_STREAM_PID_PMT: return "Stream PMT Program ID";
|
||||
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,
|
||||
break;
|
||||
case V4L2_CID_USER_CLASS:
|
||||
case V4L2_CID_CAMERA_CLASS:
|
||||
case V4L2_CID_MPEG_CLASS:
|
||||
case V4L2_CID_CODEC_CLASS:
|
||||
case V4L2_CID_FM_TX_CLASS:
|
||||
case V4L2_CID_FLASH_CLASS:
|
||||
case V4L2_CID_JPEG_CLASS:
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#define V4L2_CTRL_TYPE_FWHT_PARAMS 0x0105
|
||||
|
||||
#define V4L2_CID_MPEG_VIDEO_FWHT_PARAMS (V4L2_CID_MPEG_BASE + 292)
|
||||
#define V4L2_CID_MPEG_VIDEO_FWHT_PARAMS (V4L2_CID_CODEC_BASE + 292)
|
||||
|
||||
struct v4l2_ctrl_fwht_params {
|
||||
__u64 backward_ref_ts;
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
* would be added during the phase where those controls are not
|
||||
* stable. It should be fixed eventually.
|
||||
*/
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_SPS (V4L2_CID_MPEG_BASE+1000)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_PPS (V4L2_CID_MPEG_BASE+1001)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX (V4L2_CID_MPEG_BASE+1002)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS (V4L2_CID_MPEG_BASE+1003)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_DECODE_PARAMS (V4L2_CID_MPEG_BASE+1004)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE (V4L2_CID_MPEG_BASE+1005)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_START_CODE (V4L2_CID_MPEG_BASE+1006)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_PRED_WEIGHTS (V4L2_CID_MPEG_BASE+1007)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_SPS (V4L2_CID_CODEC_BASE+1000)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_PPS (V4L2_CID_CODEC_BASE+1001)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX (V4L2_CID_CODEC_BASE+1002)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS (V4L2_CID_CODEC_BASE+1003)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_DECODE_PARAMS (V4L2_CID_CODEC_BASE+1004)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE (V4L2_CID_CODEC_BASE+1005)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_START_CODE (V4L2_CID_CODEC_BASE+1006)
|
||||
#define V4L2_CID_MPEG_VIDEO_H264_PRED_WEIGHTS (V4L2_CID_CODEC_BASE+1007)
|
||||
|
||||
/* enum v4l2_ctrl_type type values */
|
||||
#define V4L2_CTRL_TYPE_H264_SPS 0x0110
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
/* The pixel format isn't stable at the moment and will likely be renamed. */
|
||||
#define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC parsed slices */
|
||||
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_SPS (V4L2_CID_MPEG_BASE + 1008)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_PPS (V4L2_CID_MPEG_BASE + 1009)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (V4L2_CID_MPEG_BASE + 1010)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE (V4L2_CID_MPEG_BASE + 1015)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_START_CODE (V4L2_CID_MPEG_BASE + 1016)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_SPS (V4L2_CID_CODEC_BASE + 1008)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_PPS (V4L2_CID_CODEC_BASE + 1009)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (V4L2_CID_CODEC_BASE + 1010)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE (V4L2_CID_CODEC_BASE + 1015)
|
||||
#define V4L2_CID_MPEG_VIDEO_HEVC_START_CODE (V4L2_CID_CODEC_BASE + 1016)
|
||||
|
||||
/* enum v4l2_ctrl_type type values */
|
||||
#define V4L2_CTRL_TYPE_HEVC_SPS 0x0120
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
#ifndef _MPEG2_CTRLS_H_
|
||||
#define _MPEG2_CTRLS_H_
|
||||
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS (V4L2_CID_MPEG_BASE+250)
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION (V4L2_CID_MPEG_BASE+251)
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS (V4L2_CID_CODEC_BASE+250)
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION (V4L2_CID_CODEC_BASE+251)
|
||||
|
||||
/* enum v4l2_ctrl_type type values */
|
||||
#define V4L2_CTRL_TYPE_MPEG2_SLICE_PARAMS 0x0103
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
#define V4L2_PIX_FMT_VP8_FRAME v4l2_fourcc('V', 'P', '8', 'F')
|
||||
|
||||
#define V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER (V4L2_CID_MPEG_BASE + 2000)
|
||||
#define V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER (V4L2_CID_CODEC_BASE + 2000)
|
||||
#define V4L2_CTRL_TYPE_VP8_FRAME_HEADER 0x301
|
||||
|
||||
#define V4L2_VP8_SEGMENT_HEADER_FLAG_ENABLED 0x01
|
||||
|
||||
+208
-199
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user