Commit 2e3917e6 authored by Michael Tretter's avatar Michael Tretter Committed by Mauro Carvalho Chehab
Browse files

media: allegro: initialize bitrate using v4l2_ctrl



As the driver now uses the v4l2-ctrls to setup the channel, there is no
need to explicitly set the bitrate. The initial bitrate is now set via
the same path as if it is set from userspace using the v4l2-ctrl.

Signed-off-by: default avatarMichael Tretter <m.tretter@pengutronix.de>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 21de56fa
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -2132,8 +2132,6 @@ static void allegro_set_default_params(struct allegro_channel *channel)
	channel->level =
		select_minimum_h264_level(channel->width, channel->height);

	channel->bitrate = maximum_bitrate(channel->level);
	channel->bitrate_peak = maximum_bitrate(channel->level);
	channel->cpb_size = maximum_cpb_size(channel->level);
	channel->gop_size = ALLEGRO_GOP_SIZE_DEFAULT;
}
@@ -2421,6 +2419,8 @@ static int allegro_open(struct file *file)
	struct v4l2_ctrl_handler *handler;
	u64 mask;
	int ret;
	unsigned int bitrate_max;
	unsigned int bitrate_def;

	channel = kzalloc(sizeof(*channel), GFP_KERNEL);
	if (!channel)
@@ -2486,16 +2486,17 @@ static int allegro_open(struct file *file)
			V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
			V4L2_MPEG_VIDEO_BITRATE_MODE_CBR, 0,
			V4L2_MPEG_VIDEO_BITRATE_MODE_CBR);

	bitrate_max = maximum_bitrate(V4L2_MPEG_VIDEO_H264_LEVEL_5_1);
	bitrate_def = maximum_bitrate(V4L2_MPEG_VIDEO_H264_LEVEL_5_1);
	channel->mpeg_video_bitrate = v4l2_ctrl_new_std(handler,
			&allegro_ctrl_ops,
			V4L2_CID_MPEG_VIDEO_BITRATE,
			0, maximum_bitrate(V4L2_MPEG_VIDEO_H264_LEVEL_5_1),
			1, channel->bitrate);
			0, bitrate_max, 1, bitrate_def);
	channel->mpeg_video_bitrate_peak = v4l2_ctrl_new_std(handler,
			&allegro_ctrl_ops,
			V4L2_CID_MPEG_VIDEO_BITRATE_PEAK,
			0, maximum_bitrate(V4L2_MPEG_VIDEO_H264_LEVEL_5_1),
			1, channel->bitrate_peak);
			0, bitrate_max, 1, bitrate_def);
	channel->mpeg_video_cpb_size = v4l2_ctrl_new_std(handler,
			&allegro_ctrl_ops,
			V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE,