mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-25 03:55:09 +08:00
media: allegro: correctly scale the bit rate in SPS
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 <m.tretter@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
c0a3753c5a
commit
89091e1246
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user