Skip to content

Commit 99b05ce

Browse files
trettermchehab
authored andcommitted
media: allegro: activate v4l2-ctrls only for current codec
These controls are specific to H.264 and shall only be activated, if the coded format is H.264. Signed-off-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
1 parent be7f41f commit 99b05ce

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

drivers/media/platform/allegro-dvt/allegro-core.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2105,6 +2105,7 @@ static int allegro_create_channel(struct allegro_channel *channel)
21052105
static void allegro_channel_adjust(struct allegro_channel *channel)
21062106
{
21072107
struct allegro_dev *dev = channel->dev;
2108+
u32 codec = channel->codec;
21082109
struct v4l2_ctrl *ctrl;
21092110
s64 min;
21102111
s64 max;
@@ -2140,6 +2141,21 @@ static void allegro_channel_adjust(struct allegro_channel *channel)
21402141
ctrl->step, ctrl->default_value);
21412142
v4l2_ctrl_unlock(ctrl);
21422143

2144+
v4l2_ctrl_activate(channel->mpeg_video_h264_profile,
2145+
codec == V4L2_PIX_FMT_H264);
2146+
v4l2_ctrl_activate(channel->mpeg_video_h264_level,
2147+
codec == V4L2_PIX_FMT_H264);
2148+
v4l2_ctrl_activate(channel->mpeg_video_h264_i_frame_qp,
2149+
codec == V4L2_PIX_FMT_H264);
2150+
v4l2_ctrl_activate(channel->mpeg_video_h264_max_qp,
2151+
codec == V4L2_PIX_FMT_H264);
2152+
v4l2_ctrl_activate(channel->mpeg_video_h264_min_qp,
2153+
codec == V4L2_PIX_FMT_H264);
2154+
v4l2_ctrl_activate(channel->mpeg_video_h264_p_frame_qp,
2155+
codec == V4L2_PIX_FMT_H264);
2156+
v4l2_ctrl_activate(channel->mpeg_video_h264_b_frame_qp,
2157+
codec == V4L2_PIX_FMT_H264);
2158+
21432159
channel->log2_max_frame_num = LOG2_MAX_FRAME_NUM;
21442160
channel->temporal_mvp_enable = true;
21452161

0 commit comments

Comments
 (0)