Message ID | 20200821103608.2310097-17-acourbot@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: mtk-vcodec: venc: support for MT8183 | expand |
On Fri, 2020-08-21 at 19:36 +0900, Alexandre Courbot wrote: > The time per frame was left initialized to 0/0, which make the driver > fail v4l2-compliance, and also leaves it potentially exposed to doing a > division by zero. > Acked-by: Tiffany Lin <tiffany.lin@mediatek.com> > Signed-off-by: Alexandre Courbot <acourbot@chromium.org> > --- > drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > index 1b79185cf922..09baac2dbc36 100644 > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c > @@ -24,6 +24,9 @@ > #define DFT_CFG_HEIGHT MTK_VENC_MIN_H > #define MTK_MAX_CTRLS_HINT 20 > > +#define MTK_DEFAULT_FRAMERATE_NUM 1001 > +#define MTK_DEFAULT_FRAMERATE_DENOM 30000 > + > static void mtk_venc_worker(struct work_struct *work); > > static const struct v4l2_frmsize_stepwise mtk_venc_framesizes = { > @@ -1197,6 +1200,8 @@ void mtk_vcodec_enc_set_default_params(struct mtk_vcodec_ctx *ctx) > DFT_CFG_WIDTH * DFT_CFG_HEIGHT; > ctx->q_data[MTK_Q_DATA_DST].bytesperline[0] = 0; > > + ctx->enc_params.framerate_num = MTK_DEFAULT_FRAMERATE_NUM; > + ctx->enc_params.framerate_denom = MTK_DEFAULT_FRAMERATE_DENOM; > } > > int mtk_vcodec_enc_ctrls_setup(struct mtk_vcodec_ctx *ctx)
diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c index 1b79185cf922..09baac2dbc36 100644 --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c @@ -24,6 +24,9 @@ #define DFT_CFG_HEIGHT MTK_VENC_MIN_H #define MTK_MAX_CTRLS_HINT 20 +#define MTK_DEFAULT_FRAMERATE_NUM 1001 +#define MTK_DEFAULT_FRAMERATE_DENOM 30000 + static void mtk_venc_worker(struct work_struct *work); static const struct v4l2_frmsize_stepwise mtk_venc_framesizes = { @@ -1197,6 +1200,8 @@ void mtk_vcodec_enc_set_default_params(struct mtk_vcodec_ctx *ctx) DFT_CFG_WIDTH * DFT_CFG_HEIGHT; ctx->q_data[MTK_Q_DATA_DST].bytesperline[0] = 0; + ctx->enc_params.framerate_num = MTK_DEFAULT_FRAMERATE_NUM; + ctx->enc_params.framerate_denom = MTK_DEFAULT_FRAMERATE_DENOM; } int mtk_vcodec_enc_ctrls_setup(struct mtk_vcodec_ctx *ctx)
The time per frame was left initialized to 0/0, which make the driver fail v4l2-compliance, and also leaves it potentially exposed to doing a division by zero. Signed-off-by: Alexandre Courbot <acourbot@chromium.org> --- drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c | 5 +++++ 1 file changed, 5 insertions(+)