diff mbox series

[v3,08/13] media: controls: Add the stateless codec control class

Message ID 20201118184700.331213-9-ezequiel@collabora.com
State Superseded
Headers show
Series Stateless H.264 de-staging | expand

Commit Message

Ezequiel Garcia Nov. 18, 2020, 6:46 p.m. UTC
Add a new control class to hold the stateless codecs controls
that are ready to be moved out of staging.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
 drivers/media/v4l2-core/v4l2-ctrls.c | 5 +++++
 include/uapi/linux/v4l2-controls.h   | 7 +++++++
 2 files changed, 12 insertions(+)

Comments

Hans Verkuil Nov. 20, 2020, 9:33 a.m. UTC | #1
On 18/11/2020 19:46, Ezequiel Garcia wrote:
> Add a new control class to hold the stateless codecs controls

> that are ready to be moved out of staging.

> 

> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>

> ---

>  drivers/media/v4l2-core/v4l2-ctrls.c | 5 +++++

>  include/uapi/linux/v4l2-controls.h   | 7 +++++++

>  2 files changed, 12 insertions(+)

> 

> diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c

> index adcf47bddbe3..472b46e8290b 100644

> --- a/drivers/media/v4l2-core/v4l2-ctrls.c

> +++ b/drivers/media/v4l2-core/v4l2-ctrls.c

> @@ -1181,6 +1181,10 @@ const char *v4l2_ctrl_get_name(u32 id)

>  	case V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD: return "MD Global Threshold";

>  	case V4L2_CID_DETECT_MD_THRESHOLD_GRID:	return "MD Threshold Grid";

>  	case V4L2_CID_DETECT_MD_REGION_GRID:	return "MD Region Grid";

> +

> +	/* Codec controls */


Shouldn't that be: /* Stateless Codec controls */ ?

Regards,

	Hans

> +	/* Keep the order of the 'case's the same as in v4l2-controls.h! */

> +	case V4L2_CID_CODEC_STATELESS_CLASS:	return "Stateless Codec Controls";

>  	default:

>  		return NULL;

>  	}

> @@ -1368,6 +1372,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,

>  	case V4L2_CID_FM_RX_CLASS:

>  	case V4L2_CID_RF_TUNER_CLASS:

>  	case V4L2_CID_DETECT_CLASS:

> +	case V4L2_CID_CODEC_STATELESS_CLASS:

>  		*type = V4L2_CTRL_TYPE_CTRL_CLASS;

>  		/* You can neither read not write these */

>  		*flags |= V4L2_CTRL_FLAG_READ_ONLY | V4L2_CTRL_FLAG_WRITE_ONLY;

> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h

> index 75cf87b9a377..90478ecc2f81 100644

> --- a/include/uapi/linux/v4l2-controls.h

> +++ b/include/uapi/linux/v4l2-controls.h

> @@ -65,6 +65,7 @@

>  #define V4L2_CTRL_CLASS_FM_RX		0x00a10000	/* FM Receiver controls */

>  #define V4L2_CTRL_CLASS_RF_TUNER	0x00a20000	/* RF tuner controls */

>  #define V4L2_CTRL_CLASS_DETECT		0x00a30000	/* Detection controls */

> +#define V4L2_CTRL_CLASS_CODEC_STATELESS 0x00a40000	/* Stateless codecs controls */

>  

>  /* User-class control IDs */

>  

> @@ -1177,6 +1178,12 @@ enum v4l2_detect_md_mode {

>  #define V4L2_CID_DETECT_MD_THRESHOLD_GRID	(V4L2_CID_DETECT_CLASS_BASE + 3)

>  #define V4L2_CID_DETECT_MD_REGION_GRID		(V4L2_CID_DETECT_CLASS_BASE + 4)

>  

> +

> +/*  Stateless CODECs controls */

> +#define V4L2_CID_CODEC_STATELESS_BASE          (V4L2_CTRL_CLASS_CODEC_STATELESS | 0x900)

> +#define V4L2_CID_CODEC_STATELESS_CLASS         (V4L2_CTRL_CLASS_CODEC_STATELESS | 1)

> +

> +

>  /* MPEG-compression definitions kept for backwards compatibility */

>  #ifndef __KERNEL__

>  #define V4L2_CTRL_CLASS_MPEG            V4L2_CTRL_CLASS_CODEC

>
diff mbox series

Patch

diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index adcf47bddbe3..472b46e8290b 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -1181,6 +1181,10 @@  const char *v4l2_ctrl_get_name(u32 id)
 	case V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD: return "MD Global Threshold";
 	case V4L2_CID_DETECT_MD_THRESHOLD_GRID:	return "MD Threshold Grid";
 	case V4L2_CID_DETECT_MD_REGION_GRID:	return "MD Region Grid";
+
+	/* Codec controls */
+	/* Keep the order of the 'case's the same as in v4l2-controls.h! */
+	case V4L2_CID_CODEC_STATELESS_CLASS:	return "Stateless Codec Controls";
 	default:
 		return NULL;
 	}
@@ -1368,6 +1372,7 @@  void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
 	case V4L2_CID_FM_RX_CLASS:
 	case V4L2_CID_RF_TUNER_CLASS:
 	case V4L2_CID_DETECT_CLASS:
+	case V4L2_CID_CODEC_STATELESS_CLASS:
 		*type = V4L2_CTRL_TYPE_CTRL_CLASS;
 		/* You can neither read not write these */
 		*flags |= V4L2_CTRL_FLAG_READ_ONLY | V4L2_CTRL_FLAG_WRITE_ONLY;
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
index 75cf87b9a377..90478ecc2f81 100644
--- a/include/uapi/linux/v4l2-controls.h
+++ b/include/uapi/linux/v4l2-controls.h
@@ -65,6 +65,7 @@ 
 #define V4L2_CTRL_CLASS_FM_RX		0x00a10000	/* FM Receiver controls */
 #define V4L2_CTRL_CLASS_RF_TUNER	0x00a20000	/* RF tuner controls */
 #define V4L2_CTRL_CLASS_DETECT		0x00a30000	/* Detection controls */
+#define V4L2_CTRL_CLASS_CODEC_STATELESS 0x00a40000	/* Stateless codecs controls */
 
 /* User-class control IDs */
 
@@ -1177,6 +1178,12 @@  enum v4l2_detect_md_mode {
 #define V4L2_CID_DETECT_MD_THRESHOLD_GRID	(V4L2_CID_DETECT_CLASS_BASE + 3)
 #define V4L2_CID_DETECT_MD_REGION_GRID		(V4L2_CID_DETECT_CLASS_BASE + 4)
 
+
+/*  Stateless CODECs controls */
+#define V4L2_CID_CODEC_STATELESS_BASE          (V4L2_CTRL_CLASS_CODEC_STATELESS | 0x900)
+#define V4L2_CID_CODEC_STATELESS_CLASS         (V4L2_CTRL_CLASS_CODEC_STATELESS | 1)
+
+
 /* MPEG-compression definitions kept for backwards compatibility */
 #ifndef __KERNEL__
 #define V4L2_CTRL_CLASS_MPEG            V4L2_CTRL_CLASS_CODEC