.. _v4l2-mpeg-hevc:
 
-``V4L2_CID_MPEG_VIDEO_HEVC_SPS (struct)``
+``V4L2_CID_STATELESS_HEVC_SPS (struct)``
     Specifies the Sequence Parameter Set fields (as extracted from the
     bitstream) for the associated HEVC slice data.
     These bitstream parameters are defined according to :ref:`hevc`.
 
     \normalsize
 
-``V4L2_CID_MPEG_VIDEO_HEVC_PPS (struct)``
+``V4L2_CID_STATELESS_HEVC_PPS (struct)``
     Specifies the Picture Parameter Set fields (as extracted from the
     bitstream) for the associated HEVC slice data.
     These bitstream parameters are defined according to :ref:`hevc`.
 
     \normalsize
 
-``V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (struct)``
+``V4L2_CID_STATELESS_HEVC_SLICE_PARAMS (struct)``
     Specifies various slice-specific parameters, especially from the NAL unit
     header, general slice segment header and weighted prediction parameter
     parts of the bitstream.
 
     \normalsize
 
-``V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX (struct)``
+``V4L2_CID_STATELESS_HEVC_SCALING_MATRIX (struct)``
     Specifies the HEVC scaling matrix parameters used for the scaling process
     for transform coefficients.
     These matrix and parameters are defined according to :ref:`hevc`.
 
     \normalsize
 
-``V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE (enum)``
+``V4L2_CID_STATELESS_HEVC_DECODE_MODE (enum)``
     Specifies the decoding mode to use. Currently exposes slice-based and
     frame-based decoding but new modes might be added later on.
     This control is used as a modifier for V4L2_PIX_FMT_HEVC_SLICE
        This menu control is not yet part of the public kernel API and
        it is expected to change.
 
-.. c:type:: v4l2_mpeg_video_hevc_decode_mode
+.. c:type:: v4l2_stateless_hevc_decode_mode
 
 .. raw:: latex
 
     :stub-columns: 0
     :widths:       1 1 2
 
-    * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED``
+    * - ``V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED``
       - 0
       - Decoding is done at the slice granularity.
         The OUTPUT buffer must contain a single slice.
-    * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED``
+    * - ``V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED``
       - 1
       - Decoding is done at the frame granularity.
         The OUTPUT buffer must contain all slices needed to decode the
 
     \normalsize
 
-``V4L2_CID_MPEG_VIDEO_HEVC_START_CODE (enum)``
+``V4L2_CID_STATELESS_HEVC_START_CODE (enum)``
     Specifies the HEVC slice start code expected for each slice.
     This control is used as a modifier for V4L2_PIX_FMT_HEVC_SLICE
     pixel format. Applications that support V4L2_PIX_FMT_HEVC_SLICE
        This menu control is not yet part of the public kernel API and
        it is expected to change.
 
-.. c:type:: v4l2_mpeg_video_hevc_start_code
+.. c:type:: v4l2_stateless_hevc_start_code
 
 .. tabularcolumns:: |p{9.2cm}|p{0.6cm}|p{7.5cm}|
 
     :stub-columns: 0
     :widths:       1 1 2
 
-    * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE``
+    * - ``V4L2_STATELESS_HEVC_START_CODE_NONE``
       - 0
       - Selecting this value specifies that HEVC slices are passed
         to the driver without any start code. The bitstream data should be
         according to :ref:`hevc` 7.3.1.1 General NAL unit syntax, hence
         contains emulation prevention bytes when required.
-    * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B``
+    * - ``V4L2_STATELESS_HEVC_START_CODE_ANNEX_B``
       - 1
       - Selecting this value specifies that HEVC slices are expected
         to be prefixed by Annex B start codes. According to :ref:`hevc`
     This provides a bitmask which consists of bits [0, LTR_COUNT-1].
     This is applicable to the H264 and HEVC encoders.
 
-``V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS (struct)``
+``V4L2_CID_STATELESS_HEVC_DECODE_PARAMS (struct)``
     Specifies various decode parameters, especially the references picture order
     count (POC) for all the lists (short, long, before, current, after) and the
     number of entries for each of them.
 
                return hevc_tier;
        case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
                return hevc_loop_filter_mode;
-       case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE:
+       case V4L2_CID_STATELESS_HEVC_DECODE_MODE:
                return hevc_decode_mode;
-       case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:
+       case V4L2_CID_STATELESS_HEVC_START_CODE:
                return hevc_start_code;
        case V4L2_CID_CAMERA_ORIENTATION:
                return camera_orientation;
        case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:     return "HEVC Size of Length Field";
        case V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES:        return "Reference Frames for a P-Frame";
        case V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR:         return "Prepend SPS and PPS to IDR";
-       case V4L2_CID_MPEG_VIDEO_HEVC_SPS:                      return "HEVC Sequence Parameter Set";
-       case V4L2_CID_MPEG_VIDEO_HEVC_PPS:                      return "HEVC Picture Parameter Set";
-       case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS:             return "HEVC Slice Parameters";
-       case V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX:           return "HEVC Scaling Matrix";
-       case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS:            return "HEVC Decode Parameters";
-       case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE:              return "HEVC Decode Mode";
-       case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:               return "HEVC Start Code";
 
        /* CAMERA controls */
        /* Keep the order of the 'case's the same as in v4l2-controls.h! */
        case V4L2_CID_STATELESS_MPEG2_QUANTISATION:             return "MPEG-2 Quantisation Matrices";
        case V4L2_CID_STATELESS_VP9_COMPRESSED_HDR:     return "VP9 Probabilities Updates";
        case V4L2_CID_STATELESS_VP9_FRAME:                      return "VP9 Frame Decode Parameters";
+       case V4L2_CID_STATELESS_HEVC_SPS:                       return "HEVC Sequence Parameter Set";
+       case V4L2_CID_STATELESS_HEVC_PPS:                       return "HEVC Picture Parameter Set";
+       case V4L2_CID_STATELESS_HEVC_SLICE_PARAMS:              return "HEVC Slice Parameters";
+       case V4L2_CID_STATELESS_HEVC_SCALING_MATRIX:            return "HEVC Scaling Matrix";
+       case V4L2_CID_STATELESS_HEVC_DECODE_PARAMS:             return "HEVC Decode Parameters";
+       case V4L2_CID_STATELESS_HEVC_DECODE_MODE:               return "HEVC Decode Mode";
+       case V4L2_CID_STATELESS_HEVC_START_CODE:                return "HEVC Start Code";
 
        /* Colorimetry controls */
        /* Keep the order of the 'case's the same as in v4l2-controls.h! */
        case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:
        case V4L2_CID_MPEG_VIDEO_HEVC_TIER:
        case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
-       case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE:
-       case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:
+       case V4L2_CID_STATELESS_HEVC_DECODE_MODE:
+       case V4L2_CID_STATELESS_HEVC_START_CODE:
        case V4L2_CID_STATELESS_H264_DECODE_MODE:
        case V4L2_CID_STATELESS_H264_START_CODE:
        case V4L2_CID_CAMERA_ORIENTATION:
        case V4L2_CID_STATELESS_VP8_FRAME:
                *type = V4L2_CTRL_TYPE_VP8_FRAME;
                break;
-       case V4L2_CID_MPEG_VIDEO_HEVC_SPS:
+       case V4L2_CID_STATELESS_HEVC_SPS:
                *type = V4L2_CTRL_TYPE_HEVC_SPS;
                break;
-       case V4L2_CID_MPEG_VIDEO_HEVC_PPS:
+       case V4L2_CID_STATELESS_HEVC_PPS:
                *type = V4L2_CTRL_TYPE_HEVC_PPS;
                break;
-       case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS:
+       case V4L2_CID_STATELESS_HEVC_SLICE_PARAMS:
                *type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS;
                break;
-       case V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX:
+       case V4L2_CID_STATELESS_HEVC_SCALING_MATRIX:
                *type = V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX;
                break;
-       case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS:
+       case V4L2_CID_STATELESS_HEVC_DECODE_PARAMS:
                *type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS;
                break;
        case V4L2_CID_STATELESS_VP9_COMPRESSED_HDR:
 
                if (sps->bit_depth_luma_minus8 != 0)
                        /* Only 8-bit is supported */
                        return -EINVAL;
-       } else if (ctrl->id == V4L2_CID_MPEG_VIDEO_HEVC_SPS) {
+       } else if (ctrl->id == V4L2_CID_STATELESS_HEVC_SPS) {
                const struct v4l2_ctrl_hevc_sps *sps = ctrl->p_new.p_hevc_sps;
 
                return hantro_hevc_validate_sps(ctx, sps);
        }, {
                .codec = HANTRO_HEVC_DECODER,
                .cfg = {
-                       .id = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE,
-                       .min = V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED,
-                       .max = V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED,
-                       .def = V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED,
+                       .id = V4L2_CID_STATELESS_HEVC_DECODE_MODE,
+                       .min = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,
+                       .max = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,
+                       .def = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,
                },
        }, {
                .codec = HANTRO_HEVC_DECODER,
                .cfg = {
-                       .id = V4L2_CID_MPEG_VIDEO_HEVC_START_CODE,
-                       .min = V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B,
-                       .max = V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B,
-                       .def = V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B,
+                       .id = V4L2_CID_STATELESS_HEVC_START_CODE,
+                       .min = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,
+                       .max = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,
+                       .def = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,
                },
        }, {
                .codec = HANTRO_HEVC_DECODER,
        }, {
                .codec = HANTRO_HEVC_DECODER,
                .cfg = {
-                       .id = V4L2_CID_MPEG_VIDEO_HEVC_SPS,
+                       .id = V4L2_CID_STATELESS_HEVC_SPS,
                        .ops = &hantro_ctrl_ops,
                },
        }, {
                .codec = HANTRO_HEVC_DECODER,
                .cfg = {
-                       .id = V4L2_CID_MPEG_VIDEO_HEVC_PPS,
+                       .id = V4L2_CID_STATELESS_HEVC_PPS,
                },
        }, {
                .codec = HANTRO_HEVC_DECODER,
                .cfg = {
-                       .id = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS,
+                       .id = V4L2_CID_STATELESS_HEVC_DECODE_PARAMS,
                },
        }, {
                .codec = HANTRO_HEVC_DECODER,
                .cfg = {
-                       .id = V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX,
+                       .id = V4L2_CID_STATELESS_HEVC_SCALING_MATRIX,
                },
        }, {
                .codec = HANTRO_HEVC_DECODER,
 
        hantro_start_prepare_run(ctx);
 
        ctrls->decode_params =
-               hantro_get_ctrl(ctx, V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS);
+               hantro_get_ctrl(ctx, V4L2_CID_STATELESS_HEVC_DECODE_PARAMS);
        if (WARN_ON(!ctrls->decode_params))
                return -EINVAL;
 
        ctrls->scaling =
-               hantro_get_ctrl(ctx, V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX);
+               hantro_get_ctrl(ctx, V4L2_CID_STATELESS_HEVC_SCALING_MATRIX);
        if (WARN_ON(!ctrls->scaling))
                return -EINVAL;
 
        ctrls->sps =
-               hantro_get_ctrl(ctx, V4L2_CID_MPEG_VIDEO_HEVC_SPS);
+               hantro_get_ctrl(ctx, V4L2_CID_STATELESS_HEVC_SPS);
        if (WARN_ON(!ctrls->sps))
                return -EINVAL;
 
                return ret;
 
        ctrls->pps =
-               hantro_get_ctrl(ctx, V4L2_CID_MPEG_VIDEO_HEVC_PPS);
+               hantro_get_ctrl(ctx, V4L2_CID_STATELESS_HEVC_PPS);
        if (WARN_ON(!ctrls->pps))
                return -EINVAL;
 
 
                if (sps->bit_depth_luma_minus8 != 0)
                        /* Only 8-bit is supported */
                        return -EINVAL;
-       } else if (ctrl->id == V4L2_CID_MPEG_VIDEO_HEVC_SPS) {
+       } else if (ctrl->id == V4L2_CID_STATELESS_HEVC_SPS) {
                const struct v4l2_ctrl_hevc_sps *sps = ctrl->p_new.p_hevc_sps;
                struct cedrus_ctx *ctx = container_of(ctrl->handler, struct cedrus_ctx, hdl);
 
        },
        {
                .cfg = {
-                       .id     = V4L2_CID_MPEG_VIDEO_HEVC_SPS,
+                       .id     = V4L2_CID_STATELESS_HEVC_SPS,
                        .ops    = &cedrus_ctrl_ops,
                },
                .codec          = CEDRUS_CODEC_H265,
        },
        {
                .cfg = {
-                       .id     = V4L2_CID_MPEG_VIDEO_HEVC_PPS,
+                       .id     = V4L2_CID_STATELESS_HEVC_PPS,
                },
                .codec          = CEDRUS_CODEC_H265,
        },
        {
                .cfg = {
-                       .id     = V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS,
+                       .id     = V4L2_CID_STATELESS_HEVC_SLICE_PARAMS,
                },
                .codec          = CEDRUS_CODEC_H265,
        },
        {
                .cfg = {
-                       .id     = V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX,
+                       .id     = V4L2_CID_STATELESS_HEVC_SCALING_MATRIX,
                },
                .codec          = CEDRUS_CODEC_H265,
        },
        {
                .cfg = {
-                       .id     = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE,
-                       .max    = V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED,
-                       .def    = V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED,
+                       .id     = V4L2_CID_STATELESS_HEVC_DECODE_MODE,
+                       .max    = V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,
+                       .def    = V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,
                },
                .codec          = CEDRUS_CODEC_H265,
        },
        {
                .cfg = {
-                       .id     = V4L2_CID_MPEG_VIDEO_HEVC_START_CODE,
-                       .max    = V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE,
-                       .def    = V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE,
+                       .id     = V4L2_CID_STATELESS_HEVC_START_CODE,
+                       .max    = V4L2_STATELESS_HEVC_START_CODE_NONE,
+                       .def    = V4L2_STATELESS_HEVC_START_CODE_NONE,
                },
                .codec          = CEDRUS_CODEC_H265,
        },
        },
        {
                .cfg = {
-                       .id = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS,
+                       .id = V4L2_CID_STATELESS_HEVC_DECODE_PARAMS,
                },
                .codec          = CEDRUS_CODEC_H265,
        },
 
 
        case V4L2_PIX_FMT_HEVC_SLICE:
                run.h265.sps = cedrus_find_control_data(ctx,
-                       V4L2_CID_MPEG_VIDEO_HEVC_SPS);
+                       V4L2_CID_STATELESS_HEVC_SPS);
                run.h265.pps = cedrus_find_control_data(ctx,
-                       V4L2_CID_MPEG_VIDEO_HEVC_PPS);
+                       V4L2_CID_STATELESS_HEVC_PPS);
                run.h265.slice_params = cedrus_find_control_data(ctx,
-                       V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS);
+                       V4L2_CID_STATELESS_HEVC_SLICE_PARAMS);
                run.h265.decode_params = cedrus_find_control_data(ctx,
-                       V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS);
+                       V4L2_CID_STATELESS_HEVC_DECODE_PARAMS);
                run.h265.scaling_matrix = cedrus_find_control_data(ctx,
-                       V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX);
+                       V4L2_CID_STATELESS_HEVC_SCALING_MATRIX);
                break;
 
        case V4L2_PIX_FMT_VP8_FRAME:
 
 /* 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_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_SCALING_MATRIX        (V4L2_CID_CODEC_BASE + 1011)
-#define V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS (V4L2_CID_CODEC_BASE + 1012)
-#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)
+#define V4L2_CID_STATELESS_HEVC_SPS            (V4L2_CID_CODEC_BASE + 1008)
+#define V4L2_CID_STATELESS_HEVC_PPS            (V4L2_CID_CODEC_BASE + 1009)
+#define V4L2_CID_STATELESS_HEVC_SLICE_PARAMS   (V4L2_CID_CODEC_BASE + 1010)
+#define V4L2_CID_STATELESS_HEVC_SCALING_MATRIX (V4L2_CID_CODEC_BASE + 1011)
+#define V4L2_CID_STATELESS_HEVC_DECODE_PARAMS  (V4L2_CID_CODEC_BASE + 1012)
+#define V4L2_CID_STATELESS_HEVC_DECODE_MODE    (V4L2_CID_CODEC_BASE + 1015)
+#define V4L2_CID_STATELESS_HEVC_START_CODE     (V4L2_CID_CODEC_BASE + 1016)
 
 /* enum v4l2_ctrl_type type values */
 #define V4L2_CTRL_TYPE_HEVC_SPS 0x0120
 #define V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX 0x0123
 #define V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS 0x0124
 
-enum v4l2_mpeg_video_hevc_decode_mode {
-       V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED,
-       V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED,
+enum v4l2_stateless_hevc_decode_mode {
+       V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,
+       V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,
 };
 
-enum v4l2_mpeg_video_hevc_start_code {
-       V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE,
-       V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B,
+enum v4l2_stateless_hevc_start_code {
+       V4L2_STATELESS_HEVC_START_CODE_NONE,
+       V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,
 };
 
 #define V4L2_HEVC_SLICE_TYPE_B 0