media: allegro: initialize bitrate using v4l2_ctrl
authorMichael Tretter <m.tretter@pengutronix.de>
Thu, 3 Dec 2020 11:00:57 +0000 (12:00 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 27 Jan 2021 15:07:05 +0000 (16:07 +0100)
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: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/allegro-dvt/allegro-core.c

index a9a9e9bb04015b7cf8c00e7c04cebe3178ad7ca4..64cbd4f2c371d81a40466adac56214242e35ef25 100644 (file)
@@ -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,