Commit b92de2f9 authored by Benjamin Gaignard's avatar Benjamin Gaignard Committed by Mauro Carvalho Chehab
Browse files

media: uapi: HEVC: Rename HEVC stateless controls with STATELESS prefix



Change HEVC  stateless controls names to V4L2_CID_STATELESS_HEVC instead
of V4L2_CID_MPEG_VIDEO_HEVC be coherent with v4l2 naming convention.

Signed-off-by: default avatarBenjamin Gaignard <benjamin.gaignard@collabora.com>
Reviewed-by: default avatarNicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: default avatarEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
Tested-by: default avatarJernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 9763fe6c
Loading
Loading
Loading
Loading
+13 −13
Original line number Original line Diff line number Diff line
@@ -2661,7 +2661,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -


.. _v4l2-mpeg-hevc:
.. _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
    Specifies the Sequence Parameter Set fields (as extracted from the
    bitstream) for the associated HEVC slice data.
    bitstream) for the associated HEVC slice data.
    These bitstream parameters are defined according to :ref:`hevc`.
    These bitstream parameters are defined according to :ref:`hevc`.
@@ -2814,7 +2814,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -


    \normalsize
    \normalsize


``V4L2_CID_MPEG_VIDEO_HEVC_PPS (struct)``
``V4L2_CID_STATELESS_HEVC_PPS (struct)``
    Specifies the Picture Parameter Set fields (as extracted from the
    Specifies the Picture Parameter Set fields (as extracted from the
    bitstream) for the associated HEVC slice data.
    bitstream) for the associated HEVC slice data.
    These bitstream parameters are defined according to :ref:`hevc`.
    These bitstream parameters are defined according to :ref:`hevc`.
@@ -2967,7 +2967,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -


    \normalsize
    \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
    Specifies various slice-specific parameters, especially from the NAL unit
    header, general slice segment header and weighted prediction parameter
    header, general slice segment header and weighted prediction parameter
    parts of the bitstream.
    parts of the bitstream.
@@ -3132,7 +3132,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -


    \normalsize
    \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
    Specifies the HEVC scaling matrix parameters used for the scaling process
    for transform coefficients.
    for transform coefficients.
    These matrix and parameters are defined according to :ref:`hevc`.
    These matrix and parameters are defined according to :ref:`hevc`.
@@ -3282,7 +3282,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -


    \normalsize
    \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
    Specifies the decoding mode to use. Currently exposes slice-based and
    frame-based decoding but new modes might be added later on.
    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 control is used as a modifier for V4L2_PIX_FMT_HEVC_SLICE
@@ -3297,7 +3297,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
       This menu control is not yet part of the public kernel API and
       This menu control is not yet part of the public kernel API and
       it is expected to change.
       it is expected to change.


.. c:type:: v4l2_mpeg_video_hevc_decode_mode
.. c:type:: v4l2_stateless_hevc_decode_mode


.. raw:: latex
.. raw:: latex


@@ -3310,11 +3310,11 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
    :stub-columns: 0
    :stub-columns: 0
    :widths:       1 1 2
    :widths:       1 1 2


    * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED``
    * - ``V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED``
      - 0
      - 0
      - Decoding is done at the slice granularity.
      - Decoding is done at the slice granularity.
        The OUTPUT buffer must contain a single slice.
        The OUTPUT buffer must contain a single slice.
    * - ``V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED``
    * - ``V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED``
      - 1
      - 1
      - Decoding is done at the frame granularity.
      - Decoding is done at the frame granularity.
        The OUTPUT buffer must contain all slices needed to decode the
        The OUTPUT buffer must contain all slices needed to decode the
@@ -3324,7 +3324,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -


    \normalsize
    \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.
    Specifies the HEVC slice start code expected for each slice.
    This control is used as a modifier for V4L2_PIX_FMT_HEVC_SLICE
    This control is used as a modifier for V4L2_PIX_FMT_HEVC_SLICE
    pixel format. Applications that support V4L2_PIX_FMT_HEVC_SLICE
    pixel format. Applications that support V4L2_PIX_FMT_HEVC_SLICE
@@ -3338,7 +3338,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
       This menu control is not yet part of the public kernel API and
       This menu control is not yet part of the public kernel API and
       it is expected to change.
       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}|
.. tabularcolumns:: |p{9.2cm}|p{0.6cm}|p{7.5cm}|


@@ -3347,13 +3347,13 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
    :stub-columns: 0
    :stub-columns: 0
    :widths:       1 1 2
    :widths:       1 1 2


    * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE``
    * - ``V4L2_STATELESS_HEVC_START_CODE_NONE``
      - 0
      - 0
      - Selecting this value specifies that HEVC slices are passed
      - Selecting this value specifies that HEVC slices are passed
        to the driver without any start code. The bitstream data should be
        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
        according to :ref:`hevc` 7.3.1.1 General NAL unit syntax, hence
        contains emulation prevention bytes when required.
        contains emulation prevention bytes when required.
    * - ``V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B``
    * - ``V4L2_STATELESS_HEVC_START_CODE_ANNEX_B``
      - 1
      - 1
      - Selecting this value specifies that HEVC slices are expected
      - Selecting this value specifies that HEVC slices are expected
        to be prefixed by Annex B start codes. According to :ref:`hevc`
        to be prefixed by Annex B start codes. According to :ref:`hevc`
@@ -3386,7 +3386,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
    This provides a bitmask which consists of bits [0, LTR_COUNT-1].
    This provides a bitmask which consists of bits [0, LTR_COUNT-1].
    This is applicable to the H264 and HEVC encoders.
    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
    Specifies various decode parameters, especially the references picture order
    count (POC) for all the lists (short, long, before, current, after) and the
    count (POC) for all the lists (short, long, before, current, after) and the
    number of entries for each of them.
    number of entries for each of them.
+16 −16
Original line number Original line Diff line number Diff line
@@ -704,9 +704,9 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
		return hevc_tier;
		return hevc_tier;
	case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
	case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
		return 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;
		return hevc_decode_mode;
	case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:
	case V4L2_CID_STATELESS_HEVC_START_CODE:
		return hevc_start_code;
		return hevc_start_code;
	case V4L2_CID_CAMERA_ORIENTATION:
	case V4L2_CID_CAMERA_ORIENTATION:
		return camera_orientation;
		return camera_orientation;
@@ -1003,13 +1003,6 @@ const char *v4l2_ctrl_get_name(u32 id)
	case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:	return "HEVC Size of Length Field";
	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_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_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 */
	/* CAMERA controls */
	/* Keep the order of the 'case's the same as in v4l2-controls.h! */
	/* Keep the order of the 'case's the same as in v4l2-controls.h! */
@@ -1188,6 +1181,13 @@ const char *v4l2_ctrl_get_name(u32 id)
	case V4L2_CID_STATELESS_MPEG2_QUANTISATION:		return "MPEG-2 Quantisation Matrices";
	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_COMPRESSED_HDR:	return "VP9 Probabilities Updates";
	case V4L2_CID_STATELESS_VP9_FRAME:			return "VP9 Frame Decode Parameters";
	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 */
	/* Colorimetry controls */
	/* Keep the order of the 'case's the same as in v4l2-controls.h! */
	/* Keep the order of the 'case's the same as in v4l2-controls.h! */
@@ -1363,8 +1363,8 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
	case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:
	case V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD:
	case V4L2_CID_MPEG_VIDEO_HEVC_TIER:
	case V4L2_CID_MPEG_VIDEO_HEVC_TIER:
	case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
	case V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE:
	case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE:
	case V4L2_CID_STATELESS_HEVC_DECODE_MODE:
	case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE:
	case V4L2_CID_STATELESS_HEVC_START_CODE:
	case V4L2_CID_STATELESS_H264_DECODE_MODE:
	case V4L2_CID_STATELESS_H264_DECODE_MODE:
	case V4L2_CID_STATELESS_H264_START_CODE:
	case V4L2_CID_STATELESS_H264_START_CODE:
	case V4L2_CID_CAMERA_ORIENTATION:
	case V4L2_CID_CAMERA_ORIENTATION:
@@ -1502,19 +1502,19 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
	case V4L2_CID_STATELESS_VP8_FRAME:
	case V4L2_CID_STATELESS_VP8_FRAME:
		*type = V4L2_CTRL_TYPE_VP8_FRAME;
		*type = V4L2_CTRL_TYPE_VP8_FRAME;
		break;
		break;
	case V4L2_CID_MPEG_VIDEO_HEVC_SPS:
	case V4L2_CID_STATELESS_HEVC_SPS:
		*type = V4L2_CTRL_TYPE_HEVC_SPS;
		*type = V4L2_CTRL_TYPE_HEVC_SPS;
		break;
		break;
	case V4L2_CID_MPEG_VIDEO_HEVC_PPS:
	case V4L2_CID_STATELESS_HEVC_PPS:
		*type = V4L2_CTRL_TYPE_HEVC_PPS;
		*type = V4L2_CTRL_TYPE_HEVC_PPS;
		break;
		break;
	case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS:
	case V4L2_CID_STATELESS_HEVC_SLICE_PARAMS:
		*type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS;
		*type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS;
		break;
		break;
	case V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX:
	case V4L2_CID_STATELESS_HEVC_SCALING_MATRIX:
		*type = V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX;
		*type = V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX;
		break;
		break;
	case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS:
	case V4L2_CID_STATELESS_HEVC_DECODE_PARAMS:
		*type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS;
		*type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS;
		break;
		break;
	case V4L2_CID_STATELESS_VP9_COMPRESSED_HDR:
	case V4L2_CID_STATELESS_VP9_COMPRESSED_HDR:
+13 −13
Original line number Original line Diff line number Diff line
@@ -270,7 +270,7 @@ static int hantro_try_ctrl(struct v4l2_ctrl *ctrl)
		if (sps->bit_depth_luma_minus8 != 0)
		if (sps->bit_depth_luma_minus8 != 0)
			/* Only 8-bit is supported */
			/* Only 8-bit is supported */
			return -EINVAL;
			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;
		const struct v4l2_ctrl_hevc_sps *sps = ctrl->p_new.p_hevc_sps;


		return hantro_hevc_validate_sps(ctx, sps);
		return hantro_hevc_validate_sps(ctx, sps);
@@ -438,18 +438,18 @@ static const struct hantro_ctrl controls[] = {
	}, {
	}, {
		.codec = HANTRO_HEVC_DECODER,
		.codec = HANTRO_HEVC_DECODER,
		.cfg = {
		.cfg = {
			.id = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE,
			.id = V4L2_CID_STATELESS_HEVC_DECODE_MODE,
			.min = V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED,
			.min = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,
			.max = V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED,
			.max = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,
			.def = V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_FRAME_BASED,
			.def = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED,
		},
		},
	}, {
	}, {
		.codec = HANTRO_HEVC_DECODER,
		.codec = HANTRO_HEVC_DECODER,
		.cfg = {
		.cfg = {
			.id = V4L2_CID_MPEG_VIDEO_HEVC_START_CODE,
			.id = V4L2_CID_STATELESS_HEVC_START_CODE,
			.min = V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B,
			.min = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,
			.max = V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B,
			.max = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,
			.def = V4L2_MPEG_VIDEO_HEVC_START_CODE_ANNEX_B,
			.def = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B,
		},
		},
	}, {
	}, {
		.codec = HANTRO_HEVC_DECODER,
		.codec = HANTRO_HEVC_DECODER,
@@ -469,23 +469,23 @@ static const struct hantro_ctrl controls[] = {
	}, {
	}, {
		.codec = HANTRO_HEVC_DECODER,
		.codec = HANTRO_HEVC_DECODER,
		.cfg = {
		.cfg = {
			.id = V4L2_CID_MPEG_VIDEO_HEVC_SPS,
			.id = V4L2_CID_STATELESS_HEVC_SPS,
			.ops = &hantro_ctrl_ops,
			.ops = &hantro_ctrl_ops,
		},
		},
	}, {
	}, {
		.codec = HANTRO_HEVC_DECODER,
		.codec = HANTRO_HEVC_DECODER,
		.cfg = {
		.cfg = {
			.id = V4L2_CID_MPEG_VIDEO_HEVC_PPS,
			.id = V4L2_CID_STATELESS_HEVC_PPS,
		},
		},
	}, {
	}, {
		.codec = HANTRO_HEVC_DECODER,
		.codec = HANTRO_HEVC_DECODER,
		.cfg = {
		.cfg = {
			.id = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS,
			.id = V4L2_CID_STATELESS_HEVC_DECODE_PARAMS,
		},
		},
	}, {
	}, {
		.codec = HANTRO_HEVC_DECODER,
		.codec = HANTRO_HEVC_DECODER,
		.cfg = {
		.cfg = {
			.id = V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX,
			.id = V4L2_CID_STATELESS_HEVC_SCALING_MATRIX,
		},
		},
	}, {
	}, {
		.codec = HANTRO_HEVC_DECODER,
		.codec = HANTRO_HEVC_DECODER,
+4 −4
Original line number Original line Diff line number Diff line
@@ -189,17 +189,17 @@ int hantro_hevc_dec_prepare_run(struct hantro_ctx *ctx)
	hantro_start_prepare_run(ctx);
	hantro_start_prepare_run(ctx);


	ctrls->decode_params =
	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))
	if (WARN_ON(!ctrls->decode_params))
		return -EINVAL;
		return -EINVAL;


	ctrls->scaling =
	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))
	if (WARN_ON(!ctrls->scaling))
		return -EINVAL;
		return -EINVAL;


	ctrls->sps =
	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))
	if (WARN_ON(!ctrls->sps))
		return -EINVAL;
		return -EINVAL;


@@ -208,7 +208,7 @@ int hantro_hevc_dec_prepare_run(struct hantro_ctx *ctx)
		return ret;
		return ret;


	ctrls->pps =
	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))
	if (WARN_ON(!ctrls->pps))
		return -EINVAL;
		return -EINVAL;


+12 −12
Original line number Original line Diff line number Diff line
@@ -42,7 +42,7 @@ static int cedrus_try_ctrl(struct v4l2_ctrl *ctrl)
		if (sps->bit_depth_luma_minus8 != 0)
		if (sps->bit_depth_luma_minus8 != 0)
			/* Only 8-bit is supported */
			/* Only 8-bit is supported */
			return -EINVAL;
			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;
		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);
		struct cedrus_ctx *ctx = container_of(ctrl->handler, struct cedrus_ctx, hdl);


@@ -164,42 +164,42 @@ static const struct cedrus_control cedrus_controls[] = {
	},
	},
	{
	{
		.cfg = {
		.cfg = {
			.id	= V4L2_CID_MPEG_VIDEO_HEVC_SPS,
			.id	= V4L2_CID_STATELESS_HEVC_SPS,
			.ops	= &cedrus_ctrl_ops,
			.ops	= &cedrus_ctrl_ops,
		},
		},
		.codec		= CEDRUS_CODEC_H265,
		.codec		= CEDRUS_CODEC_H265,
	},
	},
	{
	{
		.cfg = {
		.cfg = {
			.id	= V4L2_CID_MPEG_VIDEO_HEVC_PPS,
			.id	= V4L2_CID_STATELESS_HEVC_PPS,
		},
		},
		.codec		= CEDRUS_CODEC_H265,
		.codec		= CEDRUS_CODEC_H265,
	},
	},
	{
	{
		.cfg = {
		.cfg = {
			.id	= V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS,
			.id	= V4L2_CID_STATELESS_HEVC_SLICE_PARAMS,
		},
		},
		.codec		= CEDRUS_CODEC_H265,
		.codec		= CEDRUS_CODEC_H265,
	},
	},
	{
	{
		.cfg = {
		.cfg = {
			.id	= V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX,
			.id	= V4L2_CID_STATELESS_HEVC_SCALING_MATRIX,
		},
		},
		.codec		= CEDRUS_CODEC_H265,
		.codec		= CEDRUS_CODEC_H265,
	},
	},
	{
	{
		.cfg = {
		.cfg = {
			.id	= V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE,
			.id	= V4L2_CID_STATELESS_HEVC_DECODE_MODE,
			.max	= V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED,
			.max	= V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,
			.def	= V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED,
			.def	= V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,
		},
		},
		.codec		= CEDRUS_CODEC_H265,
		.codec		= CEDRUS_CODEC_H265,
	},
	},
	{
	{
		.cfg = {
		.cfg = {
			.id	= V4L2_CID_MPEG_VIDEO_HEVC_START_CODE,
			.id	= V4L2_CID_STATELESS_HEVC_START_CODE,
			.max	= V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE,
			.max	= V4L2_STATELESS_HEVC_START_CODE_NONE,
			.def	= V4L2_MPEG_VIDEO_HEVC_START_CODE_NONE,
			.def	= V4L2_STATELESS_HEVC_START_CODE_NONE,
		},
		},
		.codec		= CEDRUS_CODEC_H265,
		.codec		= CEDRUS_CODEC_H265,
	},
	},
@@ -211,7 +211,7 @@ static const struct cedrus_control cedrus_controls[] = {
	},
	},
	{
	{
		.cfg = {
		.cfg = {
			.id = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS,
			.id = V4L2_CID_STATELESS_HEVC_DECODE_PARAMS,
		},
		},
		.codec		= CEDRUS_CODEC_H265,
		.codec		= CEDRUS_CODEC_H265,
	},
	},
Loading