This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: mediatek: vcodec: Report supported bitrate modes
Author:  Hirokazu Honda <[email protected]>
Date:    Wed Jun 22 09:36:24 2022 +0100

The media driver supports constant bitrate mode only.
The supported rate control mode is reported through querymenu() and
s_ctrl() fails if non constant bitrate mode (e.g. VBR) is requested.

Signed-off-by: Hirokazu Honda <[email protected]>
Reviewed-by: Irui Wang <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

---

diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c 
b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
index d1211a675c33..ccc753074816 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
@@ -50,6 +50,14 @@ static int vidioc_venc_s_ctrl(struct v4l2_ctrl *ctrl)
        int ret = 0;
 
        switch (ctrl->id) {
+       case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
+               mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_BITRATE_MODE val= %d",
+                              ctrl->val);
+               if (ctrl->val != V4L2_MPEG_VIDEO_BITRATE_MODE_CBR) {
+                       mtk_v4l2_err("Unsupported bitrate mode =%d", ctrl->val);
+                       ret = -EINVAL;
+               }
+               break;
        case V4L2_CID_MPEG_VIDEO_BITRATE:
                mtk_v4l2_debug(2, "V4L2_CID_MPEG_VIDEO_BITRATE val = %d",
                               ctrl->val);
@@ -1392,6 +1400,9 @@ int mtk_vcodec_enc_ctrls_setup(struct mtk_vcodec_ctx *ctx)
                               0, V4L2_MPEG_VIDEO_H264_LEVEL_4_0);
        v4l2_ctrl_new_std_menu(handler, ops, V4L2_CID_MPEG_VIDEO_VP8_PROFILE,
                               V4L2_MPEG_VIDEO_VP8_PROFILE_0, 0, 
V4L2_MPEG_VIDEO_VP8_PROFILE_0);
+       v4l2_ctrl_new_std_menu(handler, ops, V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
+                              V4L2_MPEG_VIDEO_BITRATE_MODE_CBR,
+                              0, V4L2_MPEG_VIDEO_BITRATE_MODE_CBR);
 
 
        if (handler->error) {

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to