Messages in this thread | | | Date | Sun, 26 Feb 2023 09:59:54 -0300 | From | Ezequiel Garcia <> | Subject | Re: [PATCH v9 5/6] media: verisilicon: HEVC: Only propose 10 bits compatible pixels formats |
| |
On Mon, Feb 20 2023 at 11:48:48 AM +0100, Benjamin Gaignard <benjamin.gaignard@collabora.com> wrote: > When decoding a 10bits bitstreams HEVC driver should only expose > 10bits pixel formats. > To fulfill this requirement it is needed to call > hantro_reset_raw_fmt() > when bit depth change and to correctly set match_depth in pixel > formats > enumeration. > > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> > Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> --- > version 9: > - Fix brackets > > drivers/media/platform/verisilicon/hantro_drv.c | 12 +++++++++--- > drivers/media/platform/verisilicon/imx8m_vpu_hw.c | 2 ++ > 2 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/platform/verisilicon/hantro_drv.c > b/drivers/media/platform/verisilicon/hantro_drv.c > index c237253803f4..7d452f1afaae 100644 > --- a/drivers/media/platform/verisilicon/hantro_drv.c > +++ b/drivers/media/platform/verisilicon/hantro_drv.c > @@ -325,9 +325,15 @@ static int hantro_hevc_s_ctrl(struct v4l2_ctrl > *ctrl) > struct hantro_ctx, ctrl_handler); > > switch (ctrl->id) { > - case V4L2_CID_STATELESS_HEVC_SPS: > - ctx->bit_depth = ctrl->p_new.p_hevc_sps->bit_depth_luma_minus8 + 8; > - break; > + case V4L2_CID_STATELESS_HEVC_SPS: { > + const struct v4l2_ctrl_hevc_sps *sps = ctrl->p_new.p_hevc_sps; > + int bit_depth = sps->bit_depth_luma_minus8 + 8; > + > + if (ctx->bit_depth == bit_depth) > + return 0; > + > + return hantro_reset_raw_fmt(ctx, bit_depth); > + } > default: > return -EINVAL; > } > diff --git a/drivers/media/platform/verisilicon/imx8m_vpu_hw.c > b/drivers/media/platform/verisilicon/imx8m_vpu_hw.c > index b390228fd3b4..f850d8bddef6 100644 > --- a/drivers/media/platform/verisilicon/imx8m_vpu_hw.c > +++ b/drivers/media/platform/verisilicon/imx8m_vpu_hw.c > @@ -152,6 +152,7 @@ static const struct hantro_fmt > imx8m_vpu_g2_postproc_fmts[] = { > { > .fourcc = V4L2_PIX_FMT_NV12, > .codec_mode = HANTRO_MODE_NONE, > + .match_depth = true, > .postprocessed = true, > .frmsize = { > .min_width = FMT_MIN_WIDTH, > @@ -165,6 +166,7 @@ static const struct hantro_fmt > imx8m_vpu_g2_postproc_fmts[] = { > { > .fourcc = V4L2_PIX_FMT_P010, > .codec_mode = HANTRO_MODE_NONE, > + .match_depth = true, > .postprocessed = true, > .frmsize = { > .min_width = FMT_MIN_WIDTH, > -- > 2.34.1 >
| |