Hi Tomasz, On 2019-08-15 12:14, Tomasz Figa wrote: > Hi Hans, > > On Mon, Aug 12, 2019 at 8:05 PM Hans Verkuil <hverkuil-cisco@xxxxxxxxx> wrote: >> From: Maxime Jourdan <mjourdan@xxxxxxxxxxxx> >> >> Tag all the coded formats where the s5p_mfc decoder supports dynamic >> resolution switching or has a bytestream parser. >> > I believe it depends on the MFC hardware version. v5 might have some > additional restrictions. > > Let me add some more folks to figure out. IIRC MFC v5 also supported resolution change. >> Signed-off-by: Maxime Jourdan <mjourdan@xxxxxxxxxxxx> >> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> >> [hverkuil-cisco@xxxxxxxxx: 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 >> > Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland