guard against space/time distortion
and divide by 0 errors Change-Id: I8af5ca3d0913cb6f278fff754f8772bcb62e674a
This commit is contained in:
parent
dc004e8c17
commit
bb0ca87a0d
5
vpxenc.c
5
vpxenc.c
@ -1342,6 +1342,8 @@ static void update_rate_histogram(struct rate_hist *hist,
|
||||
if(now < cfg->rc_buf_initial_sz)
|
||||
return;
|
||||
|
||||
then = now;
|
||||
|
||||
/* Sum the size over the past rc_buf_sz ms */
|
||||
for(i = hist->frames; i > 0; i--)
|
||||
{
|
||||
@ -1353,6 +1355,9 @@ static void update_rate_histogram(struct rate_hist *hist,
|
||||
sum_sz += hist->sz[i_idx];
|
||||
}
|
||||
|
||||
if (now == then)
|
||||
return;
|
||||
|
||||
avg_bitrate = sum_sz * 8 * 1000 / (now - then);
|
||||
idx = avg_bitrate * (RATE_BINS/2) / (cfg->rc_target_bitrate * 1000);
|
||||
if(idx < 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user