From 2fc29ef598b98915ddc698c998cc33c4530b84c8 Mon Sep 17 00:00:00 2001 From: Michael Tretter Date: Mon, 16 Mar 2020 16:26:25 +0100 Subject: [PATCH] media: allegro: start a GOP with an IDR frame When creating a channel, freq_idr defines the number of frames between IDR frames in the coded stream. In V4L2, the period between IDR frames shall be taken from the GOP_SIZE control. Set the IDR frame frequency equal to the GOP size and let every GOP start with an IDR frame. Signed-off-by: Michael Tretter Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- drivers/staging/media/allegro-dvt/allegro-core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/media/allegro-dvt/allegro-core.c b/drivers/staging/media/allegro-dvt/allegro-core.c index 62ba9ba..3b2e970 100644 --- a/drivers/staging/media/allegro-dvt/allegro-core.c +++ b/drivers/staging/media/allegro-dvt/allegro-core.c @@ -390,7 +390,7 @@ struct mcu_msg_create_channel { /* gop param */ u32 gop_ctrl_mode; - u32 freq_ird; + u32 freq_idr; u32 freq_lt; u32 gdr_mode; u16 gop_length; @@ -1115,7 +1115,7 @@ static int allegro_mcu_send_create_channel(struct allegro_dev *dev, msg.rate_control_option = 0x00000000; msg.gop_ctrl_mode = 0x00000000; - msg.freq_ird = 0x7fffffff; + msg.freq_idr = channel->gop_size; msg.freq_lt = 0; msg.gdr_mode = 0x00000000; msg.gop_length = channel->gop_size; -- 2.7.4