diff mbox series

[PATCHv3,04/12] media: s5p_mfc_dec: set flags for OUTPUT coded formats

Message ID 20190815144456.54583-5-hverkuil-cisco@xs4all.nl (mailing list archive)
State New, archived
Headers show
Series Stateful/stateless codec core support | expand

Commit Message

Hans Verkuil Aug. 15, 2019, 2:44 p.m. UTC
From: Maxime Jourdan <mjourdan@baylibre.com>

Tag all the coded formats where the s5p_mfc decoder supports dynamic
resolution switching or has a bytestream parser.

Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
---
 .../media/platform/s5p-mfc/s5p_mfc_common.h    |  1 +
 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c   | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+)

Comments

Hans Verkuil Jan. 28, 2022, 10:10 a.m. UTC | #1
Hi all,

I'm going through a bunch of (very) old patches in my patchwork TODO list
that for one reason or another I never processed. This patch is one of
them. I'd like to merge this if there are no objections.

Regards,

	Hans

On 15/08/2019 16:44, Hans Verkuil wrote:
> From: Maxime Jourdan <mjourdan@baylibre.com>
> 
> Tag all the coded formats where the s5p_mfc decoder supports dynamic
> resolution switching or has a bytestream parser.
> 
> Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
> Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> ---
>  .../media/platform/s5p-mfc/s5p_mfc_common.h    |  1 +
>  drivers/media/platform/s5p-mfc/s5p_mfc_dec.c   | 18 ++++++++++++++++++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> index 96d1ecd1521b..31b133af91eb 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> @@ -723,6 +723,7 @@ struct s5p_mfc_fmt {
>  	enum s5p_mfc_fmt_type type;
>  	u32 num_planes;
>  	u32 versions;
> +	u32 flags;
>  };
>  
>  /**
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> index 61e144a35201..1423c33c70cb 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> @@ -62,6 +62,8 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V5PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
> +				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_H264_MVC,
> @@ -69,6 +71,8 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V6PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
> +				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_H263,
> @@ -76,6 +80,7 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V5PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_MPEG1,
> @@ -83,6 +88,8 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V5PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
> +				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_MPEG2,
> @@ -90,6 +97,8 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V5PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
> +				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_MPEG4,
> @@ -97,6 +106,8 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V5PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
> +				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_XVID,
> @@ -104,6 +115,7 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V5PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_VC1_ANNEX_G,
> @@ -111,6 +123,7 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V5PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_VC1_ANNEX_L,
> @@ -118,6 +131,7 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V5PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_VP8,
> @@ -125,6 +139,7 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V6PLUS_BITS,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_HEVC,
> @@ -132,6 +147,8 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V10_BIT,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
> +				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
>  	},
>  	{
>  		.fourcc		= V4L2_PIX_FMT_VP9,
> @@ -139,6 +156,7 @@ static struct s5p_mfc_fmt formats[] = {
>  		.type		= MFC_FMT_DEC,
>  		.num_planes	= 1,
>  		.versions	= MFC_V10_BIT,
> +		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
>  	},
>  };
>
diff mbox series

Patch

diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
index 96d1ecd1521b..31b133af91eb 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
@@ -723,6 +723,7 @@  struct s5p_mfc_fmt {
 	enum s5p_mfc_fmt_type type;
 	u32 num_planes;
 	u32 versions;
+	u32 flags;
 };
 
 /**
diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
index 61e144a35201..1423c33c70cb 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
@@ -62,6 +62,8 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V5PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
+				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_H264_MVC,
@@ -69,6 +71,8 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V6PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
+				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_H263,
@@ -76,6 +80,7 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V5PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_MPEG1,
@@ -83,6 +88,8 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V5PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
+				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_MPEG2,
@@ -90,6 +97,8 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V5PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
+				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_MPEG4,
@@ -97,6 +106,8 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V5PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
+				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_XVID,
@@ -104,6 +115,7 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V5PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_VC1_ANNEX_G,
@@ -111,6 +123,7 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V5PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_VC1_ANNEX_L,
@@ -118,6 +131,7 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V5PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_VP8,
@@ -125,6 +139,7 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V6PLUS_BITS,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_HEVC,
@@ -132,6 +147,8 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V10_BIT,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION |
+				  V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM,
 	},
 	{
 		.fourcc		= V4L2_PIX_FMT_VP9,
@@ -139,6 +156,7 @@  static struct s5p_mfc_fmt formats[] = {
 		.type		= MFC_FMT_DEC,
 		.num_planes	= 1,
 		.versions	= MFC_V10_BIT,
+		.flags		= V4L2_FMT_FLAG_DYN_RESOLUTION,
 	},
 };