From: Maxime Jourdan <mjour...@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 <mjour...@baylibre.com>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>
[hverkuil-ci...@xs4all.nl: added CONTINUOUS_BYTESTREAM]
---
 .../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,
        },
 };
 
-- 
2.20.1

Reply via email to