media: mediatek: vcodec: Report supported bitrate modes
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 <hiroh@chromium.org> Reviewed-by: Irui Wang <irui.wang@mediatek.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
c2cc2aa1d0
commit
d8e8aa866e
1 changed files with 11 additions and 0 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Reference in a new issue