media: s5p_mfc_dec: set flags for OUTPUT coded formats
authorMaxime Jourdan <mjourdan@baylibre.com>
Thu, 15 Aug 2019 14:44:48 +0000 (16:44 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Wed, 16 Feb 2022 08:01:14 +0000 (09:01 +0100)
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>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/s5p-mfc/s5p_mfc_common.h
drivers/media/platform/s5p-mfc/s5p_mfc_dec.c

index c3ef4f6..5304f42 100644 (file)
@@ -732,6 +732,7 @@ struct s5p_mfc_fmt {
        enum s5p_mfc_fmt_type type;
        u32 num_planes;
        u32 versions;
+       u32 flags;
 };
 
 /*
index c1d3bda..c079881 100644 (file)
@@ -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,
        },
 };