Message ID | 20230103170058.810597-1-benjamin.gaignard@collabora.com |
---|---|
Headers | show |
Series | AV1 stateless decoder for RK3588 | expand |
Hi Benjamin, Thanks for the patch. On Tue, Jan 3, 2023 at 2:01 PM Benjamin Gaignard <benjamin.gaignard@collabora.com> wrote: > > The driver supports 8 and 10 bits bitstreams, make sure to discard > other cases. > > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> > --- > drivers/media/platform/verisilicon/hantro_drv.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c > index 8e93710dcfed..16539e89935c 100644 > --- a/drivers/media/platform/verisilicon/hantro_drv.c > +++ b/drivers/media/platform/verisilicon/hantro_drv.c > @@ -282,7 +282,13 @@ static int hantro_try_ctrl(struct v4l2_ctrl *ctrl) > /* We only support profile 0 */ > if (dec_params->profile != 0) > return -EINVAL; > + } else if (ctrl->id == V4L2_CID_STATELESS_AV1_SEQUENCE) { > + const struct v4l2_ctrl_av1_sequence *sequence = ctrl->p_new.p_av1_sequence; > + > + if (sequence->bit_depth != 8 && sequence->bit_depth != 10) > + return -EINVAL; > } > + > return 0; > } > > @@ -333,7 +339,13 @@ static int hantro_av1_s_ctrl(struct v4l2_ctrl *ctrl) > > switch (ctrl->id) { > case V4L2_CID_STATELESS_AV1_SEQUENCE: > - ctx->bit_depth = ctrl->p_new.p_av1_sequence->bit_depth; > + int bit_depth = ctrl->p_new.p_av1_sequence->bit_depth; > + > + if (vb2_is_streaming(v4l2_m2m_get_src_vq(ctx->fh.m2m_ctx))) > + if (ctx->bit_depth != bit_depth) > + return -EINVAL; > + Please use the v4l2_ctrl_grab API. Can you send a separate series to address this for the other codecs? Thanks a lot! Ezequiel > + ctx->bit_depth = bit_depth; > break; > default: > return -EINVAL; > -- > 2.34.1 >