This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: allegro: correctly scale the bit rate in SPS
Author:  Michael Tretter <[email protected]>
Date:    Wed Sep 8 14:03:51 2021 +0100

The bit rate in the SPS can be scaled by an exponent, which allows to
reduce the number of bits in the SPS in case of high bit rates.

The driver did not scale the bitrate, but used a scaling exponent of 0.
Fix this by properly calculating the scaling factor and writing the bit
rate as value and scaling factor into the SPS.

Signed-off-by: Michael Tretter <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/platform/allegro-dvt/allegro-core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---

diff --git a/drivers/media/platform/allegro-dvt/allegro-core.c 
b/drivers/media/platform/allegro-dvt/allegro-core.c
index 52924ce142cc..777cbc526ae3 100644
--- a/drivers/media/platform/allegro-dvt/allegro-core.c
+++ b/drivers/media/platform/allegro-dvt/allegro-core.c
@@ -1639,8 +1639,9 @@ static ssize_t allegro_h264_write_sps(struct 
allegro_channel *channel,
        sps->vui.nal_hrd_parameters_present_flag = 0;
        sps->vui.vcl_hrd_parameters_present_flag = 1;
        sps->vui.vcl_hrd_parameters.cpb_cnt_minus1 = 0;
-       sps->vui.vcl_hrd_parameters.bit_rate_scale = 0;
        /* See Rec. ITU-T H.264 (04/2017) p. 410 E-53 */
+       sps->vui.vcl_hrd_parameters.bit_rate_scale =
+               ffs(channel->bitrate_peak) - 6;
        sps->vui.vcl_hrd_parameters.bit_rate_value_minus1[0] =
                channel->bitrate_peak / (1 << (6 + 
sps->vui.vcl_hrd_parameters.bit_rate_scale)) - 1;
        /* See Rec. ITU-T H.264 (04/2017) p. 410 E-54 */

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to