Message ID | 20190815144456.54583-5-hverkuil-cisco@xs4all.nl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Stateful/stateless codec core support | expand |
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 --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, }, };