Closed GoogleCodeExporter closed 9 years ago
Original comment by iss...@webmproject.org
on 12 Aug 2011 at 7:50
Hello,
As shown in backtrace, this issue is due to a division by zero in function
'update_buffer_level' in file 'vp8/encoder/onyx_if.c' line 3250 :
" cpi->buffered_av_per_frame_bandwidth = tmp
/ cpi->oxcf.maximum_buffer_size;"
'update_buffer_level' function is new compared to version 0.9.6.
This value comes from 'bitrate' parameter on 'vp8enc' GStreamer element.
By passing a non-zero value to 'bitrate', this issue doesn't appear anymore.
Default initialization of the 'maximum_buffer_size' parameter is done into file
'vp8/vp8_cx_iface.c' :
Line 1129 : default value of 'cfg->rc_buf_sz' is 6000
Line 320 : default value of 'oxcf->maximum_buffer_size' is set to
'cfg->rc_buf_sz'
Line 309 : default value of 'oxcf->target_bandwidth' is set to
'cfg->rc_target_bitrate'
Use of 'maximum_buffer_size' parameter is done into file
'vp8/encoder/onyx_if.c' :
Line 1623 (if cpi->oxcf.end_usage == USAGE_LOCAL_FILE_PLAYBACK):
'cpi->oxcf.maximum_buffer_size' grows to 240000
Line 1644 : cpi->oxcf.maximum_buffer_size =
rescale(cpi->oxcf.maximum_buffer_size, cpi->oxcf.target_bandwidth, 1000);
With rescale (a, b, c) = (a * b) / c, at that moment,
'cpi->oxcf.maximum_buffer_size' is equal to zero.
As a result, in file 'vp8/encoder/onyx_if.c' line 3250,
"cpi->oxcf.maximum_buffer_size" is equals to zero that results a division by
zero.
Original comment by sestegra
on 13 Aug 2011 at 5:09
Which bitrate should be set instead of 0 if only the min/max quantizer settings
should be taken into account and no bitrate should be targeted?
Original comment by sl...@coaxion.net
on 15 Aug 2011 at 6:23
Offending code was removed in v0.9.7-p1 release.
Original comment by slavarn...@google.com
on 16 Aug 2011 at 1:20
Original issue reported on code.google.com by
sl...@coaxion.net
on 12 Aug 2011 at 7:43