Re: [PATCH] media: venus: support frame rate control
From: Jeffrey Kardatzke
Date: Tue Feb 18 2020 - 14:10:01 EST
Sorry for the duplicate, accidentally used HTML format and it got
bounced from the mailing lists so resending.
On Mon, Feb 17, 2020 at 2:15 AM Stanimir Varbanov
> Hi Jeff,
> Thanks for the patch!
> On 2/13/20 11:30 PM, Jeffrey Kardatzke wrote:
> > Frame rate control is always enabled in this driver, so make it silently
> > support the V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE.
> > Signed-off-by: Jeffrey Kardatzke <jkardatzke@xxxxxxxxxx>
> > ---
> > drivers/media/platform/qcom/venus/venc_ctrls.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> > diff --git a/drivers/media/platform/qcom/venus/venc_ctrls.c b/drivers/media/platform/qcom/venus/venc_ctrls.c
> > index 877c0b3299e9..9ede692f77c5 100644
> > --- a/drivers/media/platform/qcom/venus/venc_ctrls.c
> > +++ b/drivers/media/platform/qcom/venus/venc_ctrls.c
> > @@ -199,6 +199,9 @@ static int venc_op_s_ctrl(struct v4l2_ctrl *ctrl)
> > }
> > mutex_unlock(&inst->lock);
> > break;
> > + case V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE:
> > + // Silently ignore, it's always enabled.
> Please, use C comments and follow the kernel coding style.
OK, hopefully I've got that now. I didn't see any issues aside from
the comment style though.
I'll upload a new patch shortly.
> I wonder shouldn't it be better to add rc_enable field in struct
> venc_controls and give the user choice to disable the rate control? We
> can keep the default to be "enabled".
That'd be fine. Is there a way to actually disable the rate control though?
> > + break;
> > default:
> > return -EINVAL;
> > }
> > @@ -351,6 +354,9 @@ int venc_ctrl_init(struct venus_inst *inst)
> > v4l2_ctrl_new_std(&inst->ctrl_handler, &venc_ctrl_ops,
> > V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME, 0, 0, 0, 0);
> > + v4l2_ctrl_new_std(&inst->ctrl_handler, &venc_ctrl_ops,
> > + V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE, 0, 1, 1, 1);
> > +
> you forgot to increment the number of controls in the call to
> > ret = inst->ctrl_handler.error;
> > if (ret)
> > goto err;